View Javadoc

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   * Interface representing the Poisson Distribution.
23   * 
24   * <p>
25   * References:
26   * <ul>
27   * <li><a href="http://mathworld.wolfram.com/PoissonDistribution.html">
28   * Poisson distribution</a></li>
29   * </ul>
30   * </p>
31   * 
32   * @version $Revision: 670469 $ $Date: 2008-06-23 04:01:38 -0400 (Mon, 23 Jun 2008) $
33   */
34  public interface PoissonDistribution extends IntegerDistribution {
35  
36      /**
37       * Get the mean for the distribution.
38       * 
39       * @return the mean for the distribution.
40       */
41      public double getMean();
42  
43      /**
44       * Set the mean for the distribution.
45       * The parameter value must be positive; otherwise an 
46       * <code>IllegalArgument</code> is thrown.
47       * 
48       * @param p the mean
49       * @throws IllegalArgumentException if p &le; 0
50       */
51      public void setMean(double p);
52  
53      /**
54       * Calculates the Poisson distribution function using a normal approximation.
55       * 
56       * @param x the upper bound, inclusive
57       * @return the distribution function value calculated using a normal approximation
58       * @throws MathException if an error occurs computing the normal approximation
59       */
60      public double normalApproximateProbability(int x) throws MathException;
61  }