umontreal.iro.lecuyer.rng
Class GenF2w32
- java.lang.Object
-
- umontreal.iro.lecuyer.rng.RandomStreamBase
-
- umontreal.iro.lecuyer.rng.GenF2w32
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, CloneableRandomStream, RandomStream
public class GenF2w32 extends RandomStreamBase
Implements theRandomStreaminterface via inheritance fromRandomStreamBase. The backbone generator is a Linear Congruential Generator (LCG) in the finite field F2w instead of F2. The implemented generator is the GenF2w2_32 proposed by Panneton. Its state is 25 32-bit words and it has a period length of 2800 - 1. The values of V, W and Z are 2200, 2300 and 2500 respectively (seeRandomStreamfor their definition). The seed of the RNG, and the state of a stream at any given step, is a 25-dimensional vector of 32-bits integers. Its nextValue method returns numbers with 32 bits of precision.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description GenF2w32()Constructs a new stream.GenF2w32(java.lang.String name)Constructs a new stream with the identifier name (used in the toString method).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description GenF2w32clone()Clones the current generator and return its copy.int[]getState()Returns the current state of the stream, represented as an array of 25 integers.static voidmain(java.lang.String[] args)This method is only meant to be used during the compilation process.voidresetNextSubstream()Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.voidresetStartStream()Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.voidresetStartSubstream()Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.static voidsetPackageSeed(int[] seed)Sets the initial seed of the class GenF2w2r32 to the 25 integers of the vector seed[0..24].voidsetSeed(int[] seed)This method is discouraged for normal use.java.lang.StringtoString()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
-
-
-
-
Constructor Detail
-
GenF2w32
public GenF2w32()
Constructs a new stream.
-
GenF2w32
public GenF2w32(java.lang.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 GenF2w2r32 to the 25 integers of the vector seed[0..24]. This will be the initial seed of the class for the next created stream. At least one of the integers must be non-zero.- Parameters:
seed- array of 25 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..24]. 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 25 elements representing the seed
-
getState
public int[] getState()
Returns the current state of the stream, represented as an array of 25 integers.- Returns:
- the current state of the stream
-
clone
public GenF2w32 clone()
Clones the current generator and return its copy.- Specified by:
clonein interfaceCloneableRandomStream- Overrides:
clonein classRandomStreamBase- Returns:
- A deep copy of the current generator
-
resetStartStream
public void resetStartStream()
Description copied from interface:RandomStreamReinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.- Specified by:
resetStartStreamin interfaceRandomStream- Specified by:
resetStartStreamin classRandomStreamBase
-
resetStartSubstream
public void resetStartSubstream()
Description copied from interface:RandomStreamReinitializes the stream to the beginning of its current substream: Cg is set to Bg.- Specified by:
resetStartSubstreamin interfaceRandomStream- Specified by:
resetStartSubstreamin classRandomStreamBase
-
resetNextSubstream
public void resetNextSubstream()
Description copied from interface:RandomStreamReinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.- Specified by:
resetNextSubstreamin interfaceRandomStream- Specified by:
resetNextSubstreamin classRandomStreamBase
-
toString
public java.lang.String toString()
Description copied from interface:RandomStreamReturns a string containing the current state of this stream.- Specified by:
toStringin interfaceRandomStream- Specified by:
toStringin classRandomStreamBase- Returns:
- the state of the generator formated as a string
-
main
public static void main(java.lang.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.
-
-
DMelt 3.0 © DataMelt by jWork.ORG