A B C D E F G H I J L M N O P R S T U V W X Z 
All Classes All Packages

A

add(ByteArrayReseedableRandom...) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
add(Collection<? extends ByteArrayReseedableRandom>) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
add(Random...) - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
Adds Random instances.
addInto(byte[], byte[]) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
counter += delta.
addInto(byte[], long) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
counter += delta
addLegacyRandoms(Collection<? extends Random>) - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
Adds Random instances.
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.adapter.DirectSplittableRandomAdapter
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Adds the fields that were not inherited from BaseRandom to the given MoreObjects.ToStringHelper for dumping.
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.XorShiftRandom
 
advance(long) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
 
advance(long) - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
advance(long) - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
advance(long) - Method in interface io.github.pr0methean.betterrandom.SeekableRandom
Advances the generator forward delta steps, but does so in logarithmic time.
advance(long, long) - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
Advances the generator forward highDelta << 64 + lowDelta steps, but does so in logarithmic time.
AesCounterRandom - Class in io.github.pr0methean.betterrandom.prng
CipherCounterRandom using AES (Rijndael).
AesCounterRandom() - Constructor for class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Creates a new RNG and seeds it using 256 bits from the DefaultSeedGenerator.
AesCounterRandom(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Creates an RNG and seeds it with the specified seed data.
AesCounterRandom(int) - Constructor for class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Seed the RNG using the DefaultSeedGenerator to create a seed of the specified size.
AesCounterRandom(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Seed the RNG using the provided seed generation strategy to create a 256-bit seed.

B

BaseRandom - Class in io.github.pr0methean.betterrandom.prng
Abstract Random with a seed field and an implementation of entropy counting.
BaseRandom(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.BaseRandom
Creates a new RNG with the provided seed.
BaseRandom(int) - Constructor for class io.github.pr0methean.betterrandom.prng.BaseRandom
Seed the RNG using the DefaultSeedGenerator to create a seed of the specified size.
BaseRandom(long) - Constructor for class io.github.pr0methean.betterrandom.prng.BaseRandom
Creates a new RNG with the provided seed.
BaseRandom(SeedGenerator, int) - Constructor for class io.github.pr0methean.betterrandom.prng.BaseRandom
Creates a new RNG and seeds it using the provided seed generation strategy.
BaseSplittableRandomAdapter - Class in io.github.pr0methean.betterrandom.prng.adapter
Abstract class for implementations of BaseRandom that wrap one or more SplittableRandom instances.
BaseSplittableRandomAdapter(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Constructs an instance with the given seed.
BaseSplittableRandomAdapter(long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Constructs an instance with the given seed.
BinaryUtils - Enum in io.github.pr0methean.betterrandom.util
Utility methods for working with binary and hex data.
BufferedSeedGenerator - Class in io.github.pr0methean.betterrandom.seed
A seed generator that wraps another, maintaining a buffer of previously-fetched bytes to reduce the number of I/O calls.
BufferedSeedGenerator(SeedGenerator, int) - Constructor for class io.github.pr0methean.betterrandom.seed.BufferedSeedGenerator
Creates an instance.
Byte16ArrayArithmetic - Enum in io.github.pr0methean.betterrandom.util
Collection of arithmetic methods that treat byte[16] arrays as 128-bit unsigned integers.
byteArrayPrngs - Variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Holds ByteArrayReseedableRandom instances that should be reseeded when their entropy is low, or as often as possible if they don't implement EntropyCountingRandom.
byteArrayPrngsThisIteration - Variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Holds instances that are being reseeded during the current iteration, so that PRNGs can be added and removed in the middle of an iteration without the ConcurrentModificationException that would otherwise arise.
ByteArrayReseedableRandom - Interface in io.github.pr0methean.betterrandom
A Random that can be reseeded using a byte array instead of using Random.setSeed(long) (although that may also be supported).

C

checkLength(byte[], int) - Static method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Checks that the given seed is the expected length, then returns it.
checkMaxOutputAtOnce() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
Ensures that the attached PRNG can output 64 bits between reseedings, given that its current entropy is the maximum possible.
cipher - Variable in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
The AES cipher that will generate the pseudorandom numbers.
CipherCounterRandom - Class in io.github.pr0methean.betterrandom.prng
Non-linear random number generator based on a cipher that encrypts an incrementing counter.
CipherCounterRandom(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Creates an instance.
clear() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
clear() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Removes all PRNGs from this seeder.
Cmwc4096Random - Class in io.github.pr0methean.betterrandom.prng
A Java version of George Marsaglia's Complementary Multiply With Carry (CMWC) RNG.
Cmwc4096Random() - Constructor for class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
Creates a new RNG and seeds it using the default seeding strategy.
Cmwc4096Random(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
Creates an RNG and seeds it with the specified seed data.
Cmwc4096Random(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
Seed the RNG using the provided seed generation strategy.
convertBytesToHexString(byte[]) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Converts an array of bytes into a String of hexadecimal characters (0 - F).
convertBytesToInt(byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Take four bytes from the specified position in the specified block and convert them into a 32-bit int, using the big-endian convention.
convertBytesToInts(byte[]) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Convert an array of bytes into an array of ints.
convertBytesToLong(byte[]) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Convert a byte array to a long, reversing BinaryUtils.convertLongToBytes(long).
convertBytesToLong(byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Take eight bytes from the specified position in the specified block and convert them into a long, using the big-endian convention.
convertHexStringToBytes(String) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Converts a hexadecimal String (such as one generated by the BinaryUtils.convertBytesToHexString(byte[]) method) into an array of bytes.
convertIntToBytes(int) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Convert an int to an array of 4 bytes.
convertIntToBytes(int, byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Writes an int to 4 cells of a byte array.
convertLongToBytes(long) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Converts a long to an array of bytes.
convertLongToBytes(long, byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Unpacks a long into an existing byte array in big-endian order.
counter - Variable in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
The counter.
createCipher() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
createCipher() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Creates the cipher that CipherCounterRandom.doCipher(byte[], byte[]) will invoke.
createDelegate() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
 
createDelegate() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
Creates the delegate for the calling thread.
createHash() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
createHash() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the hash that will be used to combine seeds.
createSynchronizedWeakHashSet() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Creates and returns a thread-safe Set backed by a WeakHashMap.
creditEntropyForNewSeed(int) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Updates the entropy count to reflect a reseeding.
currentBlock - Variable in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
An array holding generated, encrypted bytes.

D

debitEntropy(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
debitEntropy(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
 
debitEntropy(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Must be redeclared in this package so that SplittableRandomAdapter can access it.
debitEntropy(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
debitEntropy(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
debitEntropy(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Record that entropy has been spent, and schedule a reseeding if this PRNG has now spent as much as it's been seeded with.
DEFAULT_INSTANCE - Static variable in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
The default instance.
DEFAULT_SEED_GENERATOR - io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Singleton instance.
DEFAULT_STOP_IF_EMPTY_FOR_NANOS - Static variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Default waiting time before an empty instance terminates if still empty.
DEFAULT_THREAD_FACTORY - Static variable in class io.github.pr0methean.betterrandom.util.Looper
Singleton-ization of Executors.defaultThreadFactory().
DefaultSeedGenerator - Enum in io.github.pr0methean.betterrandom.seed
Seed generator that is the default for the program where it is running.
DefaultThreadFactory(String) - Constructor for class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder.DefaultThreadFactory
Creates an instance with a reasonable default priority for most applications.
DefaultThreadFactory(String, int) - Constructor for class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder.DefaultThreadFactory
Creates an instance.
DELAYED_RETRY - io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Upon a failed request, this version of the client waits 10 seconds before trying again.
delegate - Variable in class io.github.pr0methean.betterrandom.prng.adapter.DirectSplittableRandomAdapter
The master SplittableRandom that will either be delegated to directly (see SingleThreadSplittableRandomAdapter or be split using SplittableRandom.split() (see SplittableRandomAdapter) and have the splits delegated to.
DEV_RANDOM_SEED_GENERATOR - io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Singleton instance.
DevRandomSeedGenerator - Enum in io.github.pr0methean.betterrandom.seed
RNG seed strategy that gets data from /dev/random on systems that provide it (e.g.
DirectSplittableRandomAdapter - Class in io.github.pr0methean.betterrandom.prng.adapter
Abstract subclass of BaseSplittableRandomAdapter where DirectSplittableRandomAdapter.setSeed(long) and BaseRandom.setSeed(byte[]) replace the SplittableRandom that's used in the context in which they are called.
DirectSplittableRandomAdapter(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.DirectSplittableRandomAdapter
Wraps a SplittableRandom with the specified seed.
DirectSplittableRandomAdapter(long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.DirectSplittableRandomAdapter
Wraps a SplittableRandom with the specified seed.
doCipher(byte[], byte[]) - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
doCipher(byte[], byte[]) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Executes the cipher.
doubles() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing an effectively unlimited number of pseudorandom doubles, each between 0.0 (inclusive) and 1.0 (exclusive).
doubles() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
doubles(double, double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing an effectively unlimited number of pseudorandom doubles, each conforming to the given origin (inclusive) and bound (exclusive).
doubles(double, double) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
doubles(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
doubles(long) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
doubles(long, double, double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing the given number of pseudorandom doubles, each conforming to the given origin (inclusive) and bound (exclusive).
doubles(long, double, double) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
dump() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
dump() - Method in interface io.github.pr0methean.betterrandom.util.Dumpable
Returns a String representing the state of this object for debugging purposes, including mutable state that Object.toString() usually doesn't return.
Dumpable - Interface in io.github.pr0methean.betterrandom.util
Object that can be dumped (written for debugging purposes to a more detailed string representation than what Object.toString() returns).

E

EMPTY_SEED - Static variable in interface io.github.pr0methean.betterrandom.seed.SeedGenerator
An empty byte array.
ENTROPY_OF_DOUBLE - Static variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
The number of pseudorandom bits in BaseRandom.nextDouble().
ENTROPY_OF_FLOAT - Static variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
The number of pseudorandom bits in BaseRandom.nextFloat().
entropyBits - Variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
Stores the entropy estimate backing BaseRandom.getEntropyBits().
EntropyBlockingRandomWrapper - Class in io.github.pr0methean.betterrandom.prng.adapter
A RandomWrapper with the additional property that it won't return any output that would take its entropy below a minimum amount, and will instead either wait to be reseeded by a SimpleRandomSeeder or, if none is installed, reseed itself on the calling thread with a SeedGenerator.
EntropyBlockingRandomWrapper(byte[], long, SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
EntropyBlockingRandomWrapper(long, long, SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
EntropyBlockingRandomWrapper(long, SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
EntropyBlockingRandomWrapper(Random, long, SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
EntropyBlockingSplittableRandomAdapter - Class in io.github.pr0methean.betterrandom.prng.adapter
A SplittableRandomAdapter that blocks waiting to be reseeded if its entropy drops too low.
EntropyBlockingSplittableRandomAdapter(SeedGenerator, SimpleRandomSeeder, long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
Creates an instance.
EntropyBlockingSplittableRandomAdapter(SimpleRandomSeeder, long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
Creates an instance.
EntropyCountingRandom - Interface in io.github.pr0methean.betterrandom
A Random that can track its inflow and outflow of entropy so we can determine when it needs reseeding again.
entropyOfInt(int, int) - Static method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Calculates the entropy in bits, rounded up, of a random int between origin (inclusive) and bound (exclusive).
entropyOfLong(long, long) - Static method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Calculates the entropy in bits, rounded up, of a random long between origin (inclusive) and bound (exclusive).
EntryPoint - Annotation Type in io.github.pr0methean.betterrandom.util
Marks a method or constructor, or the implicit constructor of the marked class, as an entry point, so that IntelliJ's code inspections won't decide it's unused.
equals(Object) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
 
equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder.DefaultThreadFactory
 
equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
 

F

factory - Variable in class io.github.pr0methean.betterrandom.util.Looper
The ThreadFactory used to create (and, if necessary, replace) the thread.
fallbackSetSeedIfInitialized() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Generates and sets a seed using the DefaultSeedGenerator.

G

gaussians() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing an effectively unlimited number of pseudorandom doubles that are normally distributed with mean 0.0 and standard deviation 1.0.
gaussians(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing the given number of pseudorandom doubles that are normally distributed with mean 0.0 and standard deviation 1.0.
generateSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.seed.BufferedSeedGenerator
 
generateSeed(byte[]) - Method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Generates a seed value for a random number generator in an existing array.
generateSeed(byte[]) - Method in enum io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
 
generateSeed(byte[]) - Method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
 
generateSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
 
generateSeed(byte[]) - Method in interface io.github.pr0methean.betterrandom.seed.SeedGenerator
Generates a seed value for a random number generator in an existing array.
generateSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
 
generateSeed(int) - Method in class io.github.pr0methean.betterrandom.seed.BufferedSeedGenerator
 
generateSeed(int) - Method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
 
generateSeed(int) - Method in enum io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Generates and returns a seed value for a random number generator as a new array.
generateSeed(int) - Method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
 
generateSeed(int) - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
Generates and returns a seed value for a random number generator as a new array.
generateSeed(int) - Method in interface io.github.pr0methean.betterrandom.seed.SeedGenerator
Generates and returns a seed value for a random number generator as a new array.
generateSeed(int) - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
 
get() - Static method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Returns the current delegate used by this class's singleton instance.
getBlocksAtOnce() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
getBlocksAtOnce() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns how many consecutive values of the counter are encrypted at once, in order to reduce the number of calls to Cipher methods.
getBytesAtOnce() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
getBytesAtOnce() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the number of random bytes that can be precalculated at once, which is normally getCounterSizeBytes() * getBlocksAtOnce().
getCounterSizeBytes() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
getCounterSizeBytes() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the length of the counter, which should equal the cipher's block size.
getEntropyBits() - Method in interface io.github.pr0methean.betterrandom.EntropyCountingRandom
Returns an estimate of the current amount of entropy.
getEntropyBits() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
getEntropyBits() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
getEntropyBits() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
getKeyLength(int) - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
getKeyLength(int) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the length of the key that should be extracted from a seed of a given length.
getMaxKeyLengthBytes() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Returns the maximum length in bytes of an AES key, which is Math.min(Cipher.getMaxAllowedKeyLength("AES/ECB/NoPadding") / 8, 32).
getMaxKeyLengthBytes() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the maximum length in bytes of a key for this PRNG's cipher.
getMaxTotalSeedLengthBytes() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
getMaxTotalSeedLengthBytes() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the maximum seed length, including both the cipher key and a new counter value.
getMinSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
getMinSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns the minimum seed length.
getNewSeedLength() - Method in interface io.github.pr0methean.betterrandom.ByteArrayReseedableRandom
Returns the preferred length of a new byte-array seed.
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Returns the only supported seed length.
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Returns the longest supported seed length.
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
 
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
Returns the only supported seed length.
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
Returns the only supported seed length.
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
getNewSeedLength() - Method in class io.github.pr0methean.betterrandom.prng.XorShiftRandom
 
getRandomSeeder() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
 
getRandomSeeder() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
getRandomSeeder() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns the current seed generator for this PRNG.
getSameThreadSeedGen() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
Returns the calling thread's seed, not the master seed.
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Returns the wrapped PRNG's seed, if we know it.
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
getSeed() - Method in class io.github.pr0methean.betterrandom.prng.XorShiftRandom
 
getSeed() - Method in interface io.github.pr0methean.betterrandom.RepeatableRandom
Returns the seed.
getSeedGenerator() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Returns the SeedGenerator this seeder uses.
getSplittableRandom() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Returns the SplittableRandom that is to be used to generate random numbers for the current thread.
getSplittableRandom() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
 
getSplittableRandom() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Returns this SingleThreadSplittableRandomAdapter's only SplittableRandom.
getSplittableRandom() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
getWrapped() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Returns the PRNG this RandomWrapper is currently wrapping.
getWrapped() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 

H

hashCode() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
hashCode() - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
 
hashCode() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder.DefaultThreadFactory
 
hashCode() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
 

I

index - Variable in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
The offset in CipherCounterRandom.currentBlock to draw output from.
initTransientFields() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Called in constructor and readObject to initialize transient fields.
initTransientFields() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
 
initTransientFields() - Method in class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
 
initTransientFields() - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
initTransientFields() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
initTransientFields() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Initializes the transient instance fields for this class.
INT_BYTES - Static variable in enum io.github.pr0methean.betterrandom.util.Java8Constants
 
internalNextGaussian(DoubleSupplier) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Core of a reimplementation of BaseRandom.nextGaussian() whose locking is overridable and doesn't happen when a value is already stored.
interrupt() - Method in class io.github.pr0methean.betterrandom.util.Looper
Interrupts the thread if it's running.
ints() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
ints() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
ints(int, int) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing an effectively unlimited number of pseudorandom ints, each conforming to the given origin (inclusive) and bound (exclusive).
ints(int, int) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
ints(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
ints(long) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
ints(long, int, int) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing the given number of pseudorandom ints, each conforming to the given origin (inclusive) and bound (exclusive).
ints(long, int, int) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
io.github.pr0methean.betterrandom - package io.github.pr0methean.betterrandom
This root package contains interfaces for Random subclasses with specific extra features.
io.github.pr0methean.betterrandom.prng - package io.github.pr0methean.betterrandom.prng
Subclasses of Random using different random-number generation algorithms.
io.github.pr0methean.betterrandom.prng.adapter - package io.github.pr0methean.betterrandom.prng.adapter
Implementations of BaseRandom that are backed by instances of SplittableRandom or Random, many of them wrapped in ThreadLocal<?> to allow concurrent use of a shared instance by multiple threads.
io.github.pr0methean.betterrandom.seed - package io.github.pr0methean.betterrandom.seed
Tools to obtain and apply truly-random seeds for Random implementations, especially those that also implement ByteArrayReseedableRandom.
io.github.pr0methean.betterrandom.util - package io.github.pr0methean.betterrandom.util
Miscellaneous utilities.
isEmpty() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
isEmpty() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Returns true if no Random instances are registered with this LegacyRandomSeeder.
isRunning() - Method in class io.github.pr0methean.betterrandom.util.Looper
Returns whether there is a running thread executing this Looper's loop.
isWorthTrying() - Method in class io.github.pr0methean.betterrandom.seed.BufferedSeedGenerator
 
isWorthTrying() - Method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Returns true if we cannot determine quickly (i.e.
isWorthTrying() - Method in enum io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Returns true if we cannot determine quickly (i.e.
isWorthTrying() - Method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
 
isWorthTrying() - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
Returns true if we cannot determine quickly (i.e.
isWorthTrying() - Method in interface io.github.pr0methean.betterrandom.seed.SeedGenerator
Returns true if we cannot determine quickly (i.e.
isWorthTrying() - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
 
iterate() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
iterate() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
 
iterate() - Method in class io.github.pr0methean.betterrandom.util.Looper
The task that will be iterated until it returns false.

J

Java8CompatRandom - Interface in io.github.pr0methean.betterrandom.prng
This interface contains all the stream methods of Random backported from Java 8.
Java8Constants - Enum in io.github.pr0methean.betterrandom.util
 

L

LegacyRandomSeeder - Class in io.github.pr0methean.betterrandom.seed
A SimpleRandomSeeder that can reseed any instance of Random.
LegacyRandomSeeder(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
Creates an instance using a SimpleRandomSeeder.DefaultThreadFactory.
LegacyRandomSeeder(SeedGenerator, ThreadFactory) - Constructor for class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
Creates an instance whose thread will terminate if no PRNGs have been associated with it for 5 seconds.
LegacyRandomSeeder(SeedGenerator, ThreadFactory, long) - Constructor for class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
Creates an instance.
lock - Variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
Lock to prevent concurrent modification of the RNG's internal state.
lock - Variable in class io.github.pr0methean.betterrandom.util.Looper
The thread holds this lock whenever it is running Looper.iterate().
lockForNextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
 
lockForNextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Performs whatever locking is needed by BaseRandom.nextGaussian().
LONG_BYTES - Static variable in enum io.github.pr0methean.betterrandom.util.Java8Constants
 
longs() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
longs() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
longs(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
longs(long) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
longs(long, long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing an effectively unlimited number of pseudorandom longs, each conforming to the given origin (inclusive) and bound (exclusive).
longs(long, long) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
longs(long, long, long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a stream producing the given number of pseudorandom longs, each conforming to the given origin (inclusive) and bound (exclusive).
longs(long, long, long) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
Looper - Class in io.github.pr0methean.betterrandom.util
Wraps a thread that loops a given task until interrupted, with the iterations being transactional.
Looper() - Constructor for class io.github.pr0methean.betterrandom.util.Looper
Constructs a Looper with all properties as defaults.
Looper(String) - Constructor for class io.github.pr0methean.betterrandom.util.Looper
Constructs a Looper with a thread name.
Looper(ThreadFactory) - Constructor for class io.github.pr0methean.betterrandom.util.Looper
Constructs a Looper with a given thread factory.

M

MAX_SEED_LENGTH_BYTES - Static variable in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
Maximum total length of the seed, including both key and initial counter value.
MersenneTwisterRandom - Class in io.github.pr0methean.betterrandom.prng
Random number generator based on the Mersenne Twister algorithm developed by Makoto Matsumoto and Takuji Nishimura.
MersenneTwisterRandom() - Constructor for class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
Creates a new RNG and seeds it using the default seeding strategy.
MersenneTwisterRandom(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
Creates an RNG and seeds it with the specified seed data.
MersenneTwisterRandom(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
Seed the RNG using the provided seed generation strategy.
multiplyInto(byte[], byte[]) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
counter *= multiplier
multiplyIntoAndAddInto(byte[], byte[], byte[]) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
counter *= mult; counter += add

N

needsReseedingEarly() - Method in interface io.github.pr0methean.betterrandom.EntropyCountingRandom
If true, this PRNG needs reseeding even though its entropy is positive.
needsReseedingEarly() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
needsReseedingEarly() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
newThread(Runnable) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder.DefaultThreadFactory
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextInt() or SplittableRandom.nextInt(int).
next(int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Generates the next pseudorandom number.
next(int) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
next(int) - Method in class io.github.pr0methean.betterrandom.prng.XorShiftRandom
 
nextBlock() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Generates BLOCKS_AT_ONCE 128-bit (16-byte) blocks.
nextBoolean() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextBoolean().
nextBoolean() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextBoolean() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextBoolean() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
nextBoolean() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextBytes(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextInt(256).
nextBytes(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
nextBytes(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextBytes(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextBytes(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Generates random bytes and places them into a user-supplied byte array.
nextBytes(byte[]) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextDouble() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextDouble() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
nextDouble() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextDouble(double) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextDouble(bound).
nextDouble(double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a pseudorandom double value between 0.0 (inclusive) and the specified bound (exclusive).
nextDouble(double, double) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextDouble (origin, bound).
nextDouble(double, double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a pseudorandom double value between the specified origin (inclusive) and bound (exclusive).
nextDoubleNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextDouble().
nextDoubleNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextDoubleNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextDoubleNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns the next random double between 0.0 (inclusive) and 1.0 (exclusive), but does not debit entropy.
nextDoubleNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
nextElement(E[]) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Chooses a random element from the given array.
nextElement(List<E>) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Chooses a random element from the given list.
nextEnum(Class<E>) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Chooses a random value of the given enum class.
nextFloat() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextInt(int).
nextFloat() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextFloat() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextFloat() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
nextFloat() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextDouble() via BaseRandom.internalNextGaussian(DoubleSupplier).
nextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
nextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.
nextGaussian() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextInt() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextInt().
nextInt() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextInt() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextInt() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
nextInt() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextInt(int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextInt(bound).
nextInt(int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextInt(int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextInt(int) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 
nextInt(int) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextInt(int, int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextInt(origin, bound).
nextInt(int, int) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextInt(int, int) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a pseudorandom int value between the specified origin (inclusive) and the specified bound (exclusive).
nextLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextLong() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.
nextLong() - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
nextLong(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextLong(bound).
nextLong(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextLong(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a pseudorandom long value between zero (inclusive) and the specified bound (exclusive).
nextLong(long, long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextLong(origin, bound).
nextLong(long, long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextLong(long, long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns a pseudorandom long value between the specified origin (inclusive) and the specified bound (exclusive).
nextLongNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextLong().
nextLongNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
nextLongNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
nextLongNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns the next random long, but does not debit entropy.
nextLongNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
nextLongNoEntropyDebit() - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 

O

ONE - Static variable in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
The 128-bit value 1.
onSeedingStateChanged(boolean) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
Called when a new seed generator or SimpleRandomSeeder is attached or a new seed is generated, so that operations can unblock.

P

Pcg128Random - Class in io.github.pr0methean.betterrandom.prng
From the original description, "PCG is a family of simple fast space-efficient statistically good algorithms for random number generation.
Pcg128Random() - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg128Random
Creates a new PRNG with a seed from the DefaultSeedGenerator.
Pcg128Random(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg128Random
Creates a new PRNG with the provided seed.
Pcg128Random(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg128Random
Creates a new PRNG with a seed from the provided SeedGenerator.
Pcg64Random - Class in io.github.pr0methean.betterrandom.prng
From the original description, "PCG is a family of simple fast space-efficient statistically good algorithms for random number generation.
Pcg64Random() - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg64Random
Creates a new PRNG with a seed from the DefaultSeedGenerator.
Pcg64Random(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg64Random
Creates a new PRNG with the provided seed.
Pcg64Random(long) - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg64Random
Creates a new PRNG with the provided seed.
Pcg64Random(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.Pcg64Random
Creates a new PRNG with a seed from the provided SeedGenerator.
POLL_INTERVAL - Static variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Time in seconds to wait before checking again whether any PRNGs need more entropy.
preferSeedWithLong() - Method in interface io.github.pr0methean.betterrandom.ByteArrayReseedableRandom
Indicates whether Random.setSeed(long) is recommended over ByteArrayReseedableRandom.setSeed(byte[]) when the seed is already in the form of a long.
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
 
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 

R

RANDOM_DOT_ORG_SEED_GENERATOR - io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
This version of the client may make HTTP requests as fast as your computer is capable of sending them.
RandomDotOrgSeedGenerator - Enum in io.github.pr0methean.betterrandom.seed
Connects to random.org's old API (via HTTPS) and downloads a set of random bits to use as seed data.
randomSeeder - Variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
If the referent is non-null, it will be invoked to reseed this PRNG whenever random output is taken and BaseRandom.getEntropyBits() called immediately afterward would return zero or negative.
RandomWrapper - Class in io.github.pr0methean.betterrandom.prng.adapter
RandomWrapper() - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Wraps a Random that is seeded using the default seeding strategy.
RandomWrapper(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Wraps a Random that is seeded with the specified seed.
RandomWrapper(long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Wraps a Random that is seeded with the specified seed.
RandomWrapper(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Wraps a Random that is seeded using the provided seed generation strategy.
RandomWrapper(Random) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Creates an instance wrapping the given Random.
readResolve() - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
 
remove(Collection<? extends Random>) - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
remove(Collection<? extends Random>) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Removes PRNGs so that they will no longer be reseeded.
remove(Random...) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Removes PRNGs so that they will no longer be reseeded.
RepeatableRandom - Interface in io.github.pr0methean.betterrandom
Deterministic random number generators are repeatable, which can prove useful for testing and validation.
reseedByteArrayReseedableRandoms() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Reseeds all the PRNGs that need reseeding in SimpleRandomSeeder.byteArrayPrngsThisIteration, then clears that set.
ReseedingThreadLocalRandomWrapper - Class in io.github.pr0methean.betterrandom.prng.adapter
A ThreadLocalRandomWrapper that reseeds all its instances using a SimpleRandomSeeder.
ReseedingThreadLocalRandomWrapper(int, SeedGenerator, Function<byte[], ? extends BaseRandom>) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
Wraps a seed generator and a function that takes a seed byte array as input.
ReseedingThreadLocalRandomWrapper(int, SimpleRandomSeeder, Function<byte[], ? extends BaseRandom>, SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
Wraps a seed generator and a function that takes a seed byte array as input.
ReseedingThreadLocalRandomWrapper(SeedGenerator, Supplier<? extends BaseRandom>) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
Wraps the given Supplier.
ReseedingThreadLocalRandomWrapper(Supplier<? extends BaseRandom>, SimpleRandomSeeder) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
Wraps the given Supplier.
reseedWithLong(Random) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Generates an 8-byte seed, converts it to a long and calls Random.setSeed(long).
rotateRight(byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
shifted = (shifted >>> bits) | shifted << (128 - bits)
rotateRightLeast64(byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
Returns the lower 64 bits of the result when the input is rotated.

S

SecureRandomSeedGenerator - Class in io.github.pr0methean.betterrandom.seed
SeedGenerator implementation that uses Java's bundled SecureRandom RNG to generate random seed data.
SecureRandomSeedGenerator(SecureRandom) - Constructor for class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
Creates an instance.
seed - Variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
The seed this PRNG was seeded with, as a byte array.
SeedException - Exception in io.github.pr0methean.betterrandom.seed
Exception thrown by SeedGenerator implementations when they are unable to generate a new seed for an RNG.
SeedException(String) - Constructor for exception io.github.pr0methean.betterrandom.seed.SeedException
Constructor for SeedException.
SeedException(String, Throwable) - Constructor for exception io.github.pr0methean.betterrandom.seed.SeedException
Constructor for SeedException.
seedGenerator - Variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
The seed generator this seeder uses.
SeedGenerator - Interface in io.github.pr0methean.betterrandom.seed
Strategy interface for seeding random number generators.
SeedGeneratorPreferenceList - Class in io.github.pr0methean.betterrandom.seed
A SeedGenerator implementation that iterates over multiple delegates until one succeeds.
SeedGeneratorPreferenceList(boolean, SeedGenerator...) - Constructor for class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
Creates an instance.
SeedGeneratorPreferenceList(Collection<? extends SeedGenerator>, boolean) - Constructor for class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
Creates an instance.
SeekableRandom - Interface in io.github.pr0methean.betterrandom
A RepeatableRandom that can skip backward or forward within its sequence of output.
SerializableFunction<I,​O> - Interface in io.github.pr0methean.betterrandom.util
Function that is Serializable.
SerializableSupplier<T> - Interface in io.github.pr0methean.betterrandom.util
Supplier that is Serializable.
set(SeedGenerator) - Static method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Sets the default seed generator (a delegate used by this class's singleton instance).
setApiKey(UUID) - Static method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Sets the API key.
setKey(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
setKey(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Sets the key on the cipher.
setProxy(Proxy) - Static method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Sets the proxy to use to connect to random.org.
setRandomSeeder(SimpleRandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
setRandomSeeder(SimpleRandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
 
setRandomSeeder(SimpleRandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
setRandomSeeder(SimpleRandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
Not supported, because this class uses a thread-local seed.
setRandomSeeder(SimpleRandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Registers this PRNG with the SimpleRandomSeeder for the corresponding SeedGenerator, to schedule reseeding when we run out of entropy.
setSameThreadSeedGen(SeedGenerator) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
setSeed(byte[]) - Method in interface io.github.pr0methean.betterrandom.ByteArrayReseedableRandom
Reseed this PRNG.
setSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
Reseed this PRNG.
setSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Reseed this PRNG.
setSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Reseed this PRNG.
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.DirectSplittableRandomAdapter
Replaces the delegate with a new SplittableRandom that uses the given seed.
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
Sets the seed of this random number generator using a single long seed, if this implementation supports that.
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Deprecated.
Some implementations are very slow.
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Combines the given seed with the existing seed using the hash algorithm.
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
Reseeds this PRNG using the DefaultSeedGenerator, since it needs a longer seed.
setSeed(long) - Method in interface io.github.pr0methean.betterrandom.prng.Java8CompatRandom
 
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
Reseeds this PRNG using the DefaultSeedGenerator, since it needs a longer seed.
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.XorShiftRandom
Reseeds this PRNG using the DefaultSeedGenerator, since it needs a longer seed.
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.DirectSplittableRandomAdapter
Replaces the delegate with a new SplittableRandom that uses the given seed.
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Sets the seed, and should be overridden to set other state that derives from the seed.
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.Cmwc4096Random
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.MersenneTwisterRandom
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.Pcg128Random
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.Pcg64Random
 
setSeedInternal(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.XorShiftRandom
 
setSslSocketFactory(SSLSocketFactory) - Static method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Sets the socket factory to use to connect to random.org.
setWrapped(Random) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
Replaces the wrapped PRNG with the given one on subsequent calls.
shiftedLeast(int, long, long) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
Returns the lower 64 bits of (oldMost << 64LL + oldLeast) >>> bits.
shiftedMost(int, long, long) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
Returns the upper 64 bits of (oldMost << 64LL + oldLeast) >>> bits.
shutDown() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Shut down this thread even if Random instances are registered with it.
SimpleRandomSeeder - Class in io.github.pr0methean.betterrandom.seed
Thread that loops over ByteArrayReseedableRandom instances and reseeds them.
SimpleRandomSeeder(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Creates an instance using a SimpleRandomSeeder.DefaultThreadFactory.
SimpleRandomSeeder(SeedGenerator, ThreadFactory) - Constructor for class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Creates an instance whose thread will terminate if no PRNGs have been associated with it for 5 seconds.
SimpleRandomSeeder(SeedGenerator, ThreadFactory, long) - Constructor for class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Creates an instance.
SimpleRandomSeeder.DefaultThreadFactory - Class in io.github.pr0methean.betterrandom.seed
A ThreadFactory that sets the name and priority of the threads it creates.
SingleThreadSplittableRandomAdapter - Class in io.github.pr0methean.betterrandom.prng.adapter
Simple, non-thread-safe implementation of BaseRandom that wraps a SplittableRandom.
SingleThreadSplittableRandomAdapter() - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the DefaultSeedGenerator to create the seed for the SplittableRandom.
SingleThreadSplittableRandomAdapter(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the provided seed for the SplittableRandom.
SingleThreadSplittableRandomAdapter(long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the provided seed for the SplittableRandom.
SingleThreadSplittableRandomAdapter(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the provided seed generation strategy to create the seed for the SplittableRandom.
SplittableRandomAdapter - Class in io.github.pr0methean.betterrandom.prng.adapter
Thread-safe PRNG that wraps a ThreadLocal<SplittableRandom>.
SplittableRandomAdapter(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
Creates an instance that uses the same SeedGenerator for reseeding and for initial seeding, and whose SimpleRandomSeeder uses a SimpleRandomSeeder.DefaultThreadFactory.
SplittableRandomAdapter(SeedGenerator, SimpleRandomSeeder) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
Creates an instance.
start() - Method in class io.github.pr0methean.betterrandom.util.Looper
Starts the thread if it's not already running, creating it if it doesn't exist, has died or has been Looper.interrupt()ed.
stopIfEmpty() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Shut down this thread if no Random instances are registered with it.
stopIfEmptyForNanos - Variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Time in nanoseconds after which this thread will terminate if no PRNGs are attached.
superConstructorFinished - Variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
Set by the constructor once either Random() or Random(long) has returned.
supportsMultipleSeedLengths() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
supportsMultipleSeedLengths() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
If true, the subclass takes responsibility for checking whether the seed is non-null and has a valid length, and should throw an IllegalArgumentException in BaseRandom.setSeedInternal(byte[]) if not.
supportsMultipleSeedLengths() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns true, because the seed can either be a counter IV plus a key, or just a key.

T

thread - Variable in class io.github.pr0methean.betterrandom.util.Looper
The thread where this looper's loop is running.
threadLocal - Variable in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
A thread-local delegate.
threadLocal - Variable in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
Holds the delegate for each thread.
ThreadLocalRandomWrapper - Class in io.github.pr0methean.betterrandom.prng.adapter
Wraps a ThreadLocal<BaseRandom> in order to provide concurrency that most implementations of BaseRandom can't implement naturally.
ThreadLocalRandomWrapper(int, SeedGenerator, Function<byte[], ? extends BaseRandom>) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
Wraps a seed generator and a function that takes a seed byte array as input.
ThreadLocalRandomWrapper(Supplier<? extends BaseRandom>) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
Wraps the given Supplier.
threadLock - Variable in class io.github.pr0methean.betterrandom.util.Looper
The looper holds this lock whenever it is reading or writing the state of the underlying thread (including replacing that thread).
toString() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
toString() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
toString() - Method in class io.github.pr0methean.betterrandom.seed.BufferedSeedGenerator
 
toString() - Method in enum io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Returns "/dev/random".
toString() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
toString() - Method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Returns "https://www.random.org (with retry delay)" or "https://www.random.org (without retry delay)".
toString() - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
 

U

unlockForNextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
 
unlockForNextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Releases the locks acquired by BaseRandom.lockForNextGaussian().
unregisterWithAll(Set<?>) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Informs the given PRNGs that they no longer have a seed generator.
unsignedShiftRight(byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
shifted >>>= bits From this source.
unsignedShiftRightLeast64(byte[], int) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
Returns the lower 64 bits of the shifted input.
usesParallelStreams() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
usesParallelStreams() - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
 
usesParallelStreams() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 

V

valueOf(String) - Static method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum io.github.pr0methean.betterrandom.util.Java8Constants
Returns the enum constant of this type with the specified name.
values() - Static method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum io.github.pr0methean.betterrandom.seed.RandomDotOrgSeedGenerator
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum io.github.pr0methean.betterrandom.util.BinaryUtils
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum io.github.pr0methean.betterrandom.util.Java8Constants
Returns an array containing the constants of this enum type, in the order they are declared.

W

waitForEntropyDrain - Variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Signaled by an associated BaseRandom when it runs out of entropy.
waitWhileEmpty - Variable in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Signaled when a PRNG is added.
wakeUp() - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
Ensures this seeder's thread is started, and signals conditions it may be waiting on.
withProbability(double) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
withProbability(double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Returns true with the given probability, and records that only 1 bit of entropy is being spent.
withProbabilityInternal(double) - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Delegates to SplittableRandom.nextDouble().
withProbabilityInternal(double) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
withProbabilityInternal(double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Called by BaseRandom.withProbability(double) to generate a boolean with a specified probability of returning true, after checking that probability is strictly between 0 and 1.
wrapLegacy(LongFunction<Random>, SeedGenerator) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
Uses this class and RandomWrapper to decorate any implementation of Random that can be constructed from a long seed into a fully-concurrent one.
wrapLegacy(LongFunction<Random>, SeedGenerator) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
Uses this class and RandomWrapper to decorate any implementation of Random that can be constructed from a long seed into a fully-concurrent one.
wrapLongCreatorAsByteArrayCreator(LongFunction<Random>) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 

X

XorShiftRandom - Class in io.github.pr0methean.betterrandom.prng
Very fast pseudo random number generator.
XorShiftRandom() - Constructor for class io.github.pr0methean.betterrandom.prng.XorShiftRandom
Creates a new RNG and seeds it using the DefaultSeedGenerator.
XorShiftRandom(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.XorShiftRandom
Creates an RNG and seeds it with the specified seed data.
XorShiftRandom(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.XorShiftRandom
Seed the RNG using the provided seed generation strategy.

Z

ZERO - Static variable in enum io.github.pr0methean.betterrandom.util.Byte16ArrayArithmetic
The 128-bit value 0.
A B C D E F G H I J L M N O P R S T U V W X Z 
All Classes All Packages