SSJ
V. 1.2.5.

umontreal.iro.lecuyer.rng
Class WELL1024

java.lang.Object
  extended by umontreal.iro.lecuyer.rng.RandomStreamBase
      extended by umontreal.iro.lecuyer.rng.WELL1024
All Implemented Interfaces:
RandomStream

public class WELL1024
extends RandomStreamBase

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, and which has a state size of 1024 bits and a period length of approximatively 21024. The values of V, W and Z are 2300, 2400 and 2700 respectively (see RandomStream for their definition). The seed of the RNG, and the state of a stream at any given step, is a 16-dimensional vector of 32-bit integers. The output of nextValue has 32 bits of precision.

This implementation requires the use of about 250K of memory to run. This memory is shared between all instances of the class, and is only loaded when the first instance is created.


Constructor Summary
WELL1024()
          Constructs a new stream.
WELL1024(String name)
          Constructs a new stream with the identifier name (used in the toString method).
 
Method Summary
 int[] getState()
          Returns the current state of the stream, represented as an array of 32 integers.
static void main(String[] args)
          This method is only meant to be used during the compilation process.
 void resetNextSubstream()
          Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.
 void resetStartStream()
          Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.
 void resetStartSubstream()
          Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.
static void setPackageSeed(int[] seed)
          Sets the initial seed of the class WELL1024 to the 32 integers of the vector seed[0..31].
 void setSeed(int[] seed)
          This method is discouraged for normal use.
 String toString()
          Returns a string containing the current state of this stream.
 
Methods inherited from class umontreal.iro.lecuyer.rng.RandomStreamBase
formatState, formatStateFull, increasedPrecision, nextArrayOfDouble, nextArrayOfInt, nextDouble, nextInt
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WELL1024

public WELL1024()
Constructs a new stream.


WELL1024

public WELL1024(String name)
Constructs a new stream with the identifier name (used in the toString method).

Parameters:
name - name of the stream
Method Detail

setPackageSeed

public static void setPackageSeed(int[] seed)
Sets the initial seed of the class WELL1024 to the 32 integers of the vector seed[0..31]. This will be the initial seed of the class of the next created stream. At least one of the integers must be non-zero.

Parameters:
seed - array of 32 elements representing the seed

setSeed

public 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..31]. 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.

Parameters:
seed - array of 32 elements representing the seed

getState

public int[] getState()
Returns the current state of the stream, represented as an array of 32 integers.

Returns:
the current state of the stream

resetStartStream

public void resetStartStream()
Description copied from interface: RandomStream
Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.

Specified by:
resetStartStream in interface RandomStream
Specified by:
resetStartStream in class RandomStreamBase

resetStartSubstream

public void resetStartSubstream()
Description copied from interface: RandomStream
Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.

Specified by:
resetStartSubstream in interface RandomStream
Specified by:
resetStartSubstream in class RandomStreamBase

resetNextSubstream

public void resetNextSubstream()
Description copied from interface: RandomStream
Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.

Specified by:
resetNextSubstream in interface RandomStream
Specified by:
resetNextSubstream in class RandomStreamBase

toString

public String toString()
Description copied from interface: RandomStream
Returns a string containing the current state of this stream.

Specified by:
toString in interface RandomStream
Specified by:
toString in class RandomStreamBase
Returns:
the state of the generator formated as a string

main

public static void main(String[] args)
This method is only meant to be used during the compilation process. It is used to create the resource file the class need in order to run.


SSJ
V. 1.2.5.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.