Package cern.jet.random
Class NegativeBinomial
java.lang.Object
cern.colt.PersistentObject
cern.jet.random.AbstractDistribution
cern.jet.random.AbstractDiscreteDistribution
cern.jet.random.NegativeBinomial
- All Implemented Interfaces:
DoubleFunction
,IntFunction
,Serializable
,Cloneable
Negative Binomial distribution; See the math definition.
Static methods operate on a default uniform random number generator; they are synchronized.
This is a port of nbp.c from the C-RAND / WIN-RAND library.
C-RAND's implementation, in turn, is based upon
Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.
Implementation: High performance implementation. Compound method.
J.H. Ahrens, U. Dieter (1974): Computer methods for sampling from gamma, beta, Poisson and binomial distributions, Computing 12, 223--246.
- Version:
- 1.0, 09/24/99
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Gamma
protected int
protected double
protected Poisson
protected static NegativeBinomial
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
-
Constructor Summary
ConstructorsConstructorDescriptionNegativeBinomial
(int n, double p, RandomEngine randomGenerator) Constructs a Negative Binomial distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(int k) Returns the cumulative distribution function.clone()
Returns a deep copy of the receiver; the copy will produce identical sequences.int
nextInt()
Returns a random number from the distribution.int
nextInt
(int n, double p) Returns a random number from the distribution; bypasses the internal state.double
pdf
(int k) Returns the probability distribution function.void
setNandP
(int n, double p) Sets the parameters number of trials and the probability of success.static int
staticNextInt
(int n, double p) Returns a random number from the distribution with the given parameters n and p.toString()
Returns a String representation of the receiver.private static void
xstaticSetRandomGenerator
(RandomEngine randomGenerator) Sets the uniform random number generated shared by all static methods.Methods inherited from class cern.jet.random.AbstractDiscreteDistribution
nextDouble
Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, getRandomGenerator, makeDefaultGenerator, setRandomGenerator
-
Field Details
-
n
protected int n -
p
protected double p -
gamma
-
poisson
-
-
Constructor Details
-
NegativeBinomial
Constructs a Negative Binomial distribution. Example: n=1, p=0.5.- Parameters:
n
- the number of trials.p
- the probability of success.randomGenerator
- a uniform random number generator.
-
-
Method Details
-
cdf
public double cdf(int k) Returns the cumulative distribution function. -
clone
Returns a deep copy of the receiver; the copy will produce identical sequences. After this call has returned, the copy and the receiver have equal but separate state.- Overrides:
clone
in classAbstractDistribution
- Returns:
- a copy of the receiver.
-
nextInt
public int nextInt()Returns a random number from the distribution.- Specified by:
nextInt
in classAbstractDiscreteDistribution
-
nextInt
public int nextInt(int n, double p) Returns a random number from the distribution; bypasses the internal state. -
pdf
public double pdf(int k) Returns the probability distribution function. -
setNandP
public void setNandP(int n, double p) Sets the parameters number of trials and the probability of success.- Parameters:
n
- the number of trialsp
- the probability of success.
-
staticNextInt
public static int staticNextInt(int n, double p) Returns a random number from the distribution with the given parameters n and p.- Parameters:
n
- the number of trialsp
- the probability of success.
-
toString
Returns a String representation of the receiver. -
xstaticSetRandomGenerator
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator
- the new uniform random number generator to be shared.
-