Class XoRoShiRo1024PlusPlus
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.XoRoShiRo1024PlusPlus
- All Implemented Interfaces:
RandomLongSource
,JumpableUniformRandomProvider
,LongJumpableUniformRandomProvider
,RestorableUniformRandomProvider
,UniformRandomProvider
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:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionXoRoShiRo1024PlusPlus
(long[] seed) Creates a new instance.protected
Creates a copy instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected XoRoShiRo1024PlusPlus
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 Details
-
XoRoShiRo1024PlusPlus
public XoRoShiRo1024PlusPlus(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.
-
XoRoShiRo1024PlusPlus
Creates a copy instance.- Parameters:
source
- Source to copy.
-
-
Method Details
-
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
Create a copy.- Specified by:
copy
in classAbstractXoRoShiRo1024
- Returns:
- the copy
-