RandomLongSource, JumpableUniformRandomProvider, LongJumpableUniformRandomProvider, RestorableUniformRandomProvider, UniformRandomProviderpublic class XoRoShiRo1024PlusPlus extends LongProvider
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.
| Modifier | Constructor | Description |
|---|---|---|
|
XoRoShiRo1024PlusPlus(long[] seed) |
Creates a new instance.
|
protected |
XoRoShiRo1024PlusPlus(XoRoShiRo1024PlusPlus source) |
Creates a copy instance.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected XoRoShiRo1024PlusPlus |
copy() |
Create a copy.
|
protected byte[] |
getStateInternal() |
Creates a snapshot of the RNG state.
|
UniformRandomProvider |
jump() |
|
JumpableUniformRandomProvider |
longJump() |
|
long |
next() |
|
protected void |
setStateInternal(byte[] s) |
Resets the RNG to the given
state. |
protected long |
transform(long s0,
long s15) |
Transform the two consecutive 64-bit states of the generator to a 64-bit output.
|
checkIndex, checkStateSize, composeStateInternal, fillState, fillState, nextInt, nextLong, restoreState, saveState, splitStateInternal, toStringnextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextInt, nextLong, resetCachedStateclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitnextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextInt, nextInt, nextLong, nextLongpublic XoRoShiRo1024PlusPlus(long[] seed)
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.protected XoRoShiRo1024PlusPlus(XoRoShiRo1024PlusPlus source)
source - Source to copy.protected long transform(long s0, long s15)
s0 - The current state.s15 - The previous state.protected XoRoShiRo1024PlusPlus copy()
protected byte[] getStateInternal()
getStateInternal in class LongProviderprotected void setStateInternal(byte[] s)
state.setStateInternal in class LongProviders - State (previously obtained by a call to
BaseProvider.getStateInternal()).BaseProvider.checkStateSize(byte[],int)public long next()
next in interface RandomLongSourcepublic UniformRandomProvider jump()
The jump size is the equivalent of 2512
calls to nextLong(). It can provide
up to 2512 non-overlapping subsequences.
jump in interface JumpableUniformRandomProviderpublic JumpableUniformRandomProvider longJump()
The jump size is the equivalent of 2768 calls to
nextLong(). It can provide up to
2256 non-overlapping subsequences of length 2768; each
subsequence can provide up to 2256 non-overlapping subsequences of
length 2512using the jump() method.
longJump in interface LongJumpableUniformRandomProviderCopyright © 2016–2019 The Apache Software Foundation. All rights reserved.