
SSJ V. 1.2.5. 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface RandomStream
This interface defines the basic structures to handle multiple streams of uniform (pseudo)random numbers and convenient tools to move around within and across these streams. The actual random number generators (RNGs) are provided in classes that implement this RandomStream interface. Each stream of random numbers is an object of the class that implements this interface, and can be viewed as a virtual random number generator.
For each type of base RNG (i.e., each implementation of the RandomStream interface), the full period of the generator is cut into adjacent streams (or segments) of length Z, and each of these streams is partitioned into V substreams of length W, where Z = VW. The values of V and W depend on the specific RNG, but are usually larger than 2^{50}. Thus, the distance Z between the starting points of two successive streams provided by an RNG usually exceeds 2^{100}. The initial seed of the RNG is the starting point of the first stream. It has a default value for each type of RNG, but this initial value can be changed by calling setPackageSeed for the corresponding class. Each time a new RandomStream is created, its starting point (initial seed) is computed automatically, Z steps ahead of the starting point of the previously created stream of the same type, and its current state is set equal to this starting point.
For each stream, one can advance by one step and generate one value,
or go ahead to the beginning of the next substream within this stream,
or go back to the beginning of the current substream, or to the beginning
of the stream, or jump ahead or back by an arbitrary number of steps.
Denote by C_{g} the current state of a stream g,
I_{g} its initial state, B_{g} the state at the beginning of the
current substream, and N_{g} the state at the beginning of the next substream.
The form of the state of a stream depends on its type.
For example, the state of a stream of class MRG32k3a
is a vector
of six 32bit integers represented internally as floatingpoint numbers
(in double).
The methods for manipulating the streams and generating random numbers are implemented differently for each type of RNG. The methods whose formal parameter types do not depend on the RNG type are specified in the interface RandomStream. The others (e.g., for setting the seeds) are given only in the classes that implement the specific RNG types.
Methods for generating random variates from nonuniform distributions
are provided in the randvar
package.
Method Summary  

void 
nextArrayOfDouble(double[] u,
int start,
int n)
Generates n (pseudo)random numbers from the uniform distribution and stores them into the array u starting at index start. 
void 
nextArrayOfInt(int i,
int j,
int[] u,
int start,
int n)
Generates n (pseudo)random numbers from the discrete uniform distribution over the integers {i, i + 1,..., j}, using this stream and stores the result in the array u starting at index start. 
double 
nextDouble()
Returns a (pseudo)random number from the uniform distribution over the interval [0, 1), using this stream, after advancing its state by one step. 
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. 
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}. 
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}. 
String 
toString()
Returns a string containing the current state of this stream. 
Method Detail 

void resetStartStream()
void resetStartSubstream()
void resetNextSubstream()
String toString()
toString
in class Object
double nextDouble()
void nextArrayOfDouble(double[] u, int start, int n)
u
 array that will contain the generated uniformsstart
 starting index, in the array u, to write uniforms fromn
 number of uniforms to generateint nextInt(int i, int j)
i
 smallest integer that can be generatedj
 greatest integer that can be generated
void nextArrayOfInt(int i, int j, int[] u, int start, int n)
i
 smallest integer that can be generatedj
 greatest integer that can be generatedu
 array that will contain the generated valuesstart
 starting index, in the array u, to write integers fromn
 number of values being generated

SSJ V. 1.2.5. 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 