Class AbstractWell
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source32.IntProvider
org.apache.commons.rng.core.source32.AbstractWell
- All Implemented Interfaces:
RandomIntSource,RestorableUniformRandomProvider,UniformRandomProvider
- Direct Known Subclasses:
Well1024a,Well19937a,Well44497a,Well512a
public abstract class AbstractWell extends IntProvider
This abstract class implements the WELL class of pseudo-random number
generator from François Panneton, Pierre L'Ecuyer and Makoto
Matsumoto.
This generator is described in a paper by François Panneton, Pierre L'Ecuyer and Makoto Matsumoto Improved Long-Period Generators Based on Linear Recurrences Modulo 2 ACM Transactions on Mathematical Software, 32, 1 (2006). The errata for the paper are in wellrng-errata.txt.
- Since:
- 1.0
- See Also:
- WELL Random number generator
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAbstractWell.IndexTableInner class used to store the indirection index table which is fixed for a given type of WELL class of pseudo-random number generator. -
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractWell(int k, int[] seed)Creates an instance with the givenseed. -
Method Summary
Modifier and Type Method Description protected byte[]getStateInternal()Creates a snapshot of the RNG state.protected voidsetStateInternal(byte[] s)Resets the RNG to the givenstate.Methods inherited from class org.apache.commons.rng.core.source32.IntProvider
nextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextInt, nextLongMethods inherited from class org.apache.commons.rng.core.BaseProvider
checkIndex, checkStateSize, composeStateInternal, fillState, fillState, nextInt, nextLong, restoreState, saveState, splitStateInternal, toString
-
Field Details
-
Constructor Details
-
AbstractWell
protected AbstractWell(int k, int[] seed)Creates an instance with the givenseed.- Parameters:
k- Number of bits in the pool (not necessarily a multiple of 32).seed- Initial seed.
-
-
Method Details
-
getStateInternal
protected byte[] getStateInternal()Creates a snapshot of the RNG state.- Overrides:
getStateInternalin classIntProvider- Returns:
- the internal state.
-
setStateInternal
protected void setStateInternal(byte[] s)Resets the RNG to the givenstate.- Overrides:
setStateInternalin classIntProvider- Parameters:
s- State (previously obtained by a call toBaseProvider.getStateInternal()).- See Also:
BaseProvider.checkStateSize(byte[],int)
-