org.apache.commons.math.distribution

## Class AbstractIntegerDistribution

• ### Method Summary

All Methods
Modifier and Type Method and Description
`double` `cumulativeProbability(double x)`
For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x).
`double` ```cumulativeProbability(double x0, double x1)```
For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).
`abstract double` `cumulativeProbability(int x)`
For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x).
`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)`
For a random variable X whose values are distributed according to this distribution, this method returns the largest x, such that P(X ≤ x) ≤ `p`.
`boolean` `isSupportLowerBoundInclusive()`
Use this method to get information about whether the lower bound of the support is inclusive or not.
`boolean` `isSupportUpperBoundInclusive()`
Use this method to get information about whether the upper bound of the support is inclusive or not.
`double` `probability(double x)`
For a random variable X whose values are distributed according to this distribution, this method returns P(X = x).
`void` `reseedRandomGenerator(long seed)`
Reseeds the random generator used to generate samples.
`int` `sample()`
Generates a random value sampled from this distribution.
`int[]` `sample(int sampleSize)`
Generates a random sample from the distribution.
• ### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Methods inherited from interface org.apache.commons.math.distribution.IntegerDistribution

`probability`
• ### Method Detail

• #### cumulativeProbability

```public double cumulativeProbability(double x)
throws MathException```
For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x). In other words, this method represents the (cumulative) distribution function, or CDF, for this distribution.

If `x` does not represent an integer value, the CDF is evaluated at the greatest integer less than x.

Specified by:
`cumulativeProbability` in interface `Distribution`
Parameters:
`x` - the value at which the distribution function is evaluated.
Returns:
cumulative probability that a random variable with this distribution takes a value less than or equal to `x`
Throws:
`MathException` - if the cumulative probability can not be computed due to convergence or other numerical errors.
• #### cumulativeProbability

```public double cumulativeProbability(double x0,
double x1)
throws MathException```
For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).
Specified by:
`cumulativeProbability` in interface `Distribution`
Overrides:
`cumulativeProbability` in class `AbstractDistribution`
Parameters:
`x0` - the (inclusive) lower bound
`x1` - the (inclusive) upper bound
Returns:
the probability that a random variable with this distribution will take a value between `x0` and `x1`, including the endpoints.
Throws:
`MathException` - if the cumulative probability can not be computed due to convergence or other numerical errors.
`java.lang.IllegalArgumentException` - if `x0 > x1`
• #### cumulativeProbability

```public abstract double cumulativeProbability(int x)
throws MathException```
For a random variable X whose values are distributed according to this distribution, this method returns P(X ≤ x). In other words, this method represents the probability distribution function, or PDF, for this distribution.
Specified by:
`cumulativeProbability` in interface `IntegerDistribution`
Parameters:
`x` - the value at which the PDF is evaluated.
Returns:
PDF for this distribution.
Throws:
`MathException` - if the cumulative probability can not be computed due to convergence or other numerical errors.
• #### probability

`public double probability(double x)`
For a random variable X whose values are distributed according to this distribution, this method returns P(X = x). In other words, this method represents the probability mass function, or PMF, for the distribution.

If `x` does not represent an integer value, 0 is returned.

Specified by:
`probability` in interface `DiscreteDistribution`
Parameters:
`x` - the value at which the probability density function is evaluated
Returns:
the value of the probability density function at x
• #### cumulativeProbability

```public double cumulativeProbability(int x0,
int x1)
throws MathException```
For a random variable X whose values are distributed according to this distribution, this method returns P(x0 ≤ X ≤ x1).
Specified by:
`cumulativeProbability` in interface `IntegerDistribution`
Parameters:
`x0` - the inclusive, lower bound
`x1` - the inclusive, upper bound
Returns:
the cumulative probability.
Throws:
`MathException` - if the cumulative probability can not be computed due to convergence or other numerical errors.
`java.lang.IllegalArgumentException` - if x0 > x1
• #### inverseCumulativeProbability

```public int inverseCumulativeProbability(double p)
throws MathException```
For a random variable X whose values are distributed according to this distribution, this method returns the largest x, such that P(X ≤ x) ≤ `p`.
Specified by:
`inverseCumulativeProbability` in interface `IntegerDistribution`
Parameters:
`p` - the desired probability
Returns:
the largest x such that P(X ≤ x) <= p
Throws:
`MathException` - if the inverse cumulative probability can not be computed due to convergence or other numerical errors.
`java.lang.IllegalArgumentException` - if p < 0 or p > 1
• #### reseedRandomGenerator

`public void reseedRandomGenerator(long seed)`
Reseeds the random generator used to generate samples.
Parameters:
`seed` - the new seed
Since:
2.2
• #### sample

```public int sample()
throws MathException```
Generates a random value sampled from this distribution. The default implementation uses the inversion method.
Returns:
random value
Throws:
`MathException` - if an error occurs generating the random value
Since:
2.2
• #### sample

```public int[] sample(int sampleSize)
throws MathException```
Generates a random sample from the distribution. The default implementation generates the sample by calling `sample()` in a loop.
Parameters:
`sampleSize` - number of random values to generate
Returns:
an array representing the random sample
Throws:
`MathException` - if an error occurs generating the sample
`java.lang.IllegalArgumentException` - if sampleSize is not positive
Since:
2.2
• #### isSupportLowerBoundInclusive

`public boolean isSupportLowerBoundInclusive()`
Use this method to get information about whether the lower bound of the support is inclusive or not. For discrete support, only true here is meaningful.
Returns:
true (always but at Integer.MIN_VALUE because of the nature of discrete support)
Since:
2.2
• #### isSupportUpperBoundInclusive

`public boolean isSupportUpperBoundInclusive()`
Use this method to get information about whether the upper bound of the support is inclusive or not. For discrete support, only true here is meaningful.
Returns:
true (always but at Integer.MAX_VALUE because of the nature of discrete support)
Since:
2.2