Class XoRoShiRo1024StarStar
- java.lang.Object
-
- org.apache.commons.rng.core.BaseProvider
-
- org.apache.commons.rng.core.source64.LongProvider
-
- org.apache.commons.rng.core.source64.AbstractXoRoShiRo1024
-
- org.apache.commons.rng.core.source64.XoRoShiRo1024StarStar
-
- All Implemented Interfaces:
RandomLongSource
,JumpableUniformRandomProvider
,LongJumpableUniformRandomProvider
,RestorableUniformRandomProvider
,UniformRandomProvider
public class XoRoShiRo1024StarStar extends AbstractXoRoShiRo1024
A large-state all-purpose 64-bit generator.This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 1024 bits and the period is 21024-1.
Note: This can be used as a replacement for
XorShift1024Star
.- Since:
- 1.3
- See Also:
- Original source code, xorshiro / xoroshiro generators
-
-
Constructor Summary
Constructors Modifier Constructor Description XoRoShiRo1024StarStar(long[] seed)
Creates a new instance.protected
XoRoShiRo1024StarStar(XoRoShiRo1024StarStar source)
Creates a copy instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected XoRoShiRo1024StarStar
copy()
Create a copy.protected long
transform(long s0, long s15)
Transform the two consecutive 64-bit states of the generator to a 64-bit output.-
Methods inherited from class org.apache.commons.rng.core.source64.AbstractXoRoShiRo1024
getStateInternal, jump, longJump, next, setStateInternal
-
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.LongJumpableUniformRandomProvider
longJumps, longJumps
-
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
-
XoRoShiRo1024StarStar
public XoRoShiRo1024StarStar(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.
-
XoRoShiRo1024StarStar
protected XoRoShiRo1024StarStar(XoRoShiRo1024StarStar source)
Creates a copy instance.- Parameters:
source
- Source to copy.
-
-
Method Detail
-
transform
protected long transform(long s0, long s15)
Transform the two consecutive 64-bit states of the generator to a 64-bit output. The transformation function shall vary with respect to different generators.- Specified by:
transform
in classAbstractXoRoShiRo1024
- Parameters:
s0
- The current state.s15
- The previous state.- Returns:
- the output
-
copy
protected XoRoShiRo1024StarStar copy()
Create a copy.- Specified by:
copy
in classAbstractXoRoShiRo1024
- Returns:
- the copy
-
-