Java API By Example, From Geeks To Geeks.

# Java > Open Source Codes > org > apache > commons > math > distribution > IntegerDistribution

 `1 /*2  * Copyright 2004 The Apache Software Foundation.3  *4  * Licensed under the Apache License, Version 2.0 (the "License");5  * you may not use this file except in compliance with the License.6  * You may obtain a copy of the License at7  *8  * http://www.apache.org/licenses/LICENSE-2.09  *10  * Unless required by applicable law or agreed to in writing, software11  * distributed under the License is distributed on an "AS IS" BASIS,12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13  * See the License for the specific language governing permissions and14  * limitations under the License.15  */16 package org.apache.commons.math.distribution;17 18 import org.apache.commons.math.MathException;19 20 /**21  * Interface for discrete distributions of integer-valued random variables.22  *23  * @version \$Revision\$ \$Date: 2005-02-26 05:11:52 -0800 (Sat, 26 Feb 2005) \$24  */25 public interface IntegerDistribution extends DiscreteDistribution {26     /**27      * For a random variable X whose values are distributed according28      * to this distribution, this method returns P(X = x). In other words, this29      * method represents the probability mass function for the distribution.30      * 31      * @param x the value at which the probability density function is evaluated.32      * @return the value of the probability density function at x33      */34     double probability(int x);35 36     /**37      * For a random variable X whose values are distributed according38      * to this distribution, this method returns P(X ≤ x). In other words,39      * this method represents the probability distribution function, or PDF40      * for the distribution.41      * 42      * @param x the value at which the PDF is evaluated.43      * @return PDF for this distribution. 44      * @throws MathException if the cumulative probability can not be45      * computed due to convergence or other numerical errors.46      */47     double cumulativeProbability(int x) throws MathException;48     49     /**50      * For this distribution, X, this method returns P(x0 ≤ X ≤ x1).51      * @param x0 the inclusive, lower bound52      * @param x1 the inclusive, upper bound53      * @return the cumulative probability. 54      * @throws MathException if the cumulative probability can not be55      * computed due to convergence or other numerical errors.56      * @throws IllegalArgumentException if x0 > x157      */58     double cumulativeProbability(int x0, int x1) throws MathException;59     60     /**61      * For this distribution, X, this method returns the largest x such that62      * P(X ≤ x) <= p.63      *

64      * Note that this definition implies:

65      *
• If there is a minimum value, m, with postive66      * probablility under (the density of) X, then m - 1 is67      * returned by inverseCumulativeProbability(0). If there is68      * no such value m, Integer.MIN_VALUE is 69      * returned.
• 70      *
• If there is a maximum value, M, such that71      * P(X ≤ M) =1, then M is returned by 72      * inverseCumulativeProbability(1).73      * If there is no such value, M, Integer.MAX_VALUE is 74      * returned.
75      * 76      * @param p the cumulative probability.77      * @return the largest x such that P(X ≤ x) <= p78      * @throws MathException if the inverse cumulative probability can not be79      * computed due to convergence or other numerical errors.80      * @throws IllegalArgumentException if p is not between 0 and 1 (inclusive)81      */82     int inverseCumulativeProbability(double p) throws MathException;83 }84 ` Popular Tags