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 and setStateInternal 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 type int.
  • 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.
    IntProvider
    Base class for all implementations that provide an int-based source randomness.
    ISAACRandom
    A fast cryptographic pseudo-random number generator.
    JDKRandom
    A provider that uses the Random.nextInt() method of the JDK's Random class as the source of randomness.
    KISSRandom
    Port from Marsaglia's "KISS" algorithm.
    MersenneTwister
    This class implements a powerful pseudo-random number generator developed by Makoto Matsumoto and Takuji Nishimura during 1996-1997.
    MultiplyWithCarry256
    Port from Marsaglia's "Multiply-With-Carry" algorithm.
    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 for float generation.
    XoRoShiRo64StarStar
    A fast all-purpose 32-bit generator.
    XoShiRo128Plus
    A fast 32-bit generator suitable for float generation.
    XoShiRo128StarStar
    A fast all-purpose 32-bit generator.