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
All Classes All Packages
All Classes All Packages
A
- add(ByteArrayReseedableRandom...) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
-
Adds
ByteArrayReseedableRandom
instances. - add(Collection<? extends ByteArrayReseedableRandom>) - Method in class io.github.pr0methean.betterrandom.seed.SimpleRandomSeeder
-
Adds
ByteArrayReseedableRandom
instances. - 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 moreSplittableRandom
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 implementEntropyCountingRandom
. - 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 usingRandom.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 aWeakHashMap
. - 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 (seeSingleThreadSplittableRandomAdapter
or be split usingSplittableRandom.split()
(seeSplittableRandomAdapter
) 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
whereDirectSplittableRandomAdapter.setSeed(long)
andBaseRandom.setSeed(byte[])
replace theSplittableRandom
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 thatObject.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 aSimpleRandomSeeder
or, if none is installed, reseed itself on the calling thread with aSeedGenerator
. - 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
betweenorigin
(inclusive) andbound
(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
betweenorigin
(inclusive) andbound
(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 ofSplittableRandom
orRandom
, many of them wrapped inThreadLocal
<?>
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 implementByteArrayReseedableRandom
. - 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 ofRandom
. - 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()
orSplittableRandom.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()
viaBaseRandom.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 overByteArrayReseedableRandom.setSeed(byte[])
when the seed is already in the form of along
. - 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 aSimpleRandomSeeder
. - 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 bundledSecureRandom
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 isSerializable
. - SerializableSupplier<T> - Interface in io.github.pr0methean.betterrandom.util
-
Supplier
that isSerializable
. - 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 correspondingSeedGenerator
, 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
-
Delegates to one of
ByteArrayReseedableRandom.setSeed(byte[])
,SecureRandom.setSeed(byte[])
orRandom.setSeed(long)
. - 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 aSplittableRandom
. - SingleThreadSplittableRandomAdapter() - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
-
Use the
DefaultSeedGenerator
to create the seed for theSplittableRandom
. - 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 whoseSimpleRandomSeeder
uses aSimpleRandomSeeder.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()
orRandom(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
inBaseRandom.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 ofBaseRandom
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 thatprobability
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 ofRandom
that can be constructed from along
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 ofRandom
that can be constructed from along
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.
All Classes All Packages