# Package org.uncommons.maths.random

package org.uncommons.maths.random

This package provides deterministic, repeatable, pseudo-random number generators, a set of strategies for seeding them, and classes for generating values from different probability distributions.

Related Packages
Package
Description
org.uncommons.maths
A set of utility classes for mathematical operations.
org.uncommons.maths.binary
Classes for manipulating binary data.
org.uncommons.maths.combinatorics
Utility classes for combinatorics.
org.uncommons.maths.number
Custom numeric data types and classes for working with java.lang.Number and its sub-classes.
org.uncommons.maths.statistics
Utility classes for statistical analysis.
Class
Description
AESCounterRNG
Non-linear random number generator based on the AES block cipher in counter mode.
BinomialGenerator
Discrete random sequence that follows a binomial distribution.
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.
ContinuousUniformGenerator
Continuous, uniformly distributed random sequence.
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.
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).
MersenneTwisterRNG
Random number generator based on the Mersenne Twister algorithm developed by Makoto Matsumoto and Takuji Nishimura.
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.
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.