001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements.  See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache License, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License.  You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the License for the specific language governing permissions and
015     * limitations under the License.
016     */
017    package org.apache.commons.math.distribution;
018    
019    import org.apache.commons.math.MathException;
020    
021    /**
022     * Computes the cumulative, inverse cumulative and density functions for the beta distribuiton.
023     *
024     * @see <a href="http://en.wikipedia.org/wiki/Beta_distribution">Beta_distribution</a>
025     * @version $Revision: 705239 $ $Date: 2008-10-16 09:32:32 -0400 (Thu, 16 Oct 2008) $
026     * @since 2.0
027     */
028    public interface BetaDistribution extends ContinuousDistribution, HasDensity<Double> {
029        /**
030          * Modify the shape parameter, alpha.
031          * @param alpha the new shape parameter.
032          */
033         void setAlpha(double alpha);
034    
035         /**
036          * Access the shape parameter, alpha
037          * @return alpha.
038          */
039         double getAlpha();
040    
041         /**
042          * Modify the shape parameter, beta.
043          * @param beta the new scale parameter.
044          */
045         void setBeta(double beta);
046    
047         /**
048          * Access the shape parameter, beta
049          * @return beta.
050          */
051         double getBeta();
052    
053         /**
054          * Return the probability density for a particular point.
055          * @param x  The point at which the density should be computed.
056          * @return  The pdf at point x.
057          * @exception MathException if probability density cannot be computed
058          */
059         double density(Double x) throws MathException;
060    
061    }