Class JenkinsSmallFast64
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source64.LongProvider
org.apache.commons.rng.core.source64.JenkinsSmallFast64
- All Implemented Interfaces:
RandomLongSource
,RestorableUniformRandomProvider
,UniformRandomProvider
Implement Bob Jenkins's small fast (JSF) 64-bit generator.
The state size is 256-bits.
- 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 long
next()
private void
setSeedInternal
(long seed) Seeds the RNG.protected void
setStateInternal
(byte[] s) Resets the RNG to the givenstate
.Methods inherited from class org.apache.commons.rng.core.source64.LongProvider
nextBoolean, 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 long aState a. -
b
private long bState b. -
c
private long cState c. -
d
private long dStatd d.
-
-
Constructor Details
-
JenkinsSmallFast64
Creates an instance with the given seed.- Parameters:
seed
- Initial seed.
-
-
Method Details
-
setSeedInternal
private void setSeedInternal(long seed) Seeds the RNG.- Parameters:
seed
- Seed.
-
next
public final long next()- Returns:
- the next random value.
-
getStateInternal
protected byte[] getStateInternal()Creates a snapshot of the RNG state.- Overrides:
getStateInternal
in classLongProvider
- Returns:
- the internal state.
-
setStateInternal
protected void setStateInternal(byte[] s) Resets the RNG to the givenstate
.- Overrides:
setStateInternal
in classLongProvider
- Parameters:
s
- State (previously obtained by a call toBaseProvider.getStateInternal()
).- See Also:
-