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

A

add(ByteArrayReseedableRandom...) - Method in class io.github.pr0methean.betterrandom.seed.RandomSeeder
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
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 more SplittableRandom instances.
BaseSplittableRandomAdapter(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Constructs an instance with the given seed.
BaseSplittableRandomAdapter(long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
Constructs an instance with the given seed.
BinaryUtils - Enum in io.github.pr0methean.betterrandom.util
Utility methods for working with binary and hex data.
BufferedSeedGenerator - Class in io.github.pr0methean.betterrandom.seed
A seed generator that wraps another, maintaining a buffer of previously-fetched bytes to reduce the number of I/O calls.
BufferedSeedGenerator(SeedGenerator, int) - Constructor for class io.github.pr0methean.betterrandom.seed.BufferedSeedGenerator
Creates an instance.
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 implement EntropyCountingRandom.
ByteArrayReseedableRandom - Interface in io.github.pr0methean.betterrandom
A Random that can be reseeded using a byte array instead of using Random.setSeed(long) (although that may also be supported).

C

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 (see SingleThreadSplittableRandomAdapter or be split using SplittableRandom.split() (see SplittableRandomAdapter) and have the splits delegated to.
DEV_RANDOM_SEED_GENERATOR - io.github.pr0methean.betterrandom.seed.DevRandomSeedGenerator
Singleton instance.
DevRandomSeedGenerator - Enum in io.github.pr0methean.betterrandom.seed
RNG seed strategy that gets data from /dev/random on systems that provide it (e.g.
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 that Object.toString() usually doesn't return.
Dumpable - Interface in io.github.pr0methean.betterrandom.util
Object that can be dumped (written for debugging purposes to a more detailed string representation than what Object.toString() returns).

E

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 a RandomSeeder or, if none is installed, reseed itself on the calling thread with a SeedGenerator.
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 between origin (inclusive) and bound (exclusive).
entropyOfLong(long, long) - Static method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Calculates the entropy in bits, rounded up, of a random long between origin (inclusive) and bound (exclusive).
EntryPoint - Annotation Type in io.github.pr0methean.betterrandom.util
Marks a method or constructor 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 given HttpURLConnection 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 of SplittableRandom or Random, many of them wrapped in ThreadLocal<?> to allow concurrent use of a shared instance by multiple threads.
io.github.pr0methean.betterrandom.seed - package io.github.pr0methean.betterrandom.seed
Tools to obtain and apply truly-random seeds for Random implementations, especially those that also implement ByteArrayReseedableRandom.
io.github.pr0methean.betterrandom.util - package io.github.pr0methean.betterrandom.util
Miscellaneous utilities.
isEmpty() - Method in class io.github.pr0methean.betterrandom.seed.LegacyRandomSeeder
 
isEmpty() - Method in class io.github.pr0methean.betterrandom.seed.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 of Random.
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
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
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
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
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
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
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
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
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
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
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
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
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
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 current Proxy, SeedGenerator and User-Agent string, with the header Content-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 over ByteArrayReseedableRandom.setSeed(byte[]) when the seed is already in the form of a long.
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.BaseSplittableRandomAdapter
 
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
preferSeedWithLong() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
 

R

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/or ByteArrayReseedableRandom.
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 a RandomSeeder.
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 bundled SecureRandom RNG to generate random seed data.
SecureRandomSeedGenerator(SecureRandom) - Constructor for class io.github.pr0methean.betterrandom.seed.SecureRandomSeedGenerator
Creates an instance.
seed - Variable in class io.github.pr0methean.betterrandom.prng.BaseRandom
The seed this PRNG was seeded with, as a byte array.
SeedException - Exception in io.github.pr0methean.betterrandom.seed
Exception thrown by SeedGenerator implementations when they are unable to generate a new seed for an RNG.
SeedException(String) - Constructor for exception io.github.pr0methean.betterrandom.seed.SeedException
Constructor for SeedException.
SeedException(String, Throwable) - Constructor for exception io.github.pr0methean.betterrandom.seed.SeedException
Constructor for SeedException.
seedGenerator - Variable in class io.github.pr0methean.betterrandom.seed.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 and BaseRandom.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 corresponding SeedGenerator, 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
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 a SplittableRandom.
SingleThreadSplittableRandomAdapter() - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the DefaultSeedGenerator to create the seed for the SplittableRandom.
SingleThreadSplittableRandomAdapter(byte[]) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the provided seed for the SplittableRandom.
SingleThreadSplittableRandomAdapter(long) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the provided seed for the SplittableRandom.
SingleThreadSplittableRandomAdapter(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SingleThreadSplittableRandomAdapter
Use the provided seed generation strategy to create the seed for the SplittableRandom.
SplittableRandomAdapter - Class in io.github.pr0methean.betterrandom.prng.adapter
Thread-safe PRNG that wraps a ThreadLocal<SplittableRandom>.
SplittableRandomAdapter(SeedGenerator) - Constructor for class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
Creates an instance that uses the same SeedGenerator for reseeding and for initial seeding, and whose RandomSeeder uses a RandomSeeder.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
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() or Random(long) has returned.
supportsMultipleSeedLengths() - Method in class io.github.pr0methean.betterrandom.prng.adapter.RandomWrapper
 
supportsMultipleSeedLengths() - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
If true, the subclass takes responsibility for checking whether the seed is non-null and has a valid length, and should throw an IllegalArgumentException in BaseRandom.setSeedInternal(byte[]) if not.
supportsMultipleSeedLengths() - Method in class io.github.pr0methean.betterrandom.prng.CipherCounterRandom
Returns true, because the seed can either be a counter IV plus a key, or just a key.

T

thread - Variable in class io.github.pr0methean.betterrandom.util.Looper
The thread where this looper's loop is running.
threadLocal - Variable in class io.github.pr0methean.betterrandom.prng.adapter.SplittableRandomAdapter
A thread-local delegate.
threadLocal - Variable in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
Holds the delegate for each thread.
ThreadLocalRandomWrapper<T extends BaseRandom> - Class in io.github.pr0methean.betterrandom.prng.adapter
Wraps a ThreadLocal<BaseRandom> in order to provide concurrency that most implementations of BaseRandom can't implement naturally.
ThreadLocalRandomWrapper(int, SeedGenerator, 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
withProbabilityInternal(double) - Method in class io.github.pr0methean.betterrandom.prng.adapter.ThreadLocalRandomWrapper
 
withProbabilityInternal(double) - Method in class io.github.pr0methean.betterrandom.prng.BaseRandom
Called by BaseRandom.withProbability(double) to generate a boolean with a specified probability of returning true, after checking that probability is strictly between 0 and 1.
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 of Random that can be constructed from a long 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 of Random that can be constructed from a long 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.
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