cern.jet.random

## Class PoissonSlow

- java.lang.Object
- - cern.colt.PersistentObject
  - - cern.jet.random.AbstractDistribution
    - - cern.jet.random.AbstractDiscreteDistribution
      - - cern.jet.random.PoissonSlow

All Implemented Interfaces:
  DoubleFunction, IntFunction, Serializable, Cloneable

    public class PoissonSlow
    extends AbstractDiscreteDistribution

Poisson distribution; See the math definition and animated definition.

`p(k) = (mean^k / k!) * exp(-mean)` for `k >= 0`.

Valid parameter ranges: `mean > 0`. Note: if `mean <= 0.0` then always returns zero.

Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.

Static methods operate on a default uniform random number generator; they are synchronized.

Implementation: This is a port of RandPoisson used in CLHEP 1.4.0 (C++). CLHEP's implementation, in turn, is based upon "W.H.Press et al., Numerical Recipes in C, Second Edition".

Version:
  1.0, 09/24/99
See Also:
  Serialized Form

### Field Summary

### Fields inherited from class cern.colt.PersistentObject

`serialVersionUID`

### Constructor Summary

Constructors
Constructor and Description
`PoissonSlow(double mean, RandomEngine randomGenerator)` Constructs a poisson distribution.

### Method Summary

Methods
`static double` `logGamma(double xx)` Returns the value ln(Gamma(xx) for xx > 0.
`int` `nextInt()` Returns a random number from the distribution.
`void` `setMean(double mean)` Sets the mean.
`static int` `staticNextInt(double mean)` Returns a random number from the distribution with the given mean.
`String` `toString()` Returns a String representation of the receiver.

### Methods inherited from class cern.jet.random.AbstractDiscreteDistribution

`nextDouble`

### Methods inherited from class cern.jet.random.AbstractDistribution

`apply, apply, clone, makeDefaultGenerator`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### PoissonSlow

    public PoissonSlow(double mean,
               RandomEngine randomGenerator)

Constructs a poisson distribution. Example: mean=1.0.

### Method Detail

#### logGamma

    public static double logGamma(double xx)

Returns the value ln(Gamma(xx) for xx > 0. Full accuracy is obtained for xx > 1. For 0 < xx < 1. the reflection formula (6.1.4) can be used first. (Adapted from Numerical Recipes in C)

#### nextInt

    public int nextInt()

Returns a random number from the distribution.

Specified by:
  `nextInt` in class `AbstractDiscreteDistribution`

#### setMean

    public void setMean(double mean)

Sets the mean.

#### staticNextInt

    public static int staticNextInt(double mean)

Returns a random number from the distribution with the given mean.

#### toString

    public String toString()

Returns a String representation of the receiver.

Overrides:
  `toString` in class `Object`