package rng
- Alphabetic
- Public
- All
Type Members
- abstract class BurtleCompanion [G <: BurtleRot32] extends GeneratorCompanion[G, Array[Int]]
-
final
class
BurtleRot2
extends BurtleRot32
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
Burtle3rotfor better randomness). Algorithm from http://burtleburtle.net/bob/rand/ -
final
class
BurtleRot3
extends BurtleRot32
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
Burtle2rotfor better speed). Algorithm from http://burtleburtle.net/bob/rand/ -
abstract
class
BurtleRot32
extends IntBasedGenerator
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/
- final class Cmwc5 extends LongBasedGenerator
- class CycledFile extends Generator
- class Device extends Generator
- class Lcg32 extends IntBasedGenerator
- final class Lcg64 extends LongBasedGenerator
-
class
Marsaglia32a6
extends IntBasedGenerator
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.
-
final
class
MersenneTwister32
extends IntBasedGenerator
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.
-
final
class
MersenneTwister64
extends LongBasedGenerator
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.
- case class PcgSeed64 (initState: Long, initSeq: Long) extends Product with Serializable
-
class
PcgXshRr64_32
extends IntBasedGenerator
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
- class SecureJava extends IntBasedGenerator
- final class Serial extends LongBasedGenerator
- final class SyncGenerator extends Generator
-
final
class
Well1024a
extends IntBasedGenerator
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.
-
final
class
Well19937a
extends IntBasedGenerator
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.
-
final
class
Well19937c
extends IntBasedGenerator
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.
-
final
class
Well44497a
extends IntBasedGenerator
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.
-
final
class
Well44497b
extends IntBasedGenerator
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.
-
final
class
Well512a
extends IntBasedGenerator
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.
Value Members
- object BurtleRot2 extends BurtleCompanion[BurtleRot2]
- object BurtleRot3 extends BurtleCompanion[BurtleRot3]
- object Cmwc5 extends GeneratorCompanion[Cmwc5, Array[Long]]
- object CycledFile
- object Device
- object Lcg32 extends GeneratorCompanion[Lcg32, Int]
- object Lcg64 extends GeneratorCompanion[Lcg64, Long]
- object Marsaglia32a6 extends GeneratorCompanion[Marsaglia32a6, Array[Int]]
- object MersenneTwister32 extends GeneratorCompanion[MersenneTwister32, (Array[Int], Int)]
- object MersenneTwister64 extends GeneratorCompanion[MersenneTwister64, (Array[Long], Int)]
- object PcgXshRr64_32 extends GeneratorCompanion[PcgXshRr64_32, PcgSeed64]
- object SecureJava
- object Serial extends GeneratorCompanion[Serial, Long]
- object SyncGenerator
-
object
Utils
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.
- object Well1024a extends GeneratorCompanion[Well1024a, (Array[Int], Int)]
- object Well19937a extends GeneratorCompanion[Well19937a, (Array[Int], Int)]
- object Well19937c extends GeneratorCompanion[Well19937c, (Array[Int], Int)]
- object Well44497a extends GeneratorCompanion[Well44497a, (Array[Int], Int)]
- object Well44497b extends GeneratorCompanion[Well44497b, (Array[Int], Int)]
- object Well512a extends GeneratorCompanion[Well512a, (Array[Int], Int)]