Class JenkinsSmallFast32
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source32.IntProvider
org.apache.commons.rng.core.source32.JenkinsSmallFast32
- All Implemented Interfaces:
RandomIntSource
,RestorableUniformRandomProvider
,UniformRandomProvider
Implement Bob Jenkins's small fast (JSF) 32-bit generator.
The state size is 128-bits; the shortest period is expected to be about 294 and it expected that about one seed will run into another seed within 264 values.
- Since:
- 1.3
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected byte[]
Creates a snapshot of the RNG state.final int
next()
Return the next random value.private void
setSeedInternal
(int seed) Seeds the RNG.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, nextBytesFill, nextDouble, nextInt, nextLong, resetCachedState
Methods inherited from class org.apache.commons.rng.core.BaseProvider
checkIndex, checkStateSize, composeStateInternal, extendSeed, extendSeed, fillState, fillState, restoreState, saveState, splitStateInternal, toString
-
Field Details
-
a
private int aState a. -
b
private int bState b. -
c
private int cState c. -
d
private int dStatd d.
-
-
Constructor Details
-
JenkinsSmallFast32
Creates an instance with the given seed.- Parameters:
seed
- Initial seed.
-
-
Method Details
-
setSeedInternal
private void setSeedInternal(int seed) Seeds the RNG.- Parameters:
seed
- Seed.
-
next
public final int next()Return the next random value.- 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:
-