Package org.apache.commons.rng.core.source32
Concrete algorithms for
int
-based sources of randomness.
For internal use only: Direct access to classes in this package is discouraged, as they could be modified without notice.
Notes for developers
-
A source of randomness must inherit from
IntProvider
- The "provider" must specify one way for setting the seed. For a given seed, the generated sequence must always be the same.
-
The "provider" must implement methods
getStateInternal
andsetStateInternal
in order to save and restore the state of an instance (cf.BaseProvider
). -
When a new class is implemented here, user-access to it must be
provided through associated
RandomSource
factory methods defined in module "commons-rng-simple".
-
Interface Summary Interface Description RandomIntSource Source of randomness that generates values of typeint
. -
Class Summary Class Description AbstractWell This abstract class implements the WELL class of pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.AbstractWell.IndexTable Inner class used to store the indirection index table which is fixed for a given type of WELL class of pseudo-random number generator.DotyHumphreySmallFastCounting32 Implement the Small, Fast, Counting (SFC) 32-bit generator of Chris Doty-Humphrey.IntProvider Base class for all implementations that provide anint
-based source randomness.ISAACRandom A fast cryptographic pseudo-random number generator.JDKRandom A provider that uses theRandom.nextInt()
method of the JDK'sRandom
class as the source of randomness.JenkinsSmallFast32 Implement Bob Jenkins's small fast (JSF) 32-bit generator.KISSRandom Port from Marsaglia's "KISS" algorithm.L32X64Mix A 32-bit all purpose generator.MersenneTwister This class implements a powerful pseudo-random number generator developed by Makoto Matsumoto and Takuji Nishimura during 1996-1997.MiddleSquareWeylSequence Middle Square Weyl Sequence Random Number Generator.MultiplyWithCarry256 Port from Marsaglia's "Multiply-With-Carry" algorithm.PcgMcgXshRr32 A Permuted Congruential Generator (PCG) that is composed of a 64-bit Multiplicative Congruential Generator (MCG) combined with the XSH-RR (xorshift; random rotate) output transformation to create 32-bit output.PcgMcgXshRs32 A Permuted Congruential Generator (PCG) that is composed of a 64-bit Multiplicative Congruential Generator (MCG) combined with the XSH-RS (xorshift; random shift) output transformation to create 32-bit output.PcgXshRr32 A Permuted Congruential Generator (PCG) that is composed of a 64-bit Linear Congruential Generator (LCG) combined with the XSH-RR (xorshift; random rotate) output transformation to create 32-bit output.PcgXshRs32 A Permuted Congruential Generator (PCG) that is composed of a 64-bit Linear Congruential Generator (LCG) combined with the XSH-RS (xorshift; random shift) output transformation to create 32-bit output.Well1024a This class implements the WELL1024a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.Well19937a This class implements the WELL19937a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.Well19937c This class implements the WELL19937c pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.Well44497a This class implements the WELL44497a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.Well44497b This class implements the WELL44497b pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.Well512a This class implements the WELL512a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.XoRoShiRo64Star A fast 32-bit generator suitable forfloat
generation.XoRoShiRo64StarStar A fast all-purpose 32-bit generator.XoShiRo128Plus A fast 32-bit generator suitable forfloat
generation.XoShiRo128PlusPlus A fast all-purpose 32-bit generator.XoShiRo128StarStar A fast all-purpose 32-bit generator.