Uses of Class
io.github.pr0methean.betterrandom.prng.BaseRandom
-
Packages that use BaseRandom Package Description io.github.pr0methean.betterrandom.prng Subclasses ofRandom
using different random-number generation algorithms.io.github.pr0methean.betterrandom.prng.adapter Implementations ofBaseRandom
that are backed by instances ofSplittableRandom
orRandom
, many of them wrapped inThreadLocal
<?>
to allow concurrent use of a shared instance by multiple threads. -
-
Uses of BaseRandom in io.github.pr0methean.betterrandom.prng
Subclasses of BaseRandom in io.github.pr0methean.betterrandom.prng Modifier and Type Class Description class
AesCounterRandom
CipherCounterRandom using AES (Rijndael).class
CipherCounterRandom
Non-linear random number generator based on a cipher that encrypts an incrementing counter.class
Cmwc4096Random
A Java version of George Marsaglia's Complementary Multiply With Carry (CMWC) RNG.class
MersenneTwisterRandom
Random number generator based on the Mersenne Twister algorithm developed by Makoto Matsumoto and Takuji Nishimura.class
Pcg128Random
From the original description, "PCG is a family of simple fast space-efficient statistically good algorithms for random number generation.class
Pcg64Random
From the original description, "PCG is a family of simple fast space-efficient statistically good algorithms for random number generation.class
XorShiftRandom
Very fast pseudo random number generator. -
Uses of BaseRandom in io.github.pr0methean.betterrandom.prng.adapter
Subclasses of BaseRandom in io.github.pr0methean.betterrandom.prng.adapter Modifier and Type Class Description class
BaseSplittableRandomAdapter
Abstract class for implementations ofBaseRandom
that wrap one or moreSplittableRandom
instances.class
DirectSplittableRandomAdapter
Abstract subclass ofBaseSplittableRandomAdapter
whereDirectSplittableRandomAdapter.setSeed(long)
andsetSeed(byte[])
replace theSplittableRandom
that's used in the context in which they are called.class
EntropyBlockingRandomWrapper
ARandomWrapper
with the additional property that it won't return any output that would take its entropy below a minimum amount, and will instead either wait to be reseeded by aSimpleRandomSeeder
or, if none is installed, reseed itself on the calling thread with aSeedGenerator
.class
EntropyBlockingSplittableRandomAdapter
ASplittableRandomAdapter
that blocks waiting to be reseeded if its entropy drops too low.class
RandomWrapper
class
ReseedingThreadLocalRandomWrapper
AThreadLocalRandomWrapper
that reseeds all its instances using aSimpleRandomSeeder
.class
SingleThreadSplittableRandomAdapter
Simple, non-thread-safe implementation ofBaseRandom
that wraps aSplittableRandom
.class
SplittableRandomAdapter
Thread-safe PRNG that wraps aThreadLocal
<SplittableRandom
>.class
ThreadLocalRandomWrapper
Wraps aThreadLocal
<BaseRandom
> in order to provide concurrency that most implementations ofBaseRandom
can't implement naturally.Fields in io.github.pr0methean.betterrandom.prng.adapter with type parameters of type BaseRandom Modifier and Type Field Description protected ThreadLocal<? extends BaseRandom>
SplittableRandomAdapter. threadLocal
A thread-local delegate.protected ThreadLocal<BaseRandom>
ThreadLocalRandomWrapper. threadLocal
Holds the delegate for each thread.Methods in io.github.pr0methean.betterrandom.prng.adapter that return BaseRandom Modifier and Type Method Description protected BaseRandom
EntropyBlockingSplittableRandomAdapter. createDelegate()
protected BaseRandom
SplittableRandomAdapter. createDelegate()
Creates the delegate for the calling thread.BaseRandom
ThreadLocalRandomWrapper. getWrapped()
Methods in io.github.pr0methean.betterrandom.prng.adapter that return types with arguments of type BaseRandom Modifier and Type Method Description protected static java8.util.function.Function<byte[],BaseRandom>
ThreadLocalRandomWrapper. wrapLongCreatorAsByteArrayCreator(java8.util.function.LongFunction<Random> legacyCreator)
Constructor parameters in io.github.pr0methean.betterrandom.prng.adapter with type arguments of type BaseRandom Constructor Description ReseedingThreadLocalRandomWrapper(int seedSize, SeedGenerator seedGenerator, java8.util.function.Function<byte[],? extends BaseRandom> creator)
Wraps a seed generator and a function that takes a seed byte array as input.ReseedingThreadLocalRandomWrapper(int seedSize, SimpleRandomSeeder randomSeederThread, java8.util.function.Function<byte[],? extends BaseRandom> creator, SeedGenerator seedGenerator)
Wraps a seed generator and a function that takes a seed byte array as input.ReseedingThreadLocalRandomWrapper(SeedGenerator seedGenerator, java8.util.function.Supplier<? extends BaseRandom> initializer)
Wraps the givenSupplier
.ReseedingThreadLocalRandomWrapper(java8.util.function.Supplier<? extends BaseRandom> initializer, SimpleRandomSeeder randomSeederThread)
Wraps the givenSupplier
.ThreadLocalRandomWrapper(int seedSize, SeedGenerator seedGenerator, java8.util.function.Function<byte[],? extends BaseRandom> creator)
Wraps a seed generator and a function that takes a seed byte array as input.ThreadLocalRandomWrapper(java8.util.function.Supplier<? extends BaseRandom> initializer)
Wraps the givenSupplier
.
-