org.omegahat.Simulation.RandomGenerators
Class MultiplicativeCongruentialPRNG

java.lang.Object
  |
  +--org.omegahat.Simulation.RandomGenerators.MultiplicativeCongruentialPRNG

public class MultiplicativeCongruentialPRNG
extends java.lang.Object

Compute pseudo-random number using multiplicative congruential formula. The next value is computed using the formula: X[t+1] = X[t] * mult % mod


Field Summary
 long mod
          Modulus constant
 long mult
          Multiplicative constant
 long seed
          Seed value in [1, 2^31-1]
 
Constructor Summary
(package private) MultiplicativeCongruentialPRNG()
          Create a Multiplicative Congruential Generator using the default seed, multiplier and modulus constants.
(package private) MultiplicativeCongruentialPRNG(int newSeed)
          Create A Multiplicative Congruential Generator using a specified seed.
(package private) MultiplicativeCongruentialPRNG(int newSeed, int newMult)
          Create A Multiplicative Congruential Generator using a specified seed and multiplicative constant.
(package private) MultiplicativeCongruentialPRNG(int newSeed, int newMult, int newMod)
          Create A Multiplicative Congruential Generator using a specified seed and multiplicative constant.
 
Method Summary
 double nextDouble()
          Generate a random double in [0,1)
 int nextInt()
          Generate a random integer in [1,Mod]
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

seed

public long seed
Seed value in [1, 2^31-1]

mult

public long mult
Multiplicative constant

mod

public long mod
Modulus constant
Constructor Detail

MultiplicativeCongruentialPRNG

MultiplicativeCongruentialPRNG()
Create a Multiplicative Congruential Generator using the default seed, multiplier and modulus constants.

MultiplicativeCongruentialPRNG

MultiplicativeCongruentialPRNG(int newSeed)
Create A Multiplicative Congruential Generator using a specified seed.
Parameters:
newSeed - Value in [1,2^31-1] for the seed

MultiplicativeCongruentialPRNG

MultiplicativeCongruentialPRNG(int newSeed,
                               int newMult)
Create A Multiplicative Congruential Generator using a specified seed and multiplicative constant.
Parameters:
newSeed - Value in [1,2^31-1] for the seed
newMult - Value in [1,2^32-1] for the multiplier

MultiplicativeCongruentialPRNG

MultiplicativeCongruentialPRNG(int newSeed,
                               int newMult,
                               int newMod)
Create A Multiplicative Congruential Generator using a specified seed and multiplicative constant.
Parameters:
newSeed - Value in [1,2^31-1] for the seed
newMult - Value in [1,2^32-1] for the multiplier constant
newMod - Value in [1,2^32-1] for the modulus constant
Method Detail

nextInt

public int nextInt()
Generate a random integer in [1,Mod]

nextDouble

public double nextDouble()
Generate a random double in [0,1)