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.protectedCreates a copy instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected XoRoShiRo1024PlusPluscopy()Create a copy.protected longtransform(long s0, long s15) Transform the two consecutive 64-bit states of the generator to a 64-bit output.Methods inherited from class AbstractXoRoShiRo1024
getStateInternal, jump, longJump, next, setStateInternalMethods inherited from class LongProvider
nextBoolean, nextInt, nextLong, resetCachedStateMethods inherited from class BaseProvider
checkIndex, checkStateSize, composeStateInternal, extendSeed, extendSeed, fillState, fillState, restoreState, saveState, splitStateInternal, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface JumpableUniformRandomProvider
jumps, jumpsMethods inherited from interface LongJumpableUniformRandomProvider
longJumps, longJumpsMethods inherited from interface 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:
transformin classAbstractXoRoShiRo1024- Parameters:
s0- The current state.s15- The previous state.- Returns:
- the output
-
copy
Create a copy.- Specified by:
copyin classAbstractXoRoShiRo1024- Returns:
- the copy
-