Package org.drip.measure.crng
Class MultipleRecursiveGeneratorLEcuyer
java.lang.Object
org.drip.measure.crng.MultipleRecursiveGeneratorLEcuyer
- All Implemented Interfaces:
RecursiveGenerator
public class MultipleRecursiveGeneratorLEcuyer extends java.lang.Object implements RecursiveGenerator
MultipleRecursiveGeneratorLEcuyer - L'Ecuyer's Multiple Recursive Generator - combines Multiple
Recursive Sequences to produce a Large State Space with good Randomness Properties. MRG32k3a is a special
Type of MultipleRecursiveGeneratorLEcuyer.
- Module = Computational Core Module
- Library = Numerical Analysis Library
- Project = Rd Continuous/Discrete Probability Measures
- Package = Continuous Random Number Stream Generator
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description MultipleRecursiveGeneratorLEcuyer(long lY1Prev, long lY1PrevPrev, long lY1PrevPrevPrev, long lY2Prev, long lY2PrevPrev, long lY2PrevPrevPrev, long lA12, long lA13, long lA21, long lA23, long lM1, long lM2)
MultipleRecursiveGeneratorLEcuyer Constructor -
Method Summary
Modifier and Type Method Description long
a12()
Retrieve A12long
a13()
Retrieve A13long
a21()
Retrieve A21long
a23()
Retrieve A23long
m1()
Retrieve M1long
m2()
Retrieve M2static MultipleRecursiveGeneratorLEcuyer
MRG32k3a()
Generate the MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generatorlong
next()
Generate the Next Number in the Sequencelong
y1Prev()
Retrieve Y1 Previouslong
y1PrevPrev()
Retrieve Y1 Previous Previouslong
y1PrevPrevPrev()
Retrieve Y1 Previous Previous Previouslong
y2Prev()
Retrieve Y2 Previouslong
y2PrevPrev()
Retrieve Y2 Previous Previouslong
y2PrevPrevPrev()
Retrieve Y2 Previous Previous PreviousMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
MultipleRecursiveGeneratorLEcuyer
public MultipleRecursiveGeneratorLEcuyer(long lY1Prev, long lY1PrevPrev, long lY1PrevPrevPrev, long lY2Prev, long lY2PrevPrev, long lY2PrevPrevPrev, long lA12, long lA13, long lA21, long lA23, long lM1, long lM2) throws java.lang.ExceptionMultipleRecursiveGeneratorLEcuyer Constructor- Parameters:
lY1Prev
- Y1 PreviouslY1PrevPrev
- Y1 Previous PreviouslY1PrevPrevPrev
- Y1 Previous Previous PreviouslY2Prev
- Y2 PreviouslY2PrevPrev
- Y2 Previous PreviouslY2PrevPrevPrev
- Y2 Previous Previous PreviouslA12
- A12lA13
- A13lA21
- A21lA23
- A23lM1
- M1lM2
- M2- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
MRG32k3a
Generate the MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generator- Returns:
- The MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generator
-
m1
public long m1()Retrieve M1- Returns:
- M1
-
m2
public long m2()Retrieve M2- Returns:
- M2
-
a12
public long a12()Retrieve A12- Returns:
- A12
-
a13
public long a13()Retrieve A13- Returns:
- A13
-
a21
public long a21()Retrieve A21- Returns:
- A21
-
a23
public long a23()Retrieve A23- Returns:
- A23
-
y1Prev
public long y1Prev()Retrieve Y1 Previous- Returns:
- Y1 Previous
-
y1PrevPrev
public long y1PrevPrev()Retrieve Y1 Previous Previous- Returns:
- Y1 Previous Previous
-
y1PrevPrevPrev
public long y1PrevPrevPrev()Retrieve Y1 Previous Previous Previous- Returns:
- Y1 Previous Previous Previous
-
y2Prev
public long y2Prev()Retrieve Y2 Previous- Returns:
- Y2 Previous
-
y2PrevPrev
public long y2PrevPrev()Retrieve Y2 Previous Previous- Returns:
- Y2 Previous Previous
-
y2PrevPrevPrev
public long y2PrevPrevPrev()Retrieve Y2 Previous Previous Previous- Returns:
- Y2 Previous Previous Previous
-
next
public long next()Description copied from interface:RecursiveGenerator
Generate the Next Number in the Sequence- Specified by:
next
in interfaceRecursiveGenerator
- Returns:
- The Next Number in the Sequence
-