All Classes and Interfaces

Class
Description
Like TrimRandom with five 64-bit states; does not use multiplication, only add, subtract, XOR, and left-rotate operations.
Wraps another EnhancedRandom and stores every long it returns from ArchivalWrapper.nextLong() in a LongSequence ArchivalWrapper.archive.
A two-parameter distribution with range from 0 to 1, both exclusive.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this uses Integer.numberOfLeadingZeros(int) or its GWT equivalent, and has a period of exactly 2 to the 128.
A one-parameter discrete distribution with integer range from 0 inclusive to 1 inclusive.
A two-parameter distribution with range from 0 to 1, both exclusive.
A two-parameter distribution with range from 0 to positive infinity.
A two-parameter discrete distribution with integer range from 0 (inclusive) to beta (inclusive).
A two-parameter distribution with infinite range.
A one-parameter distribution with range from 0 exclusive to positive infinity.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, Chill32Random is a 32-bit-native generator that doesn't have any shorter subcycles (because it only has one cycle, of length 2 to the 96).
A one-parameter distribution with range from 0 exclusive to positive infinity.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this uses only add, bitwise-rotate, and XOR operations (no multiplication).
A two-parameter distribution with range between the given parameters, both inclusive.
A 256-bit "chaotic" generator that also includes an (odd-number) 64-bit stream.
Allows deserializing any type of EnhancedRandom by looking up its tag in a registry.
A two-parameter discrete distribution with integer range between the given parameters, both inclusive.
A variant on Java 8's SplittableRandom algorithm, removing the splittable quality so this has one possible stream.
An EnhancedRandom that delegates to a Distribution to distribute any floats, ints, or doubles as by that distribution.
One of two possible modes this can use to limit the range of a Distribution.
The parent (abstract) class for all distributions.
A superset of the functionality in Random, meant for random number generators that would be too bare-bones with just Random's methods.
A two-parameter distribution with range from 0 (inclusive) to positive infinity.
A one-parameter distribution with range from 0 exclusive to positive infinity.
A two-parameter distribution with range from 0 exclusive to positive infinity.
A two-parameter distribution with infinite range.
A hash-on-counters RNG with a period of 2 to the 64 and 2 to the 64 streams.
A random number generator that is extremely fast on Java 16, and has a very large probable period.
A two-parameter distribution with range from 0 exclusive to positive infinity.
A one-parameter discrete distribution with integer range from 1 inclusive to positive infinity.
Not actually a pseudo-random number generator, but a quasi-random number generator, this is an extremely simple way to produce random-seeming numbers with a high distance between one number and the next.
An annotation for the GWT compiler that makes a piece of code ignored on GWT only.
An EnhancedRandom that delegates to an Interpolations.Interpolator to distribute output in the same way the Interpolator does from the 0 to 1 range, but for any requested range.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this is Bob Jenkins' Small Fast Generator, using its 32-bit version.
A three-parameter distribution with infinite range, which allows interpolating between a normal distribution and a uniform distribution.
A non-random number generator that simply repeats the next of a sequence of long values every time KnownSequenceRandom.nextLong() is called.
A two-parameter distribution with range between 0 and 1, both inclusive.
A two-parameter distribution with infinite range.
A faster and much-higher-quality substitute for Random.
Provides 1D noise methods that can be queried at any point on a line to get a continuous random value.
A two-parameter distribution with range from 0 (exclusive) to positive infinity.
A two-parameter distribution with infinite range.
A two-parameter distribution with range from 0 (exclusive) to positive infinity.
A very basic append-only list of long items.
A quasi-random number generator that only changes one bit in its LowChangeQuasiRandom.state per call to LowChangeQuasiRandom.nextLong(), and returns that changed state directly.
A two-parameter distribution with range between 0 inclusive and 1 exclusive.
A relatively-simple RNG that's similar to LaserRandom with less correlation between similar initial states, but without the ability to EnhancedRandom.skip(long).
A two-parameter distribution with infinite range, also called the Gaussian distribution.
A two-parameter distribution with range from ParetoDistribution.getAlpha() to positive infinity.
Like WhiskerRandom, but this has a fifth state that runs like a counter, guaranteeing a minimum period of 2 to the 64.
An exact copy of PCG-Random's RXS-M-XS generator.
A one-parameter discrete distribution with integer range from 0 inclusive to positive infinity.
A four-state EnhancedRandom that uses four different operations to generate each number, one operation per state.
A two-parameter distribution with range between 0 and 1.0/beta, both inclusive.
A one-parameter distribution with range from 0 exclusive to positive infinity.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, Respite32Random is a 32-bit-native generator here that doesn't have any shorter subcycles (because it only has one cycle, of length 2 to the 96).
A wrapper around a different EnhancedRandom object that runs it in reverse, calling EnhancedRandom.previousLong() instead anywhere ReverseWrapper.nextLong() would be called.
A well-studied RNG that can be quite fast in some circumstances.
A generator with 4 long states and a guaranteed minimum period of 2 to the 64, this is structured much like WhiskerRandom and is almost as fast.
A random number generator by Chris Doty-Humphrey, this has four long states, one of which is a counter.
An implementation of the Speck Cipher that can encrypt and decrypt using either CBC or CTR modes.
A random number generator that acts as a counterpart to WhiskerRandom by guaranteeing a slightly longer period and potentially being faster in some situations because it uses no multiplication.
A one-parameter distribution with range from negative infinity to positive infinity.
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this uses only the most portable operations (including compatibility with JS), and has a period of exactly 2 to the 64.
A three-parameter distribution with range from between the first two parameters, alpha inclusive, beta inclusive.
An unusual RNG that's extremely fast on HotSpot JDK 16 and higher, and still fairly fast on earlier JDKs.
A random number generator that is very fast on Java 16+, has both a very large probable period and a large guaranteed minimum period, and uses only add, bitwise-rotate, and XOR operations (no multiplication).
Not actually a pseudo-random number generator, but a quasi-random number generator, this is a fairly simple way to produce values that have some advantages of quasi-random numbers, but works better in some cases than GoldenQuasiRandom.
Not actually a pseudo-random number generator, but a quasi-random number generator, this is a simple way to produce random-seeming numbers with a high distance between one number and the next.
A two-parameter distribution with range from 0 (inclusive) to positive infinity.
The second-fastest generator here on recent JDKs, with a huge probable period but no minimum period guarantee.
A random number generator that is fairly fast and guarantees 2-dimensional equidistribution (with the exception of the pair with two zeroes in a row, every pair of long results is produced exactly once over the period).
A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this uses no multiplication and is identical to the published xoshiro128++ algorithm when generating int values.
A random number generator that guarantees 4-dimensional equidistribution (except for the quartet with four zeroes in a row, every quartet of long results is produced exactly once over the period).
A random number generator that is fairly fast and guarantees 4-dimensional equidistribution (except for the quartet with four zeroes in a row, every quartet of long results is produced exactly once over the period).
An implementation of the Ziggurat method for generating normal-distributed random values.
A discrete two-parameter distribution with range from integer 1 to alpha.