SSJ
3.3.1
Stochastic Simulation in Java
|
This class implements the RandomStream interface via inheritance from RandomStreamBase. More...
Public Member Functions | |
WELL607 () | |
Constructs a new stream. | |
WELL607 (String name) | |
Constructs a new stream with the identifier name (used in the toString method). More... | |
void | setSeed (int seed[]) |
This method is discouraged for normal use. More... | |
int [] | getState () |
Returns the current state of the stream, represented as an array of 19 integers. More... | |
void | resetStartStream () |
Reinitializes the stream to its initial state \(I_g\): \(C_g\) and \(B_g\) are set to \(I_g\). | |
void | resetStartSubstream () |
Reinitializes the stream to the beginning of its current substream: \(C_g\) is set to \(B_g\). | |
void | resetNextSubstream () |
Reinitializes the stream to the beginning of its next substream: \(N_g\) is computed, and \(C_g\) and \(B_g\) are set to \(N_g\). | |
String | toString () |
Returns a string containing the current state of this stream. More... | |
WELL607 | clone () |
Clones the current generator and return its copy. More... | |
Public Member Functions inherited from WELL607base | |
WELL607base | clone () |
Clones the current object and returns its copy. More... | |
Public Member Functions inherited from RandomStreamBase | |
abstract void | resetStartStream () |
Reinitializes the stream to its initial state \(I_g\): \(C_g\) and \(B_g\) are set to \(I_g\). | |
abstract void | resetStartSubstream () |
Reinitializes the stream to the beginning of its current substream: \(C_g\) is set to \(B_g\). | |
abstract void | resetNextSubstream () |
Reinitializes the stream to the beginning of its next substream: \(N_g\) is computed, and \(C_g\) and \(B_g\) are set to \(N_g\). | |
abstract String | toString () |
Returns a string containing the current state of this stream. More... | |
void | increasedPrecision (boolean incp) |
After calling this method with incp = true , each call to the RNG (direct or indirect) for this stream will return a uniform random number with more bits of precision than what is returned by nextValue , and will advance the state of the stream by 2 steps instead of 1 (i.e., nextValue will be called twice for each random number). More... | |
double | nextDouble () |
Returns a uniform random number between 0 and 1 from the stream. More... | |
void | nextArrayOfDouble (double[] u, int start, int n) |
Calls nextDouble n times to fill the array u . More... | |
int | nextInt (int i, int j) |
Calls nextDouble once to create one integer between i and j . More... | |
void | nextArrayOfInt (int i, int j, int[] u, int start, int n) |
Calls nextInt n times to fill the array u . More... | |
String | formatState () |
Use the toString method. | |
String | formatStateFull () |
Use the toStringFull method. | |
RandomStreamBase | clone () |
Clones the current generator and return its copy. More... | |
Static Public Member Functions | |
static void | setPackageSeed (int seed[]) |
Sets the initial seed of the class WELL607 to the 19 integers of the vector seed[0..18] . More... | |
Protected Member Functions | |
double | nextValue () |
Protected Member Functions inherited from WELL607base | |
void | advanceSeed (int[] seed, int [] p) |
Protected Member Functions inherited from RandomStreamBase | |
abstract double | nextValue () |
This method should return the next random number (between 0 and 1) from the current stream. More... | |
Static Package Attributes | |
static final int [] | pw |
static final int [] | pz |
Static Package Attributes inherited from WELL607base | |
static final double | NORM = (1.0 / 0x100000001L) |
static final int | R = 19 |
static final int | BUFFER_SIZE = 32 |
static final int | NUM_BITS = 608 |
static final int | MASK_STATE = 0x0000001F |
static final int | W = 32 |
static final int | P = 1 |
static final int | MASKU = (0xffffffff >>> (W - P)) |
static final int | MASKL = (~MASKU) |
static final int | M1 = 16 |
static final int | M2 = 15 |
static final int | M3 = 14 |
static final int | R1 = 18 |
static final int | R2 = 17 |
static final int | w = 250 |
static final int | v = 150 |
Additional Inherited Members | |
Protected Attributes inherited from RandomStreamBase | |
String | name = null |
boolean | prec53 = false |
boolean | anti = false |
Static Protected Attributes inherited from RandomStreamBase | |
static double | invtwo24 = 5.9604644775390625e-8 |
Package Functions inherited from WELL607base | |
int [] | getState () |
String | stringState () |
int | nextInt () |
Static Package Functions inherited from WELL607base | |
static void | verifySeed (int seed[]) |
Package Attributes inherited from WELL607base | |
int | state_i |
int [] | state |
int [] | stream |
int [] | substream |
This class implements the RandomStream interface via inheritance from RandomStreamBase.
The backbone generator is a Well Equidistributed Long period Linear Random Number Generator (WELL), proposed by F. Panneton in [198], [199] . The implemented generator is the WELL607
, which has a state size of 607 bits and a period length of \(\rho\approx\) \(2^{607}\). The values of \(V\), \(W\) and \(Z\) are \(2^{150}\), \(2^{250}\) and \(2^{400}\) respectively (see RandomStream for their definition). The seed of the RNG, and the state of a stream at any given step, is a 19-dimensional vector of 32-bit integers. The output of nextValue
has 32 bits of precision.
WELL607 | ( | String | name | ) |
Constructs a new stream with the identifier name
(used in the toString
method).
name | name of the stream |
WELL607 clone | ( | ) |
Clones the current generator and return its copy.
Implements CloneableRandomStream.
int [] getState | ( | ) |
Returns the current state of the stream, represented as an array of 19 integers.
|
static |
Sets the initial seed of the class WELL607
to the 19 integers of the vector seed[0..18]
.
This will be the initial seed of the next created stream. At least one of the integers must not be zero and if this integer is the last one, it must not be equal to 0x80000000
.
seed | array of 19 elements representing the seed |
void setSeed | ( | int | seed[] | ) |
This method is discouraged for normal use.
Initializes the stream at the beginning of a stream with the initial seed seed[0..18]
. The seed must satisfy the same conditions as in setPackageSeed
. This method only affects the specified stream; the others are not modified. Hence after calling this method, the beginning of the streams will no longer be spaced \(Z\) values apart. For this reason, this method should only be used in very exceptional cases; proper use of the reset...
methods and of the stream constructor is preferable.
seed | array of 19 elements representing the seed |
String toString | ( | ) |
Returns a string containing the current state of this stream.
Implements RandomStream.
|
staticpackage |
|
staticpackage |