Package sim.util.distribution
Class NegativeBinomial
java.lang.Object
sim.util.distribution.AbstractDistribution
sim.util.distribution.AbstractDiscreteDistribution
sim.util.distribution.NegativeBinomial
- All Implemented Interfaces:
Serializable
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.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected Gamma
protected int
protected double
protected Poisson
Fields inherited from class sim.util.distribution.AbstractDistribution
randomGenerator
-
Constructor Summary
ConstructorDescriptionNegativeBinomial
(int n, double p, MersenneTwisterFast randomGenerator) Constructs a Negative Binomial distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(int k) Returns the cumulative distribution function.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.toString()
Returns a String representation of the receiver.Methods inherited from class sim.util.distribution.AbstractDiscreteDistribution
nextDouble
Methods inherited from class sim.util.distribution.AbstractDistribution
apply, apply, getRandomGenerator, 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. -
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.
-
toString
Returns a String representation of the receiver.
-