public abstract class AbstractIntegerDistribution extends Object implements IntegerDistribution, Serializable
| Modifier and Type | Field and Description |
|---|---|
protected RandomGenerator |
random
RNG instance used to generate samples from the distribution.
|
protected RandomDataImpl |
randomData
Deprecated.
As of 3.1, to be removed in 4.0. Please use the
random instance variable instead. |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractIntegerDistribution()
Deprecated.
As of 3.1, to be removed in 4.0. Please use
AbstractIntegerDistribution(RandomGenerator) instead. |
protected |
AbstractIntegerDistribution(RandomGenerator rng) |
| Modifier and Type | Method and Description |
|---|---|
double |
cumulativeProbability(int x0,
int x1)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1). |
int |
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution.
|
double |
logProbability(int x)
For a random variable
X whose values are distributed according to
this distribution, this method returns log(P(X = x)), where
log is the natural logarithm. |
void |
reseedRandomGenerator(long seed)
Reseed the random generator used to generate samples.
|
int |
sample()
Generate a random value sampled from this distribution.
|
int[] |
sample(int sampleSize)
Generate a random sample from the distribution.
|
protected int |
solveInverseCumulativeProbability(double p,
int lower,
int upper)
This is a utility function used by
inverseCumulativeProbability(double). |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcumulativeProbability, getNumericalMean, getNumericalVariance, getSupportLowerBound, getSupportUpperBound, isSupportConnected, probability@Deprecated protected final RandomDataImpl randomData
random instance variable instead.protected final RandomGenerator random
@Deprecated protected AbstractIntegerDistribution()
AbstractIntegerDistribution(RandomGenerator) instead.protected AbstractIntegerDistribution(RandomGenerator rng)
rng - Random number generator.public double cumulativeProbability(int x0,
int x1)
throws NumberIsTooLargeException
X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1).
The default implementation uses the identity
P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)
cumulativeProbability in interface IntegerDistributionx0 - the exclusive lower boundx1 - the inclusive upper boundx0 and x1,
excluding the lower and including the upper endpointNumberIsTooLargeException - if x0 > x1public int inverseCumulativeProbability(double p)
throws OutOfRangeException
X distributed according to this distribution,
the returned value is
inf{x in Z | P(X<=x) >= p} for 0 < p <= 1,inf{x in Z | P(X<=x) > 0} for p = 0.int,
then Integer.MIN_VALUE or Integer.MAX_VALUE is returned.
The default implementation returns
IntegerDistribution.getSupportLowerBound() for p = 0,IntegerDistribution.getSupportUpperBound() for p = 1, andsolveInverseCumulativeProbability(double, int, int) for
0 < p < 1.inverseCumulativeProbability in interface IntegerDistributionp - the cumulative probabilityp-quantile of this distribution
(largest 0-quantile for p = 0)OutOfRangeException - if p < 0 or p > 1protected int solveInverseCumulativeProbability(double p,
int lower,
int upper)
inverseCumulativeProbability(double). It assumes 0 < p < 1 and
that the inverse cumulative probability lies in the bracket (lower, upper]. The implementation does simple bisection to find the
smallest p-quantile inf{x in Z | P(X<=x) >= p}.p - the cumulative probabilitylower - a value satisfying cumulativeProbability(lower) < pupper - a value satisfying p <= cumulativeProbability(upper)p-quantile of this distributionpublic void reseedRandomGenerator(long seed)
reseedRandomGenerator in interface IntegerDistributionseed - the new seedpublic int sample()
sample in interface IntegerDistributionpublic int[] sample(int sampleSize)
sample() in a loop.sample in interface IntegerDistributionsampleSize - the number of random values to generatepublic double logProbability(int x)
X whose values are distributed according to
this distribution, this method returns log(P(X = x)), where
log is the natural logarithm. In other words, this method
represents the logarithm of the probability mass function (PMF) for the
distribution. Note that due to the floating point precision and
under/overflow issues, this method will for some distributions be more
precise and faster than computing the logarithm of
IntegerDistribution.probability(int).
The default implementation simply computes the logarithm of probability(x).
x - the point at which the PMF is evaluatedxCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.