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 doublegenerate()doublegetMean()static RVControlsmakeControls()The key is "mean" with default value 1.0ExponentialRVnewInstance(RNStreamIfc rng)java.lang.StringtoString()-
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:
toStringin classjava.lang.Object
-
getMean
public double getMean()
- Returns:
- the mean value
-
generate
protected double generate()
- Specified by:
generatein 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
-
-