public class WELL1024 extends RandomStreamBase
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 and Description |
|---|
WELL1024()
Constructs a new stream.
|
WELL1024(java.lang.String name)
Constructs a new stream with the identifier name
(used in the toString method).
|
| Modifier and Type | Method and Description |
|---|---|
WELL1024 |
clone()
Clones the current generator and return its copy.
|
int[] |
getState()
Returns the current state of the stream, represented as an
array of 32 integers.
|
static void |
main(java.lang.String[] args) |
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 this class to the 32
integers of array seed[0..31].
|
void |
setSeed(int[] seed)
This method is discouraged for normal use.
|
java.lang.String |
toString()
Returns a string containing the current state of this stream.
|
formatState, formatStateFull, increasedPrecision, nextArrayOfDouble, nextArrayOfInt, nextDouble, nextIntpublic WELL1024()
public WELL1024(java.lang.String name)
name - name of the streampublic static void setPackageSeed(int[] seed)
seed - array of 32 elements representing the seedpublic void setSeed(int[] seed)
seed - array of 32 elements representing the seedpublic int[] getState()
public void resetStartStream()
RandomStreamresetStartStream in interface RandomStreamresetStartStream in class RandomStreamBasepublic void resetStartSubstream()
RandomStreamresetStartSubstream in interface RandomStreamresetStartSubstream in class RandomStreamBasepublic void resetNextSubstream()
RandomStreamresetNextSubstream in interface RandomStreamresetNextSubstream in class RandomStreamBasepublic java.lang.String toString()
RandomStreamtoString in interface RandomStreamtoString in class RandomStreamBasepublic WELL1024 clone()
clone in interface CloneableRandomStreamclone in class RandomStreamBasepublic static void main(java.lang.String[] args)
To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.