Class XoRoShiRo64StarStar
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source32.IntProvider
org.apache.commons.rng.core.source32.XoRoShiRo64StarStar
- All Implemented Interfaces:
RandomIntSource, RestorableUniformRandomProvider, UniformRandomProvider
A fast all-purpose 32-bit generator. For faster generation of
float values try the
XoRoShiRo64Star generator.
This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 64 bits.
- Since:
- 1.3
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionXoRoShiRo64StarStar(int[] seed) Creates a new instance.XoRoShiRo64StarStar(int seed0, int seed1) Creates a new instance using a 2 element seed. -
Method Summary
Modifier and TypeMethodDescriptionprotected byte[]Creates a snapshot of the RNG state.intnext()Return the next random value.protected intUse the current state to compute the next output from the generator.protected voidsetStateInternal(byte[] s) Resets the RNG to the givenstate.Methods inherited from class IntProvider
nextBoolean, nextBytes, nextBytes, nextDouble, nextInt, nextLong, resetCachedStateMethods inherited from class BaseProvider
checkIndex, checkStateSize, composeStateInternal, extendSeed, extendSeed, fillState, fillState, restoreState, saveState, splitStateInternal, toString
-
Field Details
-
state0
protected int state0State 0 of the generator. -
state1
protected int state1State 1 of the generator.
-
-
Constructor Details
-
XoRoShiRo64StarStar
Creates a new instance.- Parameters:
seed- Initial seed. If the length is larger than 2, only the first 2 elements will be used; if smaller, the remaining elements will be automatically set. A seed containing all zeros will create a non-functional generator.
-
XoRoShiRo64StarStar
Creates a new instance using a 2 element seed. A seed containing all zeros will create a non-functional generator.- Parameters:
seed0- Initial seed element 0.seed1- Initial seed element 1.
-
-
Method Details
-
nextOutput
Use the current state to compute the next output from the generator. The output function shall vary with respect to different generators. This method is called fromRandomIntSource.next()before the current state is updated.- Returns:
- the next output
-
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:
-
next
public int next()Return the next random value.- Returns:
- the next random value.
-