Class DotyHumphreySmallFastCounting32
- java.lang.Object
-
- org.apache.commons.rng.core.BaseProvider
-
- org.apache.commons.rng.core.source32.IntProvider
-
- org.apache.commons.rng.core.source32.DotyHumphreySmallFastCounting32
-
- All Implemented Interfaces:
RandomIntSource
,RestorableUniformRandomProvider
,UniformRandomProvider
public class DotyHumphreySmallFastCounting32 extends IntProvider
Implement the Small, Fast, Counting (SFC) 32-bit generator of Chris Doty-Humphrey. The original source is the PractRand test suite by the same author.The state size is 128-bits; the period is a minimum of 232 and an average of approximately 2127.
- Since:
- 1.3
- See Also:
- PractRand
-
-
Constructor Summary
Constructors Constructor Description DotyHumphreySmallFastCounting32(int[] seed)
Creates an instance with the given seed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
getStateInternal()
Creates a snapshot of the RNG state.int
next()
protected void
setStateInternal(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, nextLong, resetCachedState
-
Methods inherited from class org.apache.commons.rng.core.BaseProvider
checkIndex, checkStateSize, composeStateInternal, fillState, fillState, nextInt, nextLong, restoreState, saveState, splitStateInternal, toString
-
-
-
-
Constructor Detail
-
DotyHumphreySmallFastCounting32
public DotyHumphreySmallFastCounting32(int[] seed)
Creates an instance with the given seed.- Parameters:
seed
- Initial seed. If the length is larger than 3, only the first 3 elements will be used; if smaller, the remaining elements will be automatically set.
-
-
Method Detail
-
next
public final int next()
- Returns:
- the next random value.
-
getStateInternal
protected byte[] getStateInternal()
Creates a snapshot of the RNG state.- Overrides:
getStateInternal
in classIntProvider
- Returns:
- the internal state.
-
setStateInternal
protected void setStateInternal(byte[] s)
Resets the RNG to the givenstate
.- Overrides:
setStateInternal
in classIntProvider
- Parameters:
s
- State (previously obtained by a call toBaseProvider.getStateInternal()
).- See Also:
BaseProvider.checkStateSize(byte[],int)
-
-