Class XorShift1024Star
java.lang.Object
org.apache.commons.rng.core.BaseProvider
org.apache.commons.rng.core.source64.LongProvider
org.apache.commons.rng.core.source64.XorShift1024Star
- All Implemented Interfaces:
RandomLongSource,RestorableUniformRandomProvider,UniformRandomProvider
- Direct Known Subclasses:
XorShift1024StarPhi
public class XorShift1024Star extends LongProvider
A fast RNG implementing the
XorShift1024* algorithm.
Note: This has been superseded by XorShift1024StarPhi. The sequences emitted
by both generators are correlated.
- Since:
- 1.0
- See Also:
- Original source code, Xorshift (Wikipedia)
-
Constructor Summary
Constructors Modifier Constructor Description XorShift1024Star(long[] seed)Creates a new instance.protectedXorShift1024Star(long[] seed, long multiplier)Creates a new instance. -
Method Summary
Modifier and Type Method Description protected byte[]getStateInternal()Creates a snapshot of the RNG state.longnext()protected voidsetStateInternal(byte[] s)Resets the RNG to the givenstate.Methods inherited from class org.apache.commons.rng.core.source64.LongProvider
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
-
Constructor Details
-
XorShift1024Star
public XorShift1024Star(long[] seed)Creates a new instance.- Parameters:
seed- Initial seed. If the length is larger than 16, only the first 16 elements will be used; if smaller, the remaining elements will be automatically set. A seed containing all zeros will create a non-functional generator.
-
XorShift1024Star
protected XorShift1024Star(long[] seed, long multiplier)Creates a new instance.- Parameters:
seed- Initial seed. If the length is larger than 16, only the first 16 elements will be used; if smaller, the remaining elements will be automatically set. A seed containing all zeros will create a non-functional generator.multiplier- The multiplier for the XorShift1024 algorithm.
-
-
Method Details
-
getStateInternal
protected byte[] getStateInternal()Creates a snapshot of the RNG state.- Overrides:
getStateInternalin classLongProvider- Returns:
- the internal state.
-
setStateInternal
protected void setStateInternal(byte[] s)Resets the RNG to the givenstate.- Overrides:
setStateInternalin classLongProvider- Parameters:
s- State (previously obtained by a call toBaseProvider.getStateInternal()).- See Also:
BaseProvider.checkStateSize(byte[],int)
-
next
public long next()- Returns:
- the next random value.
-