public class Interleaved4Stc64 extends AbstractRng64 implements SplittablePseudoRandom
4 daisy-chained Stc64 generators that are called in
round-robin fashion, i.e., first gen_0, then gen_1, then
gen_2, then gen_3, then again gen_0 and so on. This
should still be a little faster than a MersenneTwister64 but is a lot
slower (about 2.5x) than working with a single Stc64
generator. The generators following gen_0 are constructed by calling
SplittablePseudoRandom.split() on the respective predecessor
generator.DOUBLE_NORM, FLOAT_NORM, nextGaussian, unused| Modifier | Constructor and Description |
|---|---|
|
Interleaved4Stc64() |
|
Interleaved4Stc64(long seed) |
|
Interleaved4Stc64(long[] seed) |
protected |
Interleaved4Stc64(Stc64 gen0,
Stc64 gen1,
Stc64 gen2,
Stc64 gen3) |
| Modifier and Type | Method and Description |
|---|---|
static SplittablePseudoRandom |
getDefault() |
long |
nextLong() |
Interleaved4Stc64 |
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 Interleaved4Stc64()
public Interleaved4Stc64(long seed)
public Interleaved4Stc64(long[] seed)
public final long nextLong()
nextLong in interface PseudoRandomnextLong in class AbstractRng64public Interleaved4Stc64 split()
SplittablePseudoRandomSplittablePseudoRandom instance. Instances of SplittablePseudoRandom are
not thread-safe. They are designed to be split, not shared,
across threads.split in interface SplittablePseudoRandompublic static SplittablePseudoRandom getDefault()
Copyright © 2022. All rights reserved.