RandomLongSource
, JumpableUniformRandomProvider
, LongJumpableUniformRandomProvider
, RestorableUniformRandomProvider
, UniformRandomProvider
public class XoRoShiRo1024StarStar 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 |
---|---|---|
|
XoRoShiRo1024StarStar(long[] seed) |
Creates a new instance.
|
protected |
XoRoShiRo1024StarStar(XoRoShiRo1024StarStar source) |
Creates a copy instance.
|
Modifier and Type | Method | Description |
---|---|---|
protected XoRoShiRo1024StarStar |
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, 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
public XoRoShiRo1024StarStar(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 XoRoShiRo1024StarStar(XoRoShiRo1024StarStar source)
source
- Source to copy.protected long transform(long s0, long s15)
s0
- The current state.s15
- The previous state.protected XoRoShiRo1024StarStar 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 2512
calls to nextLong()
. It can provide
up to 2512 non-overlapping subsequences.
jump
in interface JumpableUniformRandomProvider
public 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 LongJumpableUniformRandomProvider
Copyright © 2016–2019 The Apache Software Foundation. All rights reserved.