Colt 1.0.3

edu.cornell.lassp.houle.RngPack
Class Ranmar

java.lang.Object
  |
  +--cern.colt.PersistentObject
        |
        +--edu.cornell.lassp.houle.RngPack.RandomElement
              |
              +--edu.cornell.lassp.houle.RngPack.RandomSeedable
                    |
                    +--edu.cornell.lassp.houle.RngPack.Ranmar
All Implemented Interfaces:
Cloneable, Serializable

public class Ranmar
extends RandomSeedable

RANMAR is a lagged Fibonacci generator proposed by Marsaglia and Zaman and is a good research grade generator. This version of RANMAR is based on the paper by James, which is a good reference for the properties of RANMAR and several other generators.
REFERENCES:
F. James, Comp. Phys. Comm. 60 (1990) p 329-344
and was originally described in
G. Marsaglia, A. Zaman and W.-W Tsang, Stat. Prob. Lett 9 (1990) p 35. More info .

Source code is available.

See Also:
Serialized Form

Field Summary
static int BIG_PRIME
          The 46,009,220nd prime number, he largest prime less than 9*108.
static int DEFSEED
          Default seed.
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
Ranmar()
          Initialize Ranmar with a default seed taken from Marsaglia and Zaman's paper.
Ranmar(Date d)
          Seed RANMAR from the clock.
Ranmar(int ijkl)
          Initialize Ranmar with a specified integer seed
Ranmar(long ijkl)
          Initialize Ranmar with a specified long seed
 
Method Summary
 Object clone()
          Returns a copy of the receiver; the copy will produce identical sequences.
 double raw()
          Returns a uniformly distributed pseudo-random double in the range (0,1).
 void raw(double[] d, int n)
          A version of the generator for filling arrays, inlined for speed
 
Methods inherited from class edu.cornell.lassp.houle.RngPack.RandomSeedable
ClockSeed, ClockSeed
 
Methods inherited from class edu.cornell.lassp.houle.RngPack.RandomElement
choose, choose, gaussian, gaussian, powlaw, raw, uniform
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFSEED

public static int DEFSEED
Default seed. DEFSEED=54217137

BIG_PRIME

public static int BIG_PRIME
The 46,009,220nd prime number, he largest prime less than 9*108. Used as a modulus because this version of RANMAR needs a seed between 0 and 9*108 and BIG_PRIME isn't commensurate with any regular period. BIG_PRIME= 899999963
Constructor Detail

Ranmar

public Ranmar()
Initialize Ranmar with a default seed taken from Marsaglia and Zaman's paper. Equivalent to Ranmar(54217137).

Ranmar

public Ranmar(int ijkl)
Initialize Ranmar with a specified integer seed
Parameters:
ijkl - seed integer; Ranmar(int ijkl) takes uses ijkl modulus BIG_PRIME as a seed for RANMAR.

Ranmar

public Ranmar(long ijkl)
Initialize Ranmar with a specified long seed
Parameters:
ijkl - seed long; Ranmar(long ijkl) takes uses ijkl modulus BIG_PRIME as a seed for RANMAR.

Ranmar

public Ranmar(Date d)
Seed RANMAR from the clock.
 RandomElement e=new Ranmar(new Date());
 
Parameters:
d - a Date object to seed Ranmar with, typically new Date()
Method Detail

clone

public Object clone()
Returns a copy of the receiver; the copy will produce identical sequences. After this call has returned, the copy and the receiver have equal but separate state.
Overrides:
clone in class PersistentObject
Returns:
a copy of the receiver.

raw

public final double raw()
Returns a uniformly distributed pseudo-random double in the range (0,1).
Overrides:
raw in class RandomElement
Returns:
a pseudo random number in the range (0,1).

raw

public final void raw(double[] d,
                      int n)
A version of the generator for filling arrays, inlined for speed
Overrides:
raw in class RandomElement
Parameters:
d - an array of doubles to be filled
n - size of the array

Colt 1.0.3

Submit a bug or feature. Check the Colt home page for the latest news.