Package

spire.random

rng

Permalink

package rng

Visibility
  1. Public
  2. All

Type Members

  1. abstract class BurtleCompanion[G <: BurtleRot32] extends GeneratorCompanion[G, Array[Int]]

    Permalink
  2. final class BurtleRot2 extends BurtleRot32

    Permalink

    Bit-mixing random number generator based on rotations from Bob Burtle.

    Bit-mixing random number generator based on rotations from Bob Burtle. Maintains 16 bytes of state information. Good speed and randomness (see Burtle3rot for better randomness). Algorithm from http://burtleburtle.net/bob/rand/

  3. final class BurtleRot3 extends BurtleRot32

    Permalink

    Bit-mixing random number generator based on rotations from Bob Burtle.

    Bit-mixing random number generator based on rotations from Bob Burtle. Maintains 16 bytes of state information. Decent speed and very good randomness (see Burtle2rot for better speed). Algorithm from http://burtleburtle.net/bob/rand/

  4. abstract class BurtleRot32 extends IntBasedGenerator

    Permalink

    Bit-mixing random number generator based on rotations from Bob Burtle.

    Bit-mixing random number generator based on rotations from Bob Burtle. Maintains 16 bytes of state information. Algorithm from http://burtleburtle.net/bob/rand/

  5. final class Cmwc5 extends LongBasedGenerator

    Permalink
  6. class CycledFile extends Generator

    Permalink
  7. class Device extends Generator

    Permalink
  8. class Lcg32 extends IntBasedGenerator

    Permalink
  9. final class Lcg64 extends LongBasedGenerator

    Permalink
  10. class Marsaglia32a6 extends IntBasedGenerator

    Permalink

    Marsaglia "Weyl sequence" RNG with cycle length of 2192 - 232 from http://www.jstatsoft.org/v08/i14/paper.

    Marsaglia "Weyl sequence" RNG with cycle length of 2192 - 232 from http://www.jstatsoft.org/v08/i14/paper. Quite fast and quite random; requires 24 bytes of state.

  11. final class MersenneTwister32 extends IntBasedGenerator

    Permalink

    This is a 32-bit Scala implementation of MersenneTwister based on MT19937.c.

    This is a 32-bit Scala implementation of MersenneTwister based on MT19937.c.

    MersenneTwister is a fast, 623-dimensionally equidistributed pseudo random number generator with a 219937 - 1 long period.

    Reference: Makoto Matsumoto and Takuji Nishimura: "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3--30.

    See also

    Mersenne Twister @ Wikipedia

    Mersenne Twister Home Page

    MT19937.c

  12. final class MersenneTwister64 extends LongBasedGenerator

    Permalink

    This is a 64-bit Scala implementation of MersenneTwister based on MT19937-64.c.

    This is a 64-bit Scala implementation of MersenneTwister based on MT19937-64.c.

    MersenneTwister is a fast, 623-dimensionally equidistributed pseudo random number generator with a 219937 - 1 long period.

    Reference: Makoto Matsumoto and Takuji Nishimura: "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3--30.

    See also

    Mersenne Twister @ Wikipedia

    Mersenne Twister Home Page

    MT19937-64.c

  13. case class PcgSeed64(initState: Long, initSeq: Long) extends Product with Serializable

    Permalink
  14. class PcgXshRr64_32 extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the PCG-XSH-RR-64/32 PRNG based on basic C implementation.

    This is a Scala implementation of the PCG-XSH-RR-64/32 PRNG based on basic C implementation.

    Reference: Melissa E. O'Neill: "PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation", Submitted to ACM Transactions on Mathematical Software.

    See also

    PCG Home Page

  15. class SecureJava extends IntBasedGenerator

    Permalink
  16. final class Serial extends LongBasedGenerator

    Permalink
  17. final class SyncGenerator extends Generator

    Permalink
  18. final class Well1024a extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the Well1024a PRNG based on WELL1024a.c.

    This is a Scala implementation of the Well1024a PRNG based on WELL1024a.c.

    The acronym WELL stands for Well Equidistributed Long-period Linear.

    Reference: François Panneton, Pierre L'Ecuyer and Makoto Matsumoto: "Improved Long-Period Generators Based on Linear Recurrences Modulo 2", ACM Transactions on Mathematical Software, Vol. 32, No. 1, January 2006, pp 1--16.

    See also

    WELL @ Wikipedia

    Well PRNG Home Page

    WELL1024a.c

  19. final class Well19937a extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the Well19937a PRNG based on WELL19937a.c.

    This is a Scala implementation of the Well19937a PRNG based on WELL19937a.c.

    The acronym WELL stands for Well Equidistributed Long-period Linear.

    Reference: François Panneton, Pierre L'Ecuyer and Makoto Matsumoto: "Improved Long-Period Generators Based on Linear Recurrences Modulo 2", ACM Transactions on Mathematical Software, Vol. 32, No. 1, January 2006, pp 1--16.

    See also

    WELL @ Wikipedia

    Well PRNG Home Page

    WELL19937a.c

  20. final class Well19937c extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the Well19937c PRNG based on WELL19937a.c.

    This is a Scala implementation of the Well19937c PRNG based on WELL19937a.c.

    The acronym WELL stands for Well Equidistributed Long-period Linear.

    Reference: François Panneton, Pierre L'Ecuyer and Makoto Matsumoto: "Improved Long-Period Generators Based on Linear Recurrences Modulo 2", ACM Transactions on Mathematical Software, Vol. 32, No. 1, January 2006, pp 1--16.

    See also

    WELL @ Wikipedia

    Well PRNG Home Page

    WELL19937a.c

  21. final class Well44497a extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the Well44497a PRNG based on WELL44497a.c.

    This is a Scala implementation of the Well44497a PRNG based on WELL44497a.c.

    The acronym WELL stands for Well Equidistributed Long-period Linear.

    Reference: François Panneton, Pierre L'Ecuyer and Makoto Matsumoto: "Improved Long-Period Generators Based on Linear Recurrences Modulo 2", ACM Transactions on Mathematical Software, Vol. 32, No. 1, January 2006, pp 1--16.

    See also

    WELL @ Wikipedia

    Well PRNG Home Page

    WELL44497a.c

  22. final class Well44497b extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the Well44497b PRNG based on WELL44497a.c.

    This is a Scala implementation of the Well44497b PRNG based on WELL44497a.c.

    The acronym WELL stands for Well Equidistributed Long-period Linear.

    Reference: François Panneton, Pierre L'Ecuyer and Makoto Matsumoto: "Improved Long-Period Generators Based on Linear Recurrences Modulo 2", ACM Transactions on Mathematical Software, Vol. 32, No. 1, January 2006, pp 1--16.

    See also

    WELL @ Wikipedia

    Well PRNG Home Page

    WELL44497a.c

  23. final class Well512a extends IntBasedGenerator

    Permalink

    This is a Scala implementation of the Well512a PRNG based on WELL512a.c.

    This is a Scala implementation of the Well512a PRNG based on WELL512a.c.

    The acronym WELL stands for Well Equidistributed Long-period Linear.

    Reference: François Panneton, Pierre L'Ecuyer and Makoto Matsumoto: "Improved Long-Period Generators Based on Linear Recurrences Modulo 2", ACM Transactions on Mathematical Software, Vol. 32, No. 1, January 2006, pp 1--16.

    See also

    WELL @ Wikipedia

    Well PRNG Home Page

    WELL512a.c

