# The Erlang Distribution

The Erlang distribution models the waiting time for the *n*th occurance of an event with specified waiting
time.

The Erlang distribution has two parameters. The first parameter,
the number of occurrences *n*, acts as a shape parameter.
The second parameter, the waiting time θ, is a scale parameter.

The Erlang distribution is a special case of the The Gamma Distribution, with
location parameter 0 and the shape parameter restricted to integral values. When *n* = 1, the Erlang
distribution reduces to the The Exponential Distribution.

The probability density function is:

The Erlang distribution is implemented by the
ErlangDistribution
class. It has one constructor which takes the number of occurrences and the waiting time
(or the shape and scale parameters) as arguments. The first argument must be an integer.
The following constructs an Erlang distribution with *n* = 10 and
waiting time 7.6:

`var erlang = new ErlangDistribution(10, 7.6);`

The ErlangDistribution class has two specific properties, ShapeParameter, which returns the shape parameter of the distribution, and ScaleParameter, which returns the scale parameter.

ErlangDistribution has one static (*Shared* in Visual Basic) method, Sample, which
generates a random sample using a user-supplied uniform random number generator.

```
var random = new MersenneTwister();
double sample = ErlangDistribution.Sample(random, 10, 7.6);
```

The above example uses the MersenneTwister to generate uniform random numbers.

For details of the properties and methods common to all continuous distribution classes, see the topic on Continuous Probability Distributions class.