edu.cornell.lassp.houle.RngPack
Class Ranecu
- java.lang.Object
-
- edu.cornell.lassp.houle.RngPack.RandomElement
-
- edu.cornell.lassp.houle.RngPack.RandomSeedable
-
- edu.cornell.lassp.houle.RngPack.Ranecu
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable
public class Ranecu extends RandomSeedable implements java.io.Serializable
Ranecu is an advanced multiplicative linear congruential random number generator with a period of aproximately 1018. Ranecu is a direct translation from Fortran of the RANECU subroutine published in the paper
F. James, Comp. Phys. Comm. 60 (1990) p 329-344
The algorithm was originally described in
P. L'Ecuyer, Commun. ACM. 1988 (1988) p 742
Source code is available.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static intDEFSEED1default iseed1 = 12345static intDEFSEED2default iseed2 = 67890
-
Constructor Summary
Constructors Constructor and Description Ranecu()InitializeRANECU with the default seeds from James.Ranecu(java.util.Date d)Ranecu(int s1, int s2)InitializeRANECU with two specified integer seeds.Ranecu(long l)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description longgetSeed()doubleraw()The abstract method that must be defined to make a working RandomElement.voidraw(double[] d, int n)This is an inline version that returns an array of doubles for speed.-
Methods inherited from class edu.cornell.lassp.houle.RngPack.RandomSeedable
ClockSeed, ClockSeed
-
-
-
-
Field Detail
-
DEFSEED1
public static int DEFSEED1
default iseed1 = 12345
-
DEFSEED2
public static int DEFSEED2
default iseed2 = 67890
-
-
Constructor Detail
-
Ranecu
public Ranecu()
InitializeRANECU with the default seeds from James.
-
Ranecu
public Ranecu(int s1, int s2)InitializeRANECU with two specified integer seeds. Use this to introduce repeatable seeds. Equivalent toRanecu(s1*(long) Integer.MAX_VALUE)+s2)- Parameters:
s1- seed integer 1 (MSW)s2- seed integer 2 (LSW)
-
Ranecu
public Ranecu(long l)
-
Ranecu
public Ranecu(java.util.Date d)
-
-
Method Detail
-
raw
public final double raw()
Description copied from class:RandomElementThe abstract method that must be defined to make a working RandomElement. See the classRandomJavafor an example of how to do this.- Specified by:
rawin classRandomElement- Returns:
- a random double in the range [0,1]
- See Also:
RandomElement.raw()
-
raw
public final void raw(double[] d, int n)This is an inline version that returns an array of doubles for speed.- Overrides:
rawin classRandomElement- Parameters:
d- array to be filled with doublesn- number of doubles to generate
-
getSeed
public long getSeed()
- Returns:
- the current generator state as a long. Can be used to restart the generator where one left off.
-
-
DMelt 3.0 © DataMelt by jWork.ORG