Value Members

  1. object BurtleRot2 extends BurtleCompanion[BurtleRot2]

    Permalink
  2. object BurtleRot3 extends BurtleCompanion[BurtleRot3]

    Permalink
  3. object Cmwc5 extends GeneratorCompanion[Cmwc5, Array[Long]]

    Permalink
  4. object CycledFile

    Permalink
  5. object Device

    Permalink
  6. object Lcg32 extends GeneratorCompanion[Lcg32, Int]

    Permalink
  7. object Lcg64 extends GeneratorCompanion[Lcg64, Long]

    Permalink
  8. object Marsaglia32a6 extends GeneratorCompanion[Marsaglia32a6, Array[Int]]

    Permalink
  9. object MersenneTwister32 extends GeneratorCompanion[MersenneTwister32, (Array[Int], Int)]

    Permalink
  10. object MersenneTwister64 extends GeneratorCompanion[MersenneTwister64, (Array[Long], Int)]

    Permalink
  11. object PcgXshRr64_32 extends GeneratorCompanion[PcgXshRr64_32, PcgSeed64]

    Permalink
  12. object SecureJava

    Permalink
  13. object Serial extends GeneratorCompanion[Serial, Long]

    Permalink
  14. object SyncGenerator

    Permalink
  15. object Utils

    Permalink

    This object provides helper functions used for seeding arrays of integers or longs.

    This object provides helper functions used for seeding arrays of integers or longs.

    The seeding functions are an adaptation/port of code from the the 32-bit and 64-bit implementations of MersenneTwister (MT19937.c, MT19937-64.c).

    MersenneTwister is a fast, 623-dimensionally equidistributed pseudo random number generator with a 219937 - 1 long period.

    Reference: Makato Matsumoto and Takuji Nishimura: "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3--30.

    See also

    Mersenne Twister @ Wikipedia

    Mersenne Twister Home Page

    MT19937-64.c

    MT19937.c

  16. object Well1024a extends GeneratorCompanion[Well1024a, (Array[Int], Int)]

    Permalink
  17. object Well19937a extends GeneratorCompanion[Well19937a, (Array[Int], Int)]

    Permalink
  18. object Well19937c extends GeneratorCompanion[Well19937c, (Array[Int], Int)]

    Permalink
  19. object Well44497a extends GeneratorCompanion[Well44497a, (Array[Int], Int)]

    Permalink
  20. object Well44497b extends GeneratorCompanion[Well44497b, (Array[Int], Int)]

    Permalink
  21. object Well512a extends GeneratorCompanion[Well512a, (Array[Int], Int)]

    Permalink

Ungrouped