public class Lcg64Xor1024Mix extends AbstractRng64 implements SplittablePseudoRandom
L64X1024MixRandom algorithm from JDK 17 which uses a linear
congruential generator (LCG) as a first subgenerator and a Xor-based
generator (xoroshiro1024) as a second subgenerator and then applies a 64-bit
mixing function identified by Doug Lea.
This generator has a 1088-bit state and a period of
264(21024−1).
This generator is 16-dimensionally equidistributed.
DOUBLE_NORM, FLOAT_NORM, nextGaussian, unused| Modifier | Constructor and Description |
|---|---|
|
Lcg64Xor1024Mix() |
|
Lcg64Xor1024Mix(long seed) |
|
Lcg64Xor1024Mix(long[] seed) |
protected |
Lcg64Xor1024Mix(long a,
long s,
long[] seed) |
| Modifier and Type | Method and Description |
|---|---|
static SplittablePseudoRandom |
getDefault() |
long |
nextLong() |
Lcg64Xor1024Mix |
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 Lcg64Xor1024Mix()
public Lcg64Xor1024Mix(long seed)
public Lcg64Xor1024Mix(long[] seed)
protected Lcg64Xor1024Mix(long a,
long s,
long[] seed)
public Lcg64Xor1024Mix split()
SplittablePseudoRandomSplittablePseudoRandom instance. Instances of SplittablePseudoRandom are
not thread-safe. They are designed to be split, not shared,
across threads.split in interface SplittablePseudoRandompublic final long nextLong()
nextLong in interface PseudoRandomnextLong in class AbstractRng64public static SplittablePseudoRandom getDefault()
Copyright © 2022. All rights reserved.