Home | History | Annotate | Download | only in distribution
      1 /*
      2  * Licensed to the Apache Software Foundation (ASF) under one or more
      3  * contributor license agreements.  See the NOTICE file distributed with
      4  * this work for additional information regarding copyright ownership.
      5  * The ASF licenses this file to You under the Apache License, Version 2.0
      6  * (the "License"); you may not use this file except in compliance with
      7  * the License.  You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 package org.apache.commons.math.distribution;
     18 
     19 import org.apache.commons.math.MathException;
     20 
     21 /**
     22  * <p>Base interface for continuous distributions.</p>
     23  *
     24  * <p>Note: this interface will be extended in version 3.0 to include
     25  * <br/><code>public double density(double x)</code><br/>
     26  * that is, from version 3.0 forward, continuous distributions <strong>must</strong>
     27  * include implementations of probability density functions. As of version
     28  * 2.1, all continuous distribution implementations included in commons-math
     29  * provide implementations of this method.</p>
     30  *
     31  * @version $Revision: 924362 $ $Date: 2010-03-17 17:45:31 +0100 (mer. 17 mars 2010) $
     32  */
     33 public interface ContinuousDistribution extends Distribution {
     34 
     35     /**
     36      * For this distribution, X, this method returns x such that P(X &lt; x) = p.
     37      * @param p the cumulative probability.
     38      * @return x.
     39      * @throws MathException if the inverse cumulative probability can not be
     40      *            computed due to convergence or other numerical errors.
     41      */
     42     double inverseCumulativeProbability(double p) throws MathException;
     43 }
     44