|
SSJ V. 2.6. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object umontreal.iro.lecuyer.rng.RandomStreamBase umontreal.iro.lecuyer.rng.LFSR258
public class LFSR258
Extends RandomStreamBase
using a 64-bit composite linear feedback
shift register (LFSR) (or Tausworthe) RNG as defined in.
This generator is the LFSR258 proposed in.
It has five components combined by a bitwise xor.
Its period length is approximatively 2^258
. The values of V, W and Z are 2100,
2100 and 2200 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.
Constructor Summary | |
---|---|
LFSR258()
Constructs a new stream. |
|
LFSR258(String name)
Constructs a new stream with the identifier name. |
Method Summary | |
---|---|
LFSR258 |
clone()
Clones the current generator and return its copy. |
long[] |
getState()
Returns the current state of the stream, represented as an array of five integers. |
int |
nextInt(int i,
int j)
Calls nextDouble once to create one integer between i and j. |
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(long[] seed)
Sets the initial seed for the class LFSR258 to the five integers of array seed[0..4]. |
void |
setSeed(long[] 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 |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public LFSR258()
public LFSR258(String name)
name
- name of the streamMethod Detail |
---|
public static void setPackageSeed(long[] seed)
seed
- array of 5 elements representing the seedpublic void setSeed(long[] seed)
seed
- array of 5 elements representing the seedpublic long[] getState()
public LFSR258 clone()
clone
in interface CloneableRandomStream
clone
in class RandomStreamBase
public void resetStartStream()
RandomStream
resetStartStream
in interface RandomStream
resetStartStream
in class RandomStreamBase
public void resetStartSubstream()
RandomStream
resetStartSubstream
in interface RandomStream
resetStartSubstream
in class RandomStreamBase
public void resetNextSubstream()
RandomStream
resetNextSubstream
in interface RandomStream
resetNextSubstream
in class RandomStreamBase
public String toString()
RandomStream
toString
in interface RandomStream
toString
in class RandomStreamBase
public int nextInt(int i, int j)
RandomStreamBase
nextInt
in interface RandomStream
nextInt
in class RandomStreamBase
i
- the smallest possible returned integerj
- the largest possible returned integer
|
SSJ V. 2.6. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |