Uses of Interface
io.github.pr0methean.betterrandom.ByteArrayReseedableRandom
-
Packages that use ByteArrayReseedableRandom 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.io.github.pr0methean.betterrandom.seed Tools to obtain and apply truly-random seeds forRandom
implementations, especially those that also implementByteArrayReseedableRandom
. -
-
Uses of ByteArrayReseedableRandom in io.github.pr0methean.betterrandom.prng
Classes in io.github.pr0methean.betterrandom.prng that implement ByteArrayReseedableRandom Modifier and Type Class Description class
AesCounterRandom
CipherCounterRandom using AES (Rijndael).class
BaseRandom
AbstractRandom
with a seed field and an implementation of entropy counting.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 ByteArrayReseedableRandom in io.github.pr0methean.betterrandom.prng.adapter
Classes in io.github.pr0methean.betterrandom.prng.adapter that implement ByteArrayReseedableRandom 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)
andBaseRandom.setSeed(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. -
Uses of ByteArrayReseedableRandom in io.github.pr0methean.betterrandom.seed
Fields in io.github.pr0methean.betterrandom.seed with type parameters of type ByteArrayReseedableRandom Modifier and Type Field Description protected Set<ByteArrayReseedableRandom>
SimpleRandomSeeder. byteArrayPrngs
HoldsByteArrayReseedableRandom
instances that should be reseeded when their entropy is low, or as often as possible if they don't implementEntropyCountingRandom
.protected Set<ByteArrayReseedableRandom>
SimpleRandomSeeder. byteArrayPrngsThisIteration
Holds instances that are being reseeded during the current iteration, so that PRNGs can be added and removed in the middle of an iteration without theConcurrentModificationException
that would otherwise arise.Methods in io.github.pr0methean.betterrandom.seed with parameters of type ByteArrayReseedableRandom Modifier and Type Method Description void
SimpleRandomSeeder. add(ByteArrayReseedableRandom... randoms)
AddsByteArrayReseedableRandom
instances.Method parameters in io.github.pr0methean.betterrandom.seed with type arguments of type ByteArrayReseedableRandom Modifier and Type Method Description void
SimpleRandomSeeder. add(Collection<? extends ByteArrayReseedableRandom> randoms)
AddsByteArrayReseedableRandom
instances.
-