Package 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
Poisson distribution; See the math definition
and animated definition.
Static methods operate on a default uniform random number generator; they are synchronized.
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.
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
- Author:
- wolfgang.hoschek@cern.ch
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleprotected doubleprotected doubleprotected static final double[]protected doubleprotected static final doubleprotected static PoissonSlowprotected static final doubleFields inherited from class cern.jet.random.AbstractDistribution
randomGeneratorFields inherited from class cern.colt.PersistentObject
serialVersionUID -
Constructor Summary
ConstructorsConstructorDescriptionPoissonSlow(double mean, RandomEngine randomGenerator) Constructs a poisson distribution. -
Method Summary
Modifier and TypeMethodDescriptionstatic doublelogGamma(double xx) Returns the value ln(Gamma(xx) for xx > 0.intnextInt()Returns a random number from the distribution.protected intReturns a random number from the distribution.voidsetMean(double mean) Sets the mean.static intstaticNextInt(double mean) Returns a random number from the distribution with the given mean.toString()Returns a String representation of the receiver.Methods inherited from class cern.jet.random.AbstractDiscreteDistribution
nextDoubleMethods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, setRandomGenerator
-
Field Details
-
mean
protected double mean -
cached_sq
protected double cached_sq -
cached_alxm
protected double cached_alxm -
cached_g
protected double cached_g -
MEAN_MAX
protected static final double MEAN_MAX- See Also:
-
SWITCH_MEAN
protected static final double SWITCH_MEAN- See Also:
-
cof
protected static final double[] cof
-
-
Constructor Details
-
PoissonSlow
Constructs a poisson distribution. Example: mean=1.0.
-
-
Method Details
-
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 invalid input: '<' xx invalid input: '<' 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:
nextIntin classAbstractDiscreteDistribution
-
nextIntSlow
protected int nextIntSlow()Returns a random number from the distribution. -
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
Returns a String representation of the receiver.
-