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.
-
Interface Summary Interface Description RepeatableRNG Deterministic random number generators are repeatable, which can prove useful for testing and validation.SeedGenerator Strategy interface for seeding random number generators. -
Class Summary Class Description AESCounterRNG Non-linear random number generator based on the AES block cipher in counter mode.AESCounterRNG.AESKey Trivial key implementation for use with AES cipher.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 defaultJDK RNG
extended to implement theRepeatableRNG
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.SecureRandomSeedGenerator SeedGenerator
implementation that uses Java's bundledSecureRandom
RNG to generate random seed data.XORShiftRNG Very fast pseudo random number generator. -
Exception Summary Exception Description SeedException Exception thrown bySeedGenerator
implementations when they are unable to generate a new seed for an RNG.