Class XoShiRo128StarStar
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source32.IntProvider
org.apache.commons.rng.core.source32.XoShiRo128StarStar
- All Implemented Interfaces:
RandomIntSource,RestorableUniformRandomProvider,UniformRandomProvider
public class XoShiRo128StarStar extends IntProvider
A fast all-purpose 32-bit generator. For faster generation of
float values try the
XoShiRo128Plus generator.
This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 128 bits.
- Since:
- 1.3
- See Also:
- Original source code, xorshiro / xoroshiro generators
-
Field Summary
-
Constructor Summary
Constructors Constructor Description XoShiRo128StarStar(int[] seed)Creates a new instance.XoShiRo128StarStar(int seed0, int seed1, int seed2, int seed3)Creates a new instance using a 4 element seed. -
Method Summary
Modifier and Type Method Description protected byte[]getStateInternal()Creates a snapshot of the RNG state.intnext()protected voidsetStateInternal(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, nextLongMethods inherited from class org.apache.commons.rng.core.BaseProvider
checkIndex, checkStateSize, composeStateInternal, fillState, fillState, nextInt, nextLong, restoreState, saveState, splitStateInternal, toString
-
Field Details
-
Constructor Details
-
XoShiRo128StarStar
public XoShiRo128StarStar(int[] seed)Creates a new instance.- Parameters:
seed- Initial seed. If the length is larger than 4, only the first 4 elements will be used; if smaller, the remaining elements will be automatically set. A seed containing all zeros will create a non-functional generator.
-
XoShiRo128StarStar
public XoShiRo128StarStar(int seed0, int seed1, int seed2, int seed3)Creates a new instance using a 4 element seed. A seed containing all zeros will create a non-functional generator.- Parameters:
seed0- Initial seed element 0.seed1- Initial seed element 1.seed2- Initial seed element 2.seed3- Initial seed element 3.
-
-
Method Details
-
next
public int next()- Returns:
- the next random value.
-
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:
BaseProvider.checkStateSize(byte[],int)
-