Package org.uncommons.maths.random
Class ExponentialGenerator
- java.lang.Object
-
- org.uncommons.maths.random.ExponentialGenerator
-
- All Implemented Interfaces:
NumberGenerator<Double>
public class ExponentialGenerator extends Object implements NumberGenerator<Double>
Continuous random sequence that follows an exponential distribution.- Since:
- 1.0.2
-
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Double
nextValue()
Generate the next exponential value from the current value of rate.
-
-
-
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 interfaceNumberGenerator<Double>
- Returns:
- The next exponentially-distributed value.
-
-