public class XoShiRo128Plus extends IntProvider
float generation. This is slightly faster than the
all-purpose generator XoShiRo128StarStar.
This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 128 bits.
| Modifier and Type | Field and Description |
|---|---|
protected int |
state0
State 0 of the generator.
|
protected int |
state1
State 1 of the generator.
|
protected int |
state2
State 2 of the generator.
|
protected int |
state3
State 3 of the generator.
|
| Modifier | Constructor and Description |
|---|---|
|
XoShiRo128Plus(int[] seed)
Creates a new instance.
|
|
XoShiRo128Plus(int seed0,
int seed1,
int seed2,
int seed3)
Creates a new instance using a 4 element seed.
|
protected |
XoShiRo128Plus(XoShiRo128Plus source)
Creates a copy instance.
|
| Modifier and Type | Method and Description |
|---|---|
protected XoShiRo128Plus |
copy()
Create a copy.
|
protected byte[] |
getStateInternal()
Creates a snapshot of the RNG state.
|
UniformRandomProvider |
jump() |
JumpableUniformRandomProvider |
longJump() |
int |
next() |
protected int |
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. |
nextBoolean, nextBytes, nextBytes, nextDouble, nextInt, nextLong, resetCachedStatecheckIndex, checkStateSize, composeStateInternal, extendSeed, extendSeed, fillState, fillState, restoreState, saveState, splitStateInternal, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitlongJumps, longJumpsjumps, jumpsdoubles, 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, nextLongprotected int state0
protected int state1
protected int state2
protected int state3
public XoShiRo128Plus(int[] seed)
seed - Initial seed.
If the length is larger than 4, only the first 4 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 XoShiRo128Plus(int seed0, int seed1, int seed2, int seed3)
seed0 - Initial seed element 0.seed1 - Initial seed element 1.seed2 - Initial seed element 2.seed3 - Initial seed element 3.protected XoShiRo128Plus(XoShiRo128Plus source)
source - Source to copy.protected int nextOutput()
next() before the current state is updated.protected XoShiRo128Plus copy()
protected byte[] getStateInternal()
getStateInternal in class IntProviderprotected void setStateInternal(byte[] s)
state.setStateInternal in class IntProviders - State (previously obtained by a call to
BaseProvider.getStateInternal()).BaseProvider.checkStateSize(byte[],int)public int next()
next in interface RandomIntSourcepublic UniformRandomProvider jump()
The jump size is the equivalent of 264
calls to nextInt(). It can provide
up to 264 non-overlapping subsequences.
jump in interface JumpableUniformRandomProviderpublic 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 264 using the jump() method.
longJump in interface LongJumpableUniformRandomProviderCopyright © 2016–2022 The Apache Software Foundation. All rights reserved.