RandomLongSource, JumpableUniformRandomProvider, LongJumpableUniformRandomProvider, RestorableUniformRandomProvider, UniformRandomProviderpublic class XoShiRo512StarStar extends LongProvider
This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 512 bits
and the period is 2512-1. Speed is expected to be slower than
XoShiRo256StarStar.
| Modifier and Type | Field | Description |
|---|---|---|
protected long |
state0 |
State 0 of the generator.
|
protected long |
state1 |
State 1 of the generator.
|
protected long |
state2 |
State 2 of the generator.
|
protected long |
state3 |
State 3 of the generator.
|
protected long |
state4 |
State 4 of the generator.
|
protected long |
state5 |
State 5 of the generator.
|
protected long |
state6 |
State 6 of the generator.
|
protected long |
state7 |
State 7 of the generator.
|
| Modifier | Constructor | Description |
|---|---|---|
|
XoShiRo512StarStar(long[] seed) |
Creates a new instance.
|
|
XoShiRo512StarStar(long seed0,
long seed1,
long seed2,
long seed3,
long seed4,
long seed5,
long seed6,
long seed7) |
Creates a new instance using an 8 element seed.
|
protected |
XoShiRo512StarStar(XoShiRo512StarStar source) |
Creates a copy instance.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected XoShiRo512StarStar |
copy() |
Create a copy.
|
protected byte[] |
getStateInternal() |
Creates a snapshot of the RNG state.
|
UniformRandomProvider |
jump() |
|
JumpableUniformRandomProvider |
longJump() |
|
long |
next() |
|
protected long |
nextOutput() |
Use the current state to compute the next output from the generator.
|
protected void |
setStateInternal(byte[] s) |
Resets the RNG to the given
state. |
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, nextLongprotected long state0
protected long state1
protected long state2
protected long state3
protected long state4
protected long state5
protected long state6
protected long state7
public XoShiRo512StarStar(long[] seed)
seed - Initial seed.
If the length is larger than 8, only the first 8 elements will
be used; if smaller, the remaining elements will be automatically
set. A seed containing all zeros will create a non-functional generator.public XoShiRo512StarStar(long seed0, long seed1, long seed2, long seed3, long seed4, long seed5, long seed6, long seed7)
seed0 - Initial seed element 0.seed1 - Initial seed element 1.seed2 - Initial seed element 2.seed3 - Initial seed element 3.seed4 - Initial seed element 4.seed5 - Initial seed element 5.seed6 - Initial seed element 6.seed7 - Initial seed element 7.protected XoShiRo512StarStar(XoShiRo512StarStar source)
source - Source to copy.protected long nextOutput()
next() before the current state is updated.protected XoShiRo512StarStar 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 2256
calls to nextLong(). It can provide
up to 2256 non-overlapping subsequences.
jump in interface JumpableUniformRandomProviderpublic JumpableUniformRandomProvider longJump()
The jump size is the equivalent of 2384 calls to
nextLong(). It can provide up to
2128 non-overlapping subsequences of length 2384; each
subsequence can provide up to 2128 non-overlapping subsequences of
length 2256using the jump() method.
longJump in interface LongJumpableUniformRandomProviderCopyright © 2016–2019 The Apache Software Foundation. All rights reserved.