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 longa12()Retrieve A12longa13()Retrieve A13longa21()Retrieve A21longa23()Retrieve A23longm1()Retrieve M1longm2()Retrieve M2static MultipleRecursiveGeneratorLEcuyerMRG32k3a()Generate the MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generatorlongnext()Generate the Next Number in the Sequencelongy1Prev()Retrieve Y1 Previouslongy1PrevPrev()Retrieve Y1 Previous Previouslongy1PrevPrevPrev()Retrieve Y1 Previous Previous Previouslongy2Prev()Retrieve Y2 Previouslongy2PrevPrev()Retrieve Y2 Previous Previouslongy2PrevPrevPrev()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:RecursiveGeneratorGenerate the Next Number in the Sequence- Specified by:
nextin interfaceRecursiveGenerator- Returns:
- The Next Number in the Sequence
-