SSJ
3.3.1
Stochastic Simulation in Java
|
Extends RandomStreamBase using a 64-bit composite linear feedback shift register (LFSR) (or Tausworthe) RNG as defined in [147], [229] . More...
Public Member Functions | |
LFSR258 () | |
Constructs a new stream. | |
LFSR258 (String name) | |
Constructs a new stream with the identifier name . More... | |
void | setSeed (long seed[]) |
This method is discouraged for normal use. More... | |
long [] | getState () |
Returns the current state of the stream, represented as an array of five integers. More... | |
LFSR258 | clone () |
Clones the current generator and return its copy. 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... | |
int | nextInt (int i, int j) |
Returns a (pseudo)random number from the discrete uniform distribution over the integers \(\{i,i+1,…,j\}\), using this stream. 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 (long seed[]) |
Sets the initial seed for the class LFSR258 to the five integers of array seed[0..4] . More... | |
Protected Member Functions | |
double | nextValue () |
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... | |
Package Attributes | |
long | z1 |
long | z2 |
long | z3 |
long | z4 |
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 |
Extends RandomStreamBase using a 64-bit composite linear feedback shift register (LFSR) (or Tausworthe) RNG as defined in [147], [229] .
This generator is the LFSR258
proposed in [149] . It has five components combined by a bitwise xor. Its period length is \(\rho\approx2^{258}\). The values of \(V\), \(W\) and \(Z\) are \(2^{100}\), \(2^{100}\) and \(2^{200}\) respectively (see RandomStream for their definition). The seed of the RNG, and the state of a stream at any given step, are five-dimensional vectors of 64-bit integers. The default initial seed [1] of the RNG is (123456789123456789, 123456789123456789, 123456789123456789, 123456789123456789, 123456789123456789). The nextValue
method returns numbers with 53 bits of precision. This generator is fast for 64-bit machines.
LFSR258 | ( | String | name | ) |
Constructs a new stream with the identifier name
.
name | name of the stream |
LFSR258 clone | ( | ) |
Clones the current generator and return its copy.
Implements CloneableRandomStream.
long [] getState | ( | ) |
Returns the current state of the stream, represented as an array of five integers.
int nextInt | ( | int | i, |
int | j | ||
) |
Returns a (pseudo)random number from the discrete uniform distribution over the integers \(\{i,i+1,…,j\}\), using this stream.
(Calls nextDouble
once.)
i | smallest integer that can be generated |
j | greatest integer that can be generated |
Implements RandomStream.
|
static |
Sets the initial seed for the class LFSR258
to the five integers of array seed[0..4]
.
This will be the initial state of the next created stream. The default seed [2] for the first stream is (123456789123456789, 123456789123456789, 123456789123456789, 123456789123456789, 123456789123456789). The first, second, third, fourth and fifth integers of seed
must be either negative, or greater than or equal to 2, 512, 4096, 131072 and 8388608 respectively.
seed | array of 5 elements representing the seed |
void setSeed | ( | long | seed[] | ) |
This method is discouraged for normal use.
Initializes the stream at the beginning of a stream with the initial seed seed[0..4]
. The seed must satisfy the same conditions as in setPackageSeed
. This method only affects the specified stream; the others are not modified, so the beginning of the streams will not 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 5 elements representing the seed |
String toString | ( | ) |
Returns a string containing the current state of this stream.
Implements RandomStream.