## Class MarsagliaTsangWangDiscreteSampler.Enumerated

• java.lang.Object
• org.apache.commons.rng.sampling.distribution.MarsagliaTsangWangDiscreteSampler.Enumerated
• Enclosing class:
MarsagliaTsangWangDiscreteSampler

public static final class MarsagliaTsangWangDiscreteSampler.Enumerated
extends Object
Create a sampler for an enumerated distribution of n values each with an associated probability. The samples corresponding to each probability are assumed to be a natural sequence starting at zero.
• ### Method Summary

All Methods
Modifier and Type Method Description
static SharedStateDiscreteSampler of​(UniformRandomProvider rng, double[] probabilities)
Creates a sampler for an enumerated distribution of n values each with an associated probability.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Method Detail

• #### of

public static SharedStateDiscreteSampler of​(UniformRandomProvider rng,
double[] probabilities)
Creates a sampler for an enumerated distribution of n values each with an associated probability.

The probabilities will be normalised using their sum. The only requirement is the sum is positive.

The sum of the probabilities is normalised to 230. Note that probabilities are adjusted to the nearest 1-30 due to round-off during the normalisation conversion. Consequently any probability less than 2-31 will not be observed in samples.

Parameters:
rng - Generator of uniformly distributed random numbers.
probabilities - The list of probabilities.
Returns:
Sampler.
Throws:
IllegalArgumentException - if probabilities is null or empty, a probability is negative, infinite or NaN, or the sum of all probabilities is not strictly positive.