Class edu.cornell.lassp.houle.RngPack.Ranmar
All Packages Class Hierarchy This Package Previous Next Index
Class edu.cornell.lassp.houle.RngPack.Ranmar
java.lang.Object
|
+----edu.cornell.lassp.houle.RngPack.RandomElement
|
+----edu.cornell.lassp.houle.RngPack.RandomSeedable
|
+----edu.cornell.lassp.houle.RngPack.Ranmar
- 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.
Source code is available.
- Version:
- 1.0
- Author:
- Paul Houle (E-mail: houle@msc.cornell.edu)
-
BIG_PRIME
- The 46,009,220nd prime number,
he largest prime less than 9*108.
-
DEFSEED
- Default seed.
-
Ranmar(int)
-
Initialize Ranmar with a specified integer seed
-
Ranmar(long)
-
Initialize Ranmar with a specified long seed
-
Ranmar()
-
Initialize Ranmar with a default seed taken from Marsaglia and
Zaman's paper.
-
Ranmar(Date)
-
Seed RANMAR from the clock.
-
raw()
- The generator
-
raw(double[], int)
-
A version of the generator for filling arrays, inlined for speed
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
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()
- Initialize Ranmar with a default seed taken from Marsaglia and
Zaman's paper. Equivalent to
Ranmar(54217137).
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()
raw
public final double raw()
- The generator
- Returns:
- a pseudo random number
- Overrides:
- raw in class RandomElement
raw
public final void raw(double d[],
int n)
- A version of the generator for filling arrays, inlined for speed
- Parameters:
- d - an array of doubles to be filled
- n - size of the array
- Overrides:
- raw in class RandomElement
All Packages Class Hierarchy This Package Previous Next Index