Interface RandomSource
- All Known Subinterfaces:
BitRandomSource
- All Known Implementing Classes:
LegacyRandomSource, RandomSequences.DirtyMarkingRandomSource, SingleThreadedRandomSource, ThreadSafeLegacyRandomSource, WorldgenRandom, XoroshiroRandomSource
public interface RandomSource
A basic interface for random number generation. This mirrors the same methods in
Random, however it does not make any guarantee that these are thread-safe, unlike Random.
The notable difference is that setSeed(long) is not synchronized and should not be accessed from multiple threads.
The documentation for each individual method can be assumed to be otherwise the same as the identically named method in Random.- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault voidconsumeCount(int rounds) static RandomSourcecreate()static RandomSourcecreate(long seed) static RandomSourcestatic RandomSourceDeprecated.fork()booleandoublefloatdoubleintnextInt()intnextInt(int bound) default intnextInt(int origin, int bound) default intnextIntBetweenInclusive(int min, int maxInclusive) longnextLong()voidsetSeed(long seed) default doubletriangle(double mean, double spread) default floattriangle(float mean, float spread)
-
Field Details
-
GAUSSIAN_SPREAD_FACTOR
-
-
Method Details
-
create
-
createThreadSafe
Deprecated. -
create
-
createNewThreadLocalInstance
-
fork
RandomSource fork() -
forkPositional
PositionalRandomFactory forkPositional() -
setSeed
void setSeed(long seed) -
nextInt
int nextInt() -
nextInt
int nextInt(int bound) -
nextIntBetweenInclusive
default int nextIntBetweenInclusive(int min, int maxInclusive) -
nextLong
long nextLong() -
nextBoolean
boolean nextBoolean() -
nextFloat
float nextFloat() -
nextDouble
double nextDouble() -
nextGaussian
double nextGaussian() -
triangle
default double triangle(double mean, double spread) -
triangle
default float triangle(float mean, float spread) -
consumeCount
default void consumeCount(int rounds) -
nextInt
default int nextInt(int origin, int bound)
-