public class XoRoShiRo1024Star extends LongProvider
double
generation. This is slightly faster
than the all-purpose generator XoRoShiRo1024PlusPlus
.
This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 1024 bits and the period is 21024-1.
Modifier | Constructor and Description |
---|---|
|
XoRoShiRo1024Star(long[] seed)
Creates a new instance.
|
protected |
XoRoShiRo1024Star(XoRoShiRo1024Star source)
Creates a copy instance.
|
Modifier and Type | Method and Description |
---|---|
protected XoRoShiRo1024Star |
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.
|
nextBoolean, nextInt, nextLong, resetCachedState
checkIndex, checkStateSize, composeStateInternal, extendSeed, extendSeed, fillState, fillState, restoreState, saveState, splitStateInternal, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
longJumps, longJumps
jumps, jumps
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
public XoRoShiRo1024Star(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 XoRoShiRo1024Star(XoRoShiRo1024Star source)
source
- Source to copy.protected long transform(long s0, long s15)
s0
- The current state.s15
- The previous state.protected XoRoShiRo1024Star 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 2512 using the jump()
method.
longJump
in interface LongJumpableUniformRandomProvider
Copyright © 2016–2022 The Apache Software Foundation. All rights reserved.