public class XorShiftRot256PlusPlus extends AbstractRng64
xoshiro256++ pseudo random generator suggested by
David Blackman and Sebastiano
Vigna (2019). This implementation is not significantly faster than
XorShiftRot256StarStar which has slightly better statistical
properties. It is about 40% faster than XorShift64Star despite having
a 4 times larger state space.
This generator has a period of 2256 − 1.
This generator is 3-dimensionally equidistributed.
| Modifier and Type | Field and Description |
|---|---|
protected long |
x0 |
protected long |
x1 |
protected long |
x2 |
protected long |
x3 |
DOUBLE_NORM, FLOAT_NORM, nextGaussian, unused| Modifier | Constructor and Description |
|---|---|
|
XorShiftRot256PlusPlus() |
|
XorShiftRot256PlusPlus(long seed) |
|
XorShiftRot256PlusPlus(long[] seed) |
protected |
XorShiftRot256PlusPlus(long x0,
long x1,
long x2,
long x3) |
| Modifier and Type | Method and Description |
|---|---|
static SplittablePseudoRandom |
getDefault() |
long |
nextLong() |
XorShiftRot256PlusPlus |
split()
Constructs and returns a new SplittablePseudoRandom instance that shares
no mutable state with the current instance.
|
beta, beta, cauchy, cauchy, chiSquare, chiSquare, doubles, doubles, doubles, doubles, exponential, exponential, gamma, gamma, getAlgorithm, getSeed, ints, ints, ints, ints, logNormal, logNormal, longs, longs, longs, longs, next, nextBoolean, nextBytes, nextDouble, nextDouble, nextDoubles, nextFloat, nextFloat, nextGaussian, nextGaussian, nextInt, nextInt, nextInt, nextLong, nextLong, nextLongs, normal, normal, saveSeed, saveSeed, studentT, studentT, weibull, weibullclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAlgorithm, getSeed, next, nextBoolean, nextBytes, nextDouble, nextDouble, nextDoubles, nextFloat, nextFloat, nextGaussian, nextGaussian, nextInt, nextInt, nextInt, nextLong, nextLong, nextLongsbeta, beta, cauchy, cauchy, chiSquare, chiSquare, doubles, doubles, doubles, doubles, exponential, exponential, gamma, gamma, ints, ints, ints, ints, logNormal, logNormal, longs, longs, longs, longs, normal, normal, studentT, studentT, weibull, weibullpublic XorShiftRot256PlusPlus()
public XorShiftRot256PlusPlus(long seed)
public XorShiftRot256PlusPlus(long[] seed)
protected XorShiftRot256PlusPlus(long x0,
long x1,
long x2,
long x3)
public final long nextLong()
nextLong in interface PseudoRandomnextLong in class AbstractRng64public XorShiftRot256PlusPlus split()
SplittablePseudoRandomSplittablePseudoRandom instance. Instances of SplittablePseudoRandom are
not thread-safe. They are designed to be split, not shared,
across threads.public static SplittablePseudoRandom getDefault()
Copyright © 2022. All rights reserved.