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
- 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 AbstractDistribution
randomGeneratorFields inherited from class 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.private intnextInt(double theMean) Returns a random number from the distribution; bypasses the internal state.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.private static voidxstaticSetRandomGenerator(RandomEngine randomGenerator) Sets the uniform random number generated shared by all static methods.Methods inherited from class AbstractDiscreteDistribution
nextDoubleMethods inherited from class 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
-
nextInt
private int nextInt(double theMean) Returns a random number from the distribution; bypasses the internal state. -
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
-
xstaticSetRandomGenerator
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator- the new uniform random number generator to be shared.
-