RandomLongSource
, JumpableUniformRandomProvider
, LongJumpableUniformRandomProvider
, RestorableUniformRandomProvider
, UniformRandomProvider
public class XoRoShiRo128StarStar extends LongProvider
This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 128 bits
and the period is 2128-1. Speed is expected to be similar to
XoShiRo256StarStar
.
Modifier and Type | Field | Description |
---|---|---|
protected long |
state0 |
State 0 of the generator.
|
protected long |
state1 |
State 1 of the generator.
|
Modifier | Constructor | Description |
---|---|---|
|
XoRoShiRo128StarStar(long[] seed) |
Creates a new instance.
|
|
XoRoShiRo128StarStar(long seed0,
long seed1) |
Creates a new instance using a 2 element seed.
|
protected |
XoRoShiRo128StarStar(XoRoShiRo128StarStar source) |
Creates a copy instance.
|
Modifier and Type | Method | Description |
---|---|---|
protected XoRoShiRo128StarStar |
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, toString
nextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextInt, nextLong, resetCachedState
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
nextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextInt, nextInt, nextLong, nextLong
protected long state0
protected long state1
public XoRoShiRo128StarStar(long[] seed)
seed
- Initial seed.
If the length is larger than 2, only the first 2 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 XoRoShiRo128StarStar(long seed0, long seed1)
seed0
- Initial seed element 0.seed1
- Initial seed element 1.protected XoRoShiRo128StarStar(XoRoShiRo128StarStar source)
source
- Source to copy.protected long nextOutput()
next()
before the current state is updated.protected XoRoShiRo128StarStar copy()
protected byte[] getStateInternal()
getStateInternal
in class LongProvider
protected void setStateInternal(byte[] s)
state
.setStateInternal
in class LongProvider
s
- State (previously obtained by a call to
BaseProvider.getStateInternal()
).BaseProvider.checkStateSize(byte[],int)
public long next()
next
in interface RandomLongSource
public UniformRandomProvider jump()
The jump size is the equivalent of 264
calls to nextLong()
. It can provide
up to 264 non-overlapping subsequences.
jump
in interface JumpableUniformRandomProvider
public JumpableUniformRandomProvider longJump()
The jump size is the equivalent of 296 calls to
nextLong()
. It can provide up to
232 non-overlapping subsequences of length 296; each
subsequence can provide up to 232 non-overlapping subsequences of
length 264using the jump()
method.
longJump
in interface LongJumpableUniformRandomProvider
Copyright © 2016–2019 The Apache Software Foundation. All rights reserved.