Package jsl.utilities.random.rvariable
Class ExponentialRV
- java.lang.Object
-
- jsl.utilities.random.rvariable.AbstractRVariable
-
- jsl.utilities.random.rvariable.ExponentialRV
-
- All Implemented Interfaces:
java.util.function.DoubleSupplier
,GetNameIfc
,GetValueIfc
,IdentityIfc
,PreviousValueIfc
,RandomIfc
,GetRandomNumberStreamIfc
,RNStreamControlIfc
,SetRandomNumberStreamIfc
,NewAntitheticInstanceIfc
,RVariableIfc
,SampleIfc
public final class ExponentialRV extends AbstractRVariable
Exponential(mean) random variable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jsl.utilities.random.rvariable.RVariableIfc
RVariableIfc.RVType
-
-
Field Summary
-
Fields inherited from class jsl.utilities.random.rvariable.AbstractRVariable
myRNStream
-
-
Constructor Summary
Constructors Constructor Description ExponentialRV()
Defaults to mean = 1.0ExponentialRV(double mean)
Uses a new stream from the default stream factoryExponentialRV(double mean, int streamNum)
ExponentialRV(double mean, RNStreamIfc rng)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
generate()
double
getMean()
static RVControls
makeControls()
The key is "mean" with default value 1.0ExponentialRV
newInstance(RNStreamIfc rng)
java.lang.String
toString()
-
Methods inherited from class jsl.utilities.random.rvariable.AbstractRVariable
advanceToNextSubstream, getAntitheticOption, getId, getName, getPreviousValue, getRandomNumberStream, getValue, newAntitheticInstance, newInstance, resetStartStream, resetStartSubstream, sample, setAntitheticOption, setName, setPreviousValue, setRandomNumberStream
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jsl.utilities.random.rng.GetRandomNumberStreamIfc
getStreamNumber
-
Methods inherited from interface jsl.utilities.random.rvariable.RVariableIfc
asDoubleStream, getAsDouble, getSumOfValues, newInstance
-
Methods inherited from interface jsl.utilities.random.rng.SetRandomNumberStreamIfc
setRandomNumberStream
-
-
-
-
Constructor Detail
-
ExponentialRV
public ExponentialRV()
Defaults to mean = 1.0
-
ExponentialRV
public ExponentialRV(double mean)
Uses a new stream from the default stream factory- Parameters:
mean
- must be greater than 0.0
-
ExponentialRV
public ExponentialRV(double mean, int streamNum)
- Parameters:
mean
- must be greater than 0.0streamNum
- the stream number
-
ExponentialRV
public ExponentialRV(double mean, RNStreamIfc rng)
- Parameters:
mean
- must be greater than 0.0rng
- must be null
-
-
Method Detail
-
newInstance
public ExponentialRV newInstance(RNStreamIfc rng)
- Parameters:
rng
- the RngIfc to use- Returns:
- a new instance with same parameter value
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getMean
public double getMean()
- Returns:
- the mean value
-
generate
protected double generate()
- Specified by:
generate
in classAbstractRVariable
- Returns:
- the randomly generated variate
-
makeControls
public static RVControls makeControls()
The key is "mean" with default value 1.0- Returns:
- a control for Exponential random variables
-
-