A B C D E F G H I J L M N O P R S T U V W X
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- add(ByteArrayReseedableRandom...) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Adds
ByteArrayReseedableRandom
instances. - add(SeedGenerator...) - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList.Builder
- add(Collection<? extends ByteArrayReseedableRandom>) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Adds
ByteArrayReseedableRandom
instances. - addAll(Iterable<? extends SeedGenerator>) - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList.Builder
- 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. - addLegacyRandoms(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.RandomWrapper
- addSubclassFields(MoreObjects.ToStringHelper) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
- 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.CipherCounterRandom
- 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.
- AnuQuantumSeedClient - Class in io.github.pr0methean.betterrandom.seed
-
API client for the Australian National University's quantum RNG, which extracts randomness from quantum-vacuum fluctuations.
- AnuQuantumSeedClient() - Constructor for class io.github.pr0methean.betterrandom.seed.AnuQuantumSeedClient
- AnuQuantumSeedClient(WebSeedClientConfiguration) - Constructor for class io.github.pr0methean.betterrandom.seed.AnuQuantumSeedClient
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.
- build() - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList.Builder
- build() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration.Builder
-
Builds a
WebSeedClientConfiguration
with this builder's parameters. - Builder() - Constructor for class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList.Builder
- Builder() - Constructor for class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration.Builder
- 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.RandomSeeder
-
Holds
ByteArrayReseedableRandom
instances that should be reseeded when their entropy is low, or as often as possible if they don't implementEntropyCountingRandom
. - 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
- checkedGetObject(JSONObject, String, Class<T>) - Static method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Reads a field value from a JSON object and checks that it is the correct type.
- 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.
- checkValidRange(long, long) - Static method in class io.github.pr0methean.betterrandom.prng.BaseRandom
-
Ensures that
bound > origin
. - 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.RandomSeeder
-
Removes all PRNGs from this seeder.
- CLOCK - Static variable in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Measures the retry delay.
- 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.
- contains(Object) - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
- contains(Object) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Checks whether the given PRNG is currently registered with this RandomSeeder.
- 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. - convertHexStringToBytes(String, byte[], int) - 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.
- COUNTER_SIZE_BYTES - Static variable in class io.github.pr0methean.betterrandom.prng.AesCounterRandom
-
The size of 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() - Static method in enum io.github.pr0methean.betterrandom.util.MoreCollections
-
Creates and returns a thread-safe
Set
with only weak references to its members. - 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 - Static variable in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
-
Default configuration.
- DEFAULT_INSTANCE - Static variable in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
-
The default instance.
- DEFAULT_RETRY_DELAY - Static variable in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
- 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.RandomSeeder
-
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.RandomSeeder.DefaultThreadFactory
-
Creates an instance with a reasonable default priority for most applications.
- DefaultThreadFactory(String, int) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomSeeder.DefaultThreadFactory
-
Creates an instance.
- delegate - Variable in class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
-
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. - divideRoundingUp(int, int) - Static method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- 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(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(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
- 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).
- downloadBytes(HttpURLConnection, byte[], int, int) - Method in class io.github.pr0methean.betterrandom.seed.AnuQuantumSeedClient
- downloadBytes(HttpURLConnection, byte[], int, int) - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgAnonymousClient
- downloadBytes(HttpURLConnection, byte[], int, int) - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
- downloadBytes(HttpURLConnection, byte[], int, int) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Performs a single request for random bytes.
- 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
- earliestNextAttempt - Variable in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
The earliest time we'll try again if there's been a previous IOE, or when the server requests throttling.
- 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<T extends Random> - 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 aRandomSeeder
or, if none is installed, reseed itself on the calling thread with aSeedGenerator
. - EntropyBlockingRandomWrapper(T, 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(RandomSeeder, long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingSplittableRandomAdapter
-
Creates an instance.
- EntropyBlockingSplittableRandomAdapter(SeedGenerator, RandomSeeder, 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 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.BufferedSeedGenerator
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder.DefaultThreadFactory
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- equals(Object) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
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
. - FIRST_POLL_INTERVAL - Static variable in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Time in seconds to wait before checking again whether any PRNGs need more entropy, after one iteration when they didn't.
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 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(byte[]) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- generateSeed(int) - Method in enum io.github.pr0methean.betterrandom.seed.DefaultSeedGenerator
- generateSeed(int) - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
- 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.
- 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()
. - getConnectionUrl(int) - Method in class io.github.pr0methean.betterrandom.seed.AnuQuantumSeedClient
- getConnectionUrl(int) - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgAnonymousClient
- getConnectionUrl(int) - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
- getConnectionUrl(int) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- 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
- getMaxKeyLengthBytes() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
-
Returns the maximum length in bytes of a key for this PRNG's cipher.
- getMaxRequestSize() - Method in class io.github.pr0methean.betterrandom.seed.AnuQuantumSeedClient
- getMaxRequestSize() - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgAnonymousClient
- getMaxRequestSize() - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
-
The maximum number of bytes the site will provide in response to one request.
- getMaxRequestSize() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Returns the maximum number of bytes that can be obtained with one request to the service.
- 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.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
- getProxy() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
The proxy to use with this server, or null to use the JVM default.
- getProxy() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
- 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.
- getResponseReader(HttpURLConnection) - Static method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Creates a
BufferedReader
reading the response from the givenHttpURLConnection
as UTF-8. - getRetryDelayMs() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Wait this many milliseconds before trying again after an IOException.
- getRetryDelayMs() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
- getSameThreadSeedGen() - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
-
Returns the seed generator that is used on the calling thread if not registered with a running
RandomSeeder
. - 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.RandomSeeder
-
Returns the
SeedGenerator
this seeder uses. - getSocketFactory() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
The SSLSocketFactory to use with this server.
- getSocketFactory() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
- 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.BufferedSeedGenerator
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder.DefaultThreadFactory
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- hashCode() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
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.adapter.SplittableRandomAdapter
- initTransientFields() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
- 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.seed.LegacyRandomSeeder
- initTransientFields() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Initializes the transient instance fields for this class.
- initTransientFields() - Method in class io.github.pr0methean.betterrandom.util.Looper
-
Subclasses should override this if they have transient fields to set up before starting.
- 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(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(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
- 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).
- 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.RandomSeeder
-
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.DevRandomSeedGenerator
- 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
- isWorthTrying() - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- iterate() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
- iterate() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
- iterate() - Method in class io.github.pr0methean.betterrandom.util.Looper
-
The task that will be iterated until it returns false.
J
- JSON_PARSER - Static variable in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Made available to parse JSON responses.
L
- LegacyRandomSeeder - Class in io.github.pr0methean.betterrandom.seed
-
A
RandomSeeder
that can reseed any instance ofRandom
. - LegacyRandomSeeder(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
-
Creates an instance using a
RandomSeeder.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.seed.WebSeedClient
-
Held while downloading, so that two requests to the same server won't be pending at the same time.
- 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()
. - longs() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
- longs(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
- 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, 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).
- 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.
- modRange1ToM(int, int) - Static method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
- MoreCollections - Enum in io.github.pr0methean.betterrandom.util
-
Utility methods relating to collections.
- 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
- newThread(Runnable) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder.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
- 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.
- nextDouble() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
- nextDouble() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
- 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
- nextGaussian() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
- 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.
- 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(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, 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(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
RandomSeeder
is attached or a new seed is generated, so that operations can unblock. - openConnection(URL) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Opens an
HttpsURLConnection
that will make a GET request to the given URL using this seed generator's currentProxy
,SeedGenerator
and User-Agent string, with the headerContent-Type: application/json
.
P
- parseJsonResponse(HttpURLConnection) - Static method in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Parses the response from the given
HttpURLConnection
as UTF-8 encoded JSON. - 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
. - 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
- RandomDotOrgAnonymousClient - Class 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.
- RandomDotOrgAnonymousClient() - Constructor for class io.github.pr0methean.betterrandom.seed.RandomDotOrgAnonymousClient
- RandomDotOrgAnonymousClient(WebSeedClientConfiguration) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomDotOrgAnonymousClient
- RandomDotOrgApi2Client - Class in io.github.pr0methean.betterrandom.seed
-
Uses the random.org JSON API documented at api.random.org.
- RandomDotOrgApi2Client(WebSeedClientConfiguration, UUID) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
- RandomDotOrgApi2Client(UUID) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomDotOrgApi2Client
- 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. - RandomSeeder - Class in io.github.pr0methean.betterrandom.seed
-
Thread that loops over
ByteArrayReseedableRandom
instances and reseeds them. - RandomSeeder(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Creates an instance using a
RandomSeeder.DefaultThreadFactory
. - RandomSeeder(SeedGenerator, ThreadFactory) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Creates an instance whose thread will terminate if no PRNGs have been associated with it for 5 seconds.
- RandomSeeder(SeedGenerator, ThreadFactory, long) - Constructor for class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Creates an instance.
- RandomSeeder.DefaultThreadFactory - Class in io.github.pr0methean.betterrandom.seed
-
A
ThreadFactory
that sets the name and priority of the threads it creates. - RandomWrapper<T extends Random> - Class in io.github.pr0methean.betterrandom.prng.adapter
- RandomWrapper(T) - 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
-
Ensures that all serialized copies of
SecureRandomSeedGenerator.DEFAULT_INSTANCE
deserialize as the same object. - remove(ByteArrayReseedableRandom...) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Removes PRNGs so that they will no longer be reseeded.
- remove(Collection<? extends ByteArrayReseedableRandom>) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Removes PRNGs so that they will no longer be reseeded.
- removeLegacyRandoms(Collection<?>) - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
-
Removes instances of
Random
and/orByteArrayReseedableRandom
. - removeLegacyRandoms(Random...) - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
-
Removes
Random
instances. - REPEAT_POLL_INTERVAL - Static variable in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Time in seconds to wait before checking again whether any PRNGs need more entropy, after more than one iteration when they didn't.
- RepeatableRandom - Interface in io.github.pr0methean.betterrandom
-
Deterministic random number generators are repeatable, which can prove useful for testing and validation.
- reseedByteArrayReseedableRandoms(Iterable<? extends ByteArrayReseedableRandom>) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Reseeds all the PRNGs that need reseeding in
randoms
. - ReseedingThreadLocalRandomWrapper<T extends BaseRandom> - Class in io.github.pr0methean.betterrandom.prng.adapter
-
A
ThreadLocalRandomWrapper
that reseeds all its instances using aRandomSeeder
. - ReseedingThreadLocalRandomWrapper(int, SeedGenerator, SerializableFunction<byte[], ? extends T>) - 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, SerializableSupplier<? extends T>) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
-
Wraps the given
SerializableSupplier
. - ReseedingThreadLocalRandomWrapper(SerializableSupplier<? extends T>, RandomSeeder) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
-
Wraps the given
SerializableSupplier
. - reseedWithLong(Random) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
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.RandomSeeder
-
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.
- SeedGeneratorPreferenceList.Builder - Class in io.github.pr0methean.betterrandom.seed
- SeekableRandom - Interface in io.github.pr0methean.betterrandom
-
A
RepeatableRandom
that can skip backward or forward within its sequence of output. - SerializableFunction<T,R> - Interface in io.github.pr0methean.betterrandom.util
-
Serializable
Function
. - SerializableLongFunction<R> - Interface in io.github.pr0methean.betterrandom.util
-
Serializable
LongFunction
. - SerializableSupplier<T> - Interface in io.github.pr0methean.betterrandom.util
-
Serializable
Supplier
. - 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).
- setAlwaysWorthTrying(boolean) - Method in class io.github.pr0methean.betterrandom.seed.SeedGeneratorPreferenceList.Builder
- setInitiallyKnownSeed(byte[]) - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
-
Updates
BaseRandom.seed
andBaseRandom.entropyBits
without reseeding the wrapped PRNG. - 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) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration.Builder
-
Sets the proxy to use to connect to the server.
- setRandomSeeder(RandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
- setRandomSeeder(RandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ReseedingThreadLocalRandomWrapper
- setRandomSeeder(RandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
- setRandomSeeder(RandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
-
Not supported, because this class uses a thread-local seed.
- setRandomSeeder(RandomSeeder) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
-
Registers this PRNG with the
RandomSeeder
for the correspondingSeedGenerator
, to schedule reseeding when we run out of entropy. - setRetryDelay(long, TimeUnit) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration.Builder
-
Sets the delay after an
IOException
before we will try connecting again. - setRetryDelay(Duration) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration.Builder
-
Sets the delay after an
IOException
before we will try connecting again. - setSameThreadSeedGen(SeedGenerator) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
-
Sets the seed generator that is used on the calling thread if not registered with a running
RandomSeeder
. - 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.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.SingleThreadSplittableRandomAdapter
-
Replaces the delegate with a new
SplittableRandom
that uses the given seed. - setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
- setSeed(long) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
-
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.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 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.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.SingleThreadSplittableRandomAdapter
-
Replaces the delegate with a new
SplittableRandom
that uses the given seed. - 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.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
- setSocketFactory(SSLSocketFactory) - Method in class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration.Builder
-
Sets the
SSLSocketFactory
used to connect to the server. - setWrapped(T) - Method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
- setWrapped(T) - 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.RandomSeeder
-
Shut down this thread even if
Random
instances are registered with it. - 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 whoseRandomSeeder
uses aRandomSeeder.DefaultThreadFactory
. - SplittableRandomAdapter(SeedGenerator, RandomSeeder) - 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. - stillEmptyAfterWaiting() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Waits
RandomSeeder.stopIfEmptyForNanos
forRandomSeeder.waitWhileEmpty
to be signaled - stopIfEmpty() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Shut down this thread if no
Random
instances are registered with it. - stopIfEmptyForNanos - Variable in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
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<T extends BaseRandom> - 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, SerializableFunction<byte[], ? extends T>) - 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(SerializableSupplier<? extends T>) - 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 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<?>) - Static method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
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.
- userAgent - Variable in class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
The value for the HTTP User-Agent header.
- 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.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.MoreCollections
-
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.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.MoreCollections
-
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.RandomSeeder
-
Signaled by an associated
BaseRandom
when it runs out of entropy. - waitForEntropyDrainOrUpdateFlag(boolean) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
If entropy was consumed this iteration, waits until
RandomSeeder.wakeUp()
is called or the polling interval expires. - waitWhileEmpty - Variable in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Signaled when a PRNG is added.
- wakeUp() - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
-
Ensures this seeder's thread is started, and signals conditions it may be waiting on.
- WebSeedClient - Class in io.github.pr0methean.betterrandom.seed
-
A
SeedGenerator
that is a client for a Web random-number service. - WebSeedClient() - Constructor for class io.github.pr0methean.betterrandom.seed.WebSeedClient
- WebSeedClient(WebSeedClientConfiguration) - Constructor for class io.github.pr0methean.betterrandom.seed.WebSeedClient
- WebSeedClient(Proxy, SSLSocketFactory, boolean) - Constructor for class io.github.pr0methean.betterrandom.seed.WebSeedClient
-
Deprecated.Use one of the other overloads, which allow specifying the delay before retry.
- WebSeedClientConfiguration - Class in io.github.pr0methean.betterrandom.seed
-
Common configuration parameters for an instance of
WebSeedClient
. - WebSeedClientConfiguration(Proxy, SSLSocketFactory, long) - Constructor for class io.github.pr0methean.betterrandom.seed.WebSeedClientConfiguration
- WebSeedClientConfiguration.Builder - Class in io.github.pr0methean.betterrandom.seed
- 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. - wrapJavaUtilRandom(byte[]) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
-
Creates an instance wrapping a basic
Random
. - wrapJavaUtilRandom(long) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
-
Creates an instance wrapping a basic
Random
. - wrapJavaUtilRandom(long, byte[], SeedGenerator) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
-
Creates an instance wrapping a basic
Random
. - wrapJavaUtilRandom(long, SeedGenerator) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.EntropyBlockingRandomWrapper
-
Creates an instance wrapping a basic
Random
. - wrapJavaUtilRandom(SeedGenerator) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
-
Creates an instance wrapping a basic
Random
. - wrapLegacy(SerializableLongFunction<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(SerializableLongFunction<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. - wrapSecureRandom(byte[]) - Static method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
-
Creates an instance wrapping a basic
SecureRandom
with a given seed.
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.
All Classes All Packages