Uncommons Maths API
(Version 1.2.3)

## org.uncommons.maths.random Class ExponentialGenerator

```java.lang.Object org.uncommons.maths.random.ExponentialGenerator
```
All Implemented Interfaces:
NumberGenerator<Double>

`public class ExponentialGeneratorextends Objectimplements NumberGenerator<Double>`

Continuous random sequence that follows an exponential distribution.

Since:
1.0.2
Author:
Daniel Dyer

Constructor Summary
```ExponentialGenerator(double rate, Random rng)```
Creates a generator of exponentially-distributed values from a distribution with the specified rate.
```ExponentialGenerator(NumberGenerator<Double> rate, Random rng)```
Creates a generator of exponentially-distributed values from a distribution with a rate controlled by the specified generator parameter.

Method Summary
` Double` `nextValue()`
Generate the next exponential value from the current value of rate.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExponentialGenerator

```public ExponentialGenerator(NumberGenerator<Double> rate,
Random rng)```
Creates a generator of exponentially-distributed values from a distribution with a rate controlled by the specified generator parameter. The mean of this distribution is 1 / rate and the variance is 1 / rate^2.

Parameters:
`rate` - A number generator that provides values to use as the rate for the exponential distribution. This generator must only return non-zero, positive values.
`rng` - The source of randomness used to generate the exponential values.

### ExponentialGenerator

```public ExponentialGenerator(double rate,
Random rng)```
Creates a generator of exponentially-distributed values from a distribution with the specified rate. The mean of this distribution is 1 / rate and the variance is 1 / rate^2.

Parameters:
`rate` - The rate (lamda) of the exponential distribution.
`rng` - The source of randomness used to generate the exponential values.
Method Detail

### nextValue

`public Double nextValue()`
Generate the next exponential value from the current value of rate.

Specified by:
`nextValue` in interface `NumberGenerator<Double>`
Returns:
The next exponentially-distributed value.

Uncommons Maths API
(Version 1.2.3)