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
,JumpableUniformRandomProvider
,RestorableUniformRandomProvider
,UniformRandomProvider
- Direct Known Subclasses:
XorShift1024StarPhi
public class XorShift1024Star extends LongProvider implements JumpableUniformRandomProvider
A fast RNG implementing theXorShift1024*
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.protected
XorShift1024Star(long[] seed, long multiplier)
Creates a new instance.protected
XorShift1024Star(XorShift1024Star source)
Creates a copy instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected XorShift1024Star
copy()
Create a copy.protected byte[]
getStateInternal()
Creates a snapshot of the RNG state.UniformRandomProvider
jump()
long
next()
Return the next random value.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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.commons.rng.JumpableUniformRandomProvider
jumps, jumps
-
Methods inherited from interface org.apache.commons.rng.UniformRandomProvider
doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, nextBoolean, nextBytes, nextBytes, nextDouble, nextDouble, nextDouble, nextFloat, nextFloat, nextFloat, nextInt, nextInt, nextInt, nextLong, nextLong, nextLong
-
-
-
-
Constructor Detail
-
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.- Since:
- 1.3
-
XorShift1024Star
protected XorShift1024Star(XorShift1024Star source)
Creates a copy instance.- Parameters:
source
- Source to copy.- Since:
- 1.3
-
-
Method Detail
-
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:
BaseProvider.checkStateSize(byte[],int)
-
next
public long next()
Return the next random value.- Specified by:
next
in interfaceRandomLongSource
- Returns:
- the next random value.
-
jump
public UniformRandomProvider jump()
The jump size is the equivalent of 2512 calls to
nextLong()
. It can provide up to 2512 non-overlapping subsequences.- Specified by:
jump
in interfaceJumpableUniformRandomProvider
- Since:
- 1.3
-
copy
protected XorShift1024Star copy()
Create a copy.- Returns:
- the copy
- Since:
- 1.3
-
-