# Class PoissonGenerator

java.lang.Object
org.uncommons.maths.random.PoissonGenerator

All Implemented Interfaces:
  `NumberGenerator<Integer>`

public class PoissonGenerator extends Object implements NumberGenerator<Integer>
Discrete random sequence that follows a Poisson distribution.

## Constructor Summary

Constructors
Constructor
Description
`PoissonGenerator(double mean, Random rng)`
Creates a generator of Poisson-distributed values from a distribution with the specified mean.
`PoissonGenerator(NumberGenerator<Double> mean, Random rng)`
Creates a generator of Poisson-distributed values.

## Method Summary

Modifier and Type
Method
Description
`Integer`
`nextValue()`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PoissonGenerator

public PoissonGenerator(NumberGenerator<Double> mean, Random rng)

Creates a generator of Poisson-distributed values. The mean is determined by the provided `NumberGenerator`. This means that the statistical parameters of this generator may change over time. One example of where this is useful is if the mean generator is attached to a GUI control that allows a user to tweak the parameters while a program is running.

To create a Poisson generator with a constant mean, use the `PoissonGenerator(double, Random)` constructor instead.

Parameters:
  `mean` - A `NumberGenerator` that provides the mean of the Poisson distribution used for the next generated value.
  `rng` - The source of randomness.

### PoissonGenerator

public PoissonGenerator(double mean, Random rng)
Creates a generator of Poisson-distributed values from a distribution with the specified mean.

Parameters:
  `mean` - The mean of the values generated.
  `rng` - The source of randomness.

## Method Details

### nextValue

public Integer nextValue()

Specified by:
  `nextValue` in interface `NumberGenerator<Integer>`
Returns:
  The next value from the generator.