NegativeBinomial
cern.jet.random

Class NegativeBinomial

• All Implemented Interfaces:
DoubleFunction, IntFunction, Serializable, Cloneable

```public class NegativeBinomial
extends AbstractDiscreteDistribution```
Negative Binomial distribution; See the math definition.

Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.

Static methods operate on a default uniform random number generator; they are synchronized.

Implementation: High performance implementation. Compound method.

This is a port of nbp.c from the C-RAND / WIN-RAND library. C-RAND's implementation, in turn, is based upon

J.H. Ahrens, U. Dieter (1974): Computer methods for sampling from gamma, beta, Poisson and binomial distributions, Computing 12, 223--246.

Serialized Form

• Fields inherited from class cern.colt.PersistentObject

`serialVersionUID`
• Constructor Summary

Constructors
Constructor and Description
```NegativeBinomial(int n, double p, RandomEngine randomGenerator)```
Constructs a Negative Binomial distribution.
• Method Summary

Methods
Modifier and Type Method and Description
`double` `cdf(int k)`
Returns the cumulative distribution function.
`Object` `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.
`String` `toString()`
Returns a String representation of the receiver.
• Methods inherited from class cern.jet.random.AbstractDiscreteDistribution

`nextDouble`
• Methods inherited from class cern.jet.random.AbstractDistribution

`apply, apply, makeDefaultGenerator`
• Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`
• Constructor Detail

• NegativeBinomial

```public NegativeBinomial(int n,
double p,
RandomEngine randomGenerator)```
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 Detail

• cdf

`public double cdf(int k)`
Returns the cumulative distribution function.
• clone

`public Object 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 class `AbstractDistribution`
Returns:
• nextInt

`public int nextInt()`
Returns a random number from the distribution.
Specified by:
`nextInt` in class `AbstractDiscreteDistribution`
• 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 trials
`p` - 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 trials
`p` - the probability of success.
• toString

`public String toString()`
Returns a String representation of the receiver.
Overrides:
`toString` in class `Object`