public class WELL512 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 512 bits and a period length of approximatively
2512. The values of V, W and Z are 2150,
2200 and 2350 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.
This implementation requires about 70K 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 |
|---|
WELL512()
Constructs a new stream.
|
WELL512(java.lang.String name)
Constructs a new stream with the identifier name
(used in the toString method).
|
| Modifier and Type | Method and Description |
|---|---|
WELL512 |
clone()
Clones the current generator and return its copy.
|
int[] |
getState()
Returns the current state of the stream, represented as an
array of 16 integers.
|
static void |
main(java.lang.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 WELL512 to the 16
integers of the vector seed[0..15].
|
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 WELL512()
public WELL512(java.lang.String name)
name - name of the streampublic static void setPackageSeed(int[] seed)
seed - array of 16 elements representing the seedpublic void setSeed(int[] seed)
seed - array of 16 elements representing the seedpublic int[] getState()
public WELL512 clone()
clone in interface CloneableRandomStreamclone in class RandomStreamBasepublic 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 static void main(java.lang.String[] args)
To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.