RVariableIfc

An interface for defining random variables. The methods sample() and getValue() gets a new value of the random variable sampled accordingly. The method getPreviousValue() returns the value from the last call to sample() or getValue(). The value returned by getPreviousValue() stays the same until the next call to sample() or getValue(). The methods sample() or getValue() always get the next random value. If sample() or getValue() is never called then getPreviousValue() returns Double.NaN. Use sample() or getValue() to get a new random value and use getPreviousValue() to get the last sampled value.

The preferred approach to creating random variables is to subclass RVariable.

Inheritors

Properties

Link copied to clipboard
open override val value: Double

The randomly generated value. Each value will be different

Functions

Link copied to clipboard

Creates an instance of the random variable that is independent of the underlying stream provider but has an underlying stream that is in the exact same state as the random variable's stream, except that it is set to produce antithetic pseudo-random numbers (1-u). That is, its stream is a clone and will produce the antithetic sequence of pseudo-random numbers (i.e. 1-u1, 1-u2, 1-u3,...).

Link copied to clipboard

Creates an instance of the random variable that is independent of the underlying stream provider but has an underlying stream that is in the exact same state as the random variable's stream. That is, its stream is a clone and will produce the same sequence of pseudo-random numbers (i.e. common random numbers).

Link copied to clipboard
open operator fun div(x: Double): RVariableIfc
open operator fun div(other: RVariableIfc): RVariableIfc
Link copied to clipboard
abstract fun instance(streamNum: Int = 0): RVariableIfc

An instance of the random variable with the stream provided by the same underlying stream provider

abstract override fun instance(streamNum: Int, rnStreamProvider: RNStreamProviderIfc): RVariableIfc
Link copied to clipboard
open operator fun minus(x: Double): RVariableIfc
open operator fun minus(other: RVariableIfc): RVariableIfc
Link copied to clipboard
open operator fun plus(x: Double): RVariableIfc
open operator fun plus(other: RVariableIfc): RVariableIfc
Link copied to clipboard
open fun pow(x: Double): RVariableIfc
Link copied to clipboard
open operator fun times(x: Double): RVariableIfc
open operator fun times(other: RVariableIfc): RVariableIfc
Link copied to clipboard
open override fun value(): Double

The randomly generated value. Each value will be different