All Classes and Interfaces

Class
Description
This abstract class is a base for algorithms from the LXM family of generators with a 128-bit LCG sub-generator.
This abstract class is a base for algorithms from the LXM family of generators with a 64-bit LCG sub-generator.
This abstract class is a base for algorithms from the LXM family of generators with a 64-bit LCG and 128-bit XBG sub-generator.
This abstract class is a base for algorithms from the Permuted Congruential Generator (PCG) family that use an internal 64-bit Linear Congruential Generator (LCG) and output 32-bits per cycle.
This abstract class is a base for algorithms from the Permuted Congruential Generator (PCG) family that use an internal 64-bit Multiplicative Congruential Generator (MCG) and output 32-bits per cycle.
This abstract class implements the WELL class of pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
Inner class used to store the indirection index table which is fixed for a given type of WELL class of pseudo-random number generator.
This abstract class is a base for algorithms from the Xor-Shift-Rotate family of 64-bit generators with 1024-bits of state.
This abstract class is a base for algorithms from the Xor-Shift-Rotate family of 64-bit generators with 128-bits of state.
This abstract class is a base for algorithms from the Xor-Shift-Rotate family of 32-bit generators with 64-bits of state.
This abstract class is a base for algorithms from the Xor-Shift-Rotate family of 32-bit generators with 128-bits of state.
This abstract class is a base for algorithms from the Xor-Shift-Rotate family of 64-bit generators with 256-bits of state.
This abstract class is a base for algorithms from the Xor-Shift-Rotate family of 64-bit generators with 512-bits of state.
Sampling from an exponential distribution.
Sampling from the gamma distribution.
Class to sample from the Gamma distribution when 0 < alpha < 1.
Base class for a sampler from the Gamma distribution.
Class to sample from the Gamma distribution when the alpha >= 1.
Distribution sampler that uses the Alias method.
Sample from the computed tables exploiting the small power-of-two table size.
Utilities for shuffling an array in-place.
Base class with default implementation for common methods.
Deprecated.
Since version 1.1.
Deprecated.
Since version 1.1.
Box-Muller algorithm for sampling from Gaussian distribution with mean 0 and standard deviation 1.
Generate points uniformly distributed within a n-dimension box (hyperrectangle).
Sample uniformly from a box in 2D.
Sample uniformly from a box in 3D.
Sample uniformly from a box in ND.
Creates a int[] from a byte[].
Creates a long[] from a byte[].
Sampling from a beta distribution.
Base class to implement Cheng's algorithms for the beta distribution.
Computes one sample using Cheng's BB algorithm, when beta distribution alpha and beta shape parameters are both larger than 1.
Computes one sample using Cheng's BC algorithm, when at least one of beta distribution alpha or beta shape parameters is smaller than 1.
Sampling from a Collection.
Class for representing combinations of a sequence of integers.
Factory class to create a sampler that combines sampling from multiple samplers.
Builds a composite sampler.
A composite sampler.
A factory for creating a composite ContinuousSampler.
A composite continuous sampler.
The DiscreteProbabilitySampler class defines implementations that sample from a user-defined discrete probability distribution.
A factory for creating a sampler of a user-defined discrete probability distribution.
A factory for creating a composite DiscreteSampler.
A composite discrete sampler.
A factory for creating a composite LongSampler.
A composite long sampler.
A factory for creating a composite ObjectSampler.
A composite object sampler.
Builds a composite sampler.
A factory for creating composite samplers.
The specialisation of composite sampler to build.
Contains a weighted sampler.
A factory for creating a composite SharedStateContinuousSampler.
A composite continuous sampler with shared state support.
A class to implement the SharedStateDiscreteSampler interface for a discrete probability sampler given a factory and the probability distribution.
A factory for creating a composite SharedStateDiscreteSampler.
A composite discrete sampler with shared state support.
A factory for creating a composite SharedStateLongSampler.
A composite long sampler with shared state support.
A factory for creating a composite SharedStateObjectSampler.
A composite object sampler with shared state support.
Interface for a continuous distribution that can be sampled using the inversion method.
Sampler that generates values of type double.
Sampling from a uniform distribution.
Specialization to sample from an open interval (lo, hi).
Performs seed conversions.
Utility class for common coordinate operations for shape samplers.
Sampling from a Dirichlet distribution.
Sample from a Dirichlet distribution with different concentration parameters for each category.
Sample from a symmetric Dirichlet distribution with the same concentration parameter for each category.
Interface for a discrete distribution that can be sampled using the inversion method.
Sampling from a collection of items with user-defined probabilities.
Sampler that generates values of type int.
Discrete uniform distribution sampler.
Base class for a sampler from a discrete uniform distribution.
Discrete uniform distribution sampler when the sample value is fixed.
Discrete uniform distribution sampler when the range between lower and upper is too large to fit in a positive integer.
Adds an offset to an underlying discrete sampler.
Discrete uniform distribution sampler when the range is a power of 2 and greater than 1.
Discrete uniform distribution sampler when the range is small enough to fit in a positive integer.
Implement the Small, Fast, Counting (SFC) 32-bit generator of Chris Doty-Humphrey.
Implement the Small, Fast, Counting (SFC) 64-bit generator of Chris Doty-Humphrey.
Distribution sampler that uses the Fast Loaded Dice Roller (FLDR).
Class to handle the edge case of observations in only one category.
Class to implement the FLDR sample algorithm.
Sampling from a Gaussian distribution with given mean and standard deviation.
Sampling from a geometric distribution.
Sample from the geometric distribution by using a related exponential distribution.
Sample from the geometric distribution when the probability of success is 1.
Compute a sample from n values each with an associated probability.
Converts a Integer to an Long.
Creates a single value by "xor" of all the values in the input array.
Creates a long[] from an int[].
Adapted and stripped down copy of class "org.apache.commons.math4.special.Gamma".
Functions used by some of the samplers.
Class for computing the natural logarithm of the factorial of n.
Base class for all implementations that provide an int-based source randomness.
Distribution sampler that uses the inversion method.
Distribution sampler that uses the inversion method.
Sampling from a Pareto distribution.
A fast cryptographic pseudo-random number generator.
A provider that uses the Random.nextInt() method of the JDK's Random class as the source of randomness.
An ObjectInputStream that's restricted to deserialize only Random using look-ahead deserialization.
Subclass of Random that delegates to a RestorableUniformRandomProvider instance but will otherwise rely on the base class for generating all the random types.
Wraps a Random instance to implement UniformRandomProvider.
Implement Bob Jenkins's small fast (JSF) 32-bit generator.
Implement Bob Jenkins's small fast (JSF) 64-bit generator.
Applies to generators that can be advanced a large number of steps of the output sequence in a single operation.
Sampler for the Poisson distribution.
Port from Marsaglia's "KISS" algorithm.
A 64-bit all purpose generator.
A 64-bit all purpose generator.
A 64-bit all purpose generator.
A 32-bit all purpose generator.
A 64-bit all purpose generator.
A 64-bit all purpose generator.
A 64-bit all purpose generator.
A 64-bit all purpose generator.
Sampler for the Poisson distribution.
Encapsulate the state of the sampler.
Sampling from a Lévy distribution.
Generate points uniformly distributed on a line.
Sample uniformly from a line in 1D.
Sample uniformly from a line in 2D.
Sample uniformly from a line in 3D.
Sample uniformly from a line in ND.
Sampling from a List.
Sampling from a log-normal distribution.
Converts a Long to an Integer.
Uses a long value to seed a SplitMix64 RNG and create a int[] with the requested number of random values.
Uses a Long value to seed a SplitMix64 RNG and create a long[] with the requested number of random values.
Creates an int[] from a long[].
Creates a single value by "xor" of all the values in the input array.
Applies to generators that can be advanced a very large number of steps of the output sequence in a single operation.
Base class for all implementations that provide a long-based source randomness.
Sampler that generates values of type long.
Utility support for the LXM family of generators.
Utility support for the LXM family of generators.
Marsaglia polar method for sampling from a Gaussian distribution with mean 0 and standard deviation 1.
Sampler for a discrete distribution using an optimised look-up table.
The base class for Marsaglia-Tsang-Wang samplers.
Create a sampler for the Binomial distribution.
Return a fixed result for the Binomial distribution.
Return an inversion result for the Binomial distribution.
Create a sampler for an enumerated distribution of n values each with an associated probability.
An implementation for the sample algorithm based on the decomposition of the index in the range [0,2^30) into 5 base-64 digits with 16-bit backing storage.
An implementation for the sample algorithm based on the decomposition of the index in the range [0,2^30) into 5 base-64 digits with 32-bit backing storage.
An implementation for the sample algorithm based on the decomposition of the index in the range [0,2^30) into 5 base-64 digits with 8-bit backing storage.
Create a sampler for the Poisson distribution.
This class implements a powerful pseudo-random number generator developed by Makoto Matsumoto and Takuji Nishimura during 1996-1997.
This class provides the 64-bits version of the originally 32-bits Mersenne Twister.
Middle Square Weyl Sequence Random Number Generator.
Performs mixing of bits.
Port from Marsaglia's "Multiply-With-Carry" algorithm.
The native seed type.
Dummy converter that simply passes on its input.
Marker interface for a sampler that generates values from an N(0,1) Gaussian distribution.
Utility for creating number types from one or two int values or one long value, or a sequence of bytes.
Sampler that generates values of a specified type.
A Permuted Congruential Generator (PCG) that is composed of a 64-bit Multiplicative Congruential Generator (MCG) combined with the XSH-RR (xorshift; random rotate) output transformation to create 32-bit output.
A Permuted Congruential Generator (PCG) that is composed of a 64-bit Multiplicative Congruential Generator (MCG) combined with the XSH-RS (xorshift; random shift) output transformation to create 32-bit output.
A Permuted Congruential Generator (PCG) that is composed of a 64-bit Linear Congruential Generator (LCG) combined with the RXS-M-XS (random xorshift; multiply; xorshift) output transformation to create 64-bit output.
A Permuted Congruential Generator (PCG) that is composed of a 64-bit Linear Congruential Generator (LCG) combined with the XSH-RR (xorshift; random rotate) output transformation to create 32-bit output.
A Permuted Congruential Generator (PCG) that is composed of a 64-bit Linear Congruential Generator (LCG) combined with the XSH-RS (xorshift; random shift) output transformation to create 32-bit output.
Class for representing permutations of a sequence of integers.
Sampler for the Poisson distribution.
Create a sampler for the Poisson distribution using a cache to minimise construction cost.
RNG builder.
Identifiers of the generators.
Source of randomness that generates values of type int.
Source of randomness that generates values of type long.
Wraps the internal state of a generator instance.
Marker interface for objects that represents the state of a random generator.
This class provides the API for creating generators of random numbers.
Utility for creating streams using a source of randomness.
A factory for creating objects using a seed and a using a source of randomness.
Spliterator for streams of a given object type that can be created from a seed and source of randomness.
Implementation of the Zipf distribution.
Implements the rejection-inversion method for the Zipf distribution.
Applies to generators whose internal state can be saved and restored.
Deprecated.
Since version 1.1.
Seed converter to create an output array type.
Seed converter.
Composes two converters.
Utilities related to seeding.
Utility for creating seeds.
Provider of unsigned 8-bit integers.
Sampler that generates values of type double and can create new instances to sample from the same state with a given source of randomness.
Sampler that generates values of type int and can create new instances to sample from the same state with a given source of randomness.
Sampler that generates values of type long and can create new instances to sample from the same state with a given source of randomness.
Sampler that generates values of a specified type and can create new instances to sample from the same state with a given source of randomness.
Applies to samplers that can share state between instances.
Sampler for the Poisson distribution.
A fast RNG, with 64 bits of state, that can be used to initialize the state of other generators.
Applies to generators that can be split into two objects (the original and a new instance) each of which implements the same interface (and can be recursively split indefinitely).
Samples from a stable distribution.
Implement the stable distribution case: alpha == 1 and beta != 0.
Base class for implementations of a stable distribution that requires an exponential random deviate.
Implement the generic stable distribution case: alpha < 2 and beta == 0.
Implement the generic stable distribution case: alpha < 2 and beta == 0.
Implement the alpha = 1 and beta = 0 stable distribution case (Cauchy distribution).
Implement the generic stable distribution case: alpha < 2 and beta != 0.
Implement the alpha = 2 stable distribution case (Gaussian distribution).
Implement the alpha = 0.5 and beta = 1 stable distribution case (Levy distribution).
Implement special math functions required by the CMS algorithm.
Class for implementations of a stable distribution transformed by scale and location.
Implement the generic stable distribution case: alpha < 2 and beta != 0.
Utility class for selecting a subset of a sequence of integers.
Generate points uniformly distributed within a tetrahedron.
This class provides a thread-local UniformRandomProvider.
Extend the ThreadLocal to allow creation of the desired RandomSource.
Sample uniformly from a triangle in 2D.
Sample uniformly from a triangle in 3D.
Sample uniformly from a triangle in ND.
Sampling from a T distribution.
Sample from a t-distribution using a normal distribution.
Sample from a t-distribution using Bailey's algorithm.
Random number generator designed by Mark D. Overton.
Subcycle generator.
Factory.
Discrete uniform distribution sampler generating values of type long.
Discrete uniform distribution sampler when the sample value is fixed.
Discrete uniform distribution sampler when the range between lower and upper is too large to fit in a positive long.
Adds an offset to an underlying discrete sampler.
Discrete uniform distribution sampler when the range is a power of 2 and greater than 1.
Discrete uniform distribution sampler when the range is small enough to fit in a positive long.
Applies to generators of random number sequences that follow a uniform distribution.
Support for UniformRandomProvider default methods.
Spliterator for streams of double values that may be recursively split.
Spliterator for streams of int values that may be recursively split.
Spliterator for streams of long values that may be recursively split.
Base class for spliterators for streams of values.
Spliterator for streams of SplittableUniformRandomProvider.
Sample uniformly from a 1D unit line.
Sample uniformly from a 2D unit disk.
Sample uniformly from a 3D unit ball.
Sample using ball point picking.
Sample uniformly from the ends of a 1D unit line.
Sample uniformly from a 2D unit circle.
Sample uniformly from a 3D unit sphere.
Sample uniformly from a ND unit sphere.
This class implements the WELL1024a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
This class implements the WELL19937a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
This class implements the WELL19937c pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
This class implements the WELL44497a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
This class implements the WELL44497b pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
This class implements the WELL512a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
A large-state all-purpose 64-bit generator.
A large-state 64-bit generator suitable for double generation.
A large-state all-purpose 64-bit generator.
A fast 64-bit generator suitable for double generation.
A fast all-purpose 64-bit generator.
A fast all-purpose 64-bit generator.
A fast 32-bit generator suitable for float generation.
A fast all-purpose 32-bit generator.
A fast RNG implementing the XorShift1024* algorithm.
A fast RNG implementing the XorShift1024* algorithm.
A fast 32-bit generator suitable for float generation.
A fast all-purpose 32-bit generator.
A fast all-purpose 32-bit generator.
A fast 64-bit generator suitable for double generation.
A fast all-purpose 64-bit generator.
A fast all-purpose 64-bit generator.
A fast 64-bit generator suitable for double generation.
A fast all-purpose generator.
A fast all-purpose generator.
Marsaglia and Tsang "Ziggurat" method for sampling from a Gaussian distribution with mean 0 and standard deviation 1.
Modified ziggurat method for sampling from Gaussian and exponential distributions.
Modified ziggurat method for sampling from an exponential distribution.
Specialisation which multiplies the standard exponential result by a specified mean.
Modified ziggurat method for sampling from a Gaussian distribution with mean 0 and standard deviation 1.