Class SplitMix64
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source64.LongProvider
org.apache.commons.rng.core.source64.SplitMix64
- All Implemented Interfaces:
RandomLongSource
,RestorableUniformRandomProvider
,UniformRandomProvider
A fast RNG, with 64 bits of state, that can be used to initialize the
state of other generators.
- Since:
- 1.0
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSplitMix64
(long seed) Creates a new instance.SplitMix64
(Long seed) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected byte[]
Creates a snapshot of the RNG state.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
-
state
private long stateState.
-
-
Constructor Details
-
SplitMix64
public SplitMix64(long seed) Creates a new instance.- Parameters:
seed
- Initial seed.- Since:
- 1.3
-
SplitMix64
Creates a new instance.- Parameters:
seed
- Initial seed.
-
-
Method Details
-
setSeedInternal
Seeds the RNG.- Parameters:
seed
- Seed.
-
next
public 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:
-