# All Classes and Interfaces

Class
Description
AdjustableNumberGenerator<T>
Implementation of `NumberGenerator` that works similarly to `ConstantGenerator` but allows the returned value to be changed after instantiation.
AESCounterRNG
Non-linear random number generator based on the AES block cipher in counter mode.
BinaryUtils
Utility methods for working with binary and hex data.
BinomialGenerator
Discrete random sequence that follows a binomial distribution.
BitString
Implementation of a fixed-length bit-string.
CellularAutomatonRNG
Java port of the cellular automaton pseudorandom number generator developed by Tony Pasqualoni.
CMWC4096RNG
A Java version of George Marsaglia's Complementary Multiply With Carry (CMWC) RNG.
CombinationGenerator<T>
Combination generator for generating all combinations of a given size from the specified set of elements.
ConstantGenerator<T>
Convenience implementation of `NumberGenerator` that always returns the same value.
ContinuousUniformGenerator
Continuous, uniformly distributed random sequence.
DataSet
Utility class for calculating statistics for a finite data set.
DefaultSeedGenerator
Seed generator that maintains multiple strategies for seed generation and will delegate to the best one available for the current operating environment.
DevRandomSeedGenerator
RNG seed strategy that gets data from /dev/random on systems that provide it (e.g.
DiehardInputGenerator
Utility to generate an input file for the DIEHARD suite of statistical tests for random number generators.
DiscreteUniformGenerator
Discrete, uniformly distributed random sequence.
EmptyDataSetException
Unchecked exception thrown when an attempt is made to obtain statistics from a `DataSet` that has had no values added to it.
ExponentialGenerator
Continuous random sequence that follows an exponential distribution.
GaussianGenerator
Normally distributed random sequence.
JavaRNG
This is the default `JDK RNG` extended to implement the `RepeatableRNG` interface (for consistency with the other RNGs in this package).
Maths
Maths operations not provided by `java.lang.Math`.
MersenneTwisterRNG
Random number generator based on the Mersenne Twister algorithm developed by Makoto Matsumoto and Takuji Nishimura.
NumberGenerator<T>
Interface for providing different types of sequences of numbers.
PermutationGenerator<T>
Permutation generator for generating all permutations for all sets up to 20 elements in size.
PoissonGenerator
Discrete random sequence that follows a Poisson distribution.
Probability
Immutable value type for probabilities.
RandomDotOrgSeedGenerator
Connects to the random.org website (via HTTPS) and downloads a set of random bits to use as seed data.
Rational
Immutable value object for representing a rational number (or vulgar fraction).
RepeatableRNG
Deterministic random number generators are repeatable, which can prove useful for testing and validation.
SecureRandomSeedGenerator
`SeedGenerator` implementation that uses Java's bundled `SecureRandom` RNG to generate random seed data.
SeedException
Exception thrown by `SeedGenerator` implementations when they are unable to generate a new seed for an RNG.
SeedGenerator
Strategy interface for seeding random number generators.
XORShiftRNG
Very fast pseudo random number generator.