poisson method

int poisson(
  1. double lambda
)

Generates a random value from a Poisson distribution.

Implementation

int poisson(double lambda) {
  final l = math.exp(-lambda);
  int k = 0;
  double p = 1.0;

  do {
    k++;
    p *= _random.nextDouble();
  } while (p > l);

  return k - 1;
}