22 #ifndef NS3_RANDOM_VARIABLE_H
23 #define NS3_RANDOM_VARIABLE_H
44 class RandomVariableBase;
138 double GetValue (
double s,
double l);
478 void CDF (
double v,
double c);
602 double GetValue (
double alpha,
double beta)
const;
655 double GetValue (
unsigned int k,
double lambda)
const;
RandomVariableBase * Peek(void) const
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
TriangularVariable()
Creates a triangle distribution random number generator in the range [0.0 .
ErlangVariable()
Constructs an Erlang random variable with k = 1 and lambda = 1.0.
A random variable that returns a constantClass ConstantVariable defines a random number generator tha...
Triangularly Distributed random varThis distribution is a triangular distribution.
Erlang Distributed Random VariableErlangVariable defines a random variable with Erlang distribution...
Zipf Distributed Random VariableZipfVariable defines a discrete random variable with Zipf distributio...
GammaVariable()
Constructs a gamma random variable with alpha = 1.0 and beta = 1.0.
#define ATTRIBUTE_VALUE_DEFINE(Name)
Declare the attribute value class NameValue for the class Name
ParetoVariable distributed random varThis class supports the creation of objects that return random n...
ExponentialVariable()
Constructs an exponential random variable with a mean value of 1.0.
ZipfVariable()
Constructs a Zipf random variable with N=1 and alpha=0.
NormalVariable()
Constructs an normal random variable with a mean value of 0 and variance of 1.
Class NormalVariable defines a random variable with a normal (Gaussian) distribution.
RandomVariable & operator=(const RandomVariable &o)
DeterministicVariable(double *d, uint32_t c)
Constructor.
WeibullVariable()
Constructs a weibull random variable with a mean value of 1.0 and a shape (alpha) parameter of 1...
friend std::istream & operator>>(std::istream &os, RandomVariable &var)
double GetValue(void) const
call RandomVariable::GetValue
Log-normal Distributed random varLogNormalVariable defines a random variable with log-normal distribu...
ATTRIBUTE_ACCESSOR_DEFINE(Boolean)
SequentialVariable(double f, double l, double i=1, uint32_t c=1)
Constructor for the SequentialVariable RNG.
Gamma Distributed Random VariableGammaVariable defines a random variable with gamma distribution...
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
LogNormalVariable(double mu, double sigma)
RandomVariableBase * m_variable
Zeta Distributed Distributed Random VariableZetaVariable defines a discrete random variable with Zeta...
Exponentially Distributed random varThis class supports the creation of objects that return random nu...
double GetValue(void) const
call RandomVariable::GetValue
Integer-based empirical distributionDefines an empirical distribution where all values are integers...
a non-random variableDefines a random variable that has a specified, predetermined sequence...
void CDF(double v, double c)
Specifies a point in the empirical distribution.
EmpiricalVariable()
Constructor for the EmpiricalVariable random variables.
ZetaVariable()
Constructs a Zeta random variable with alpha=3.14.
friend std::ostream & operator<<(std::ostream &os, const RandomVariable &var)
EmpiricalVariable distribution random varDefines a random variable that has a specified, empirical distribution.
ConstantVariable()
Construct a ConstantVariable RNG that returns zero every sample.
double GetValue(void) const
Returns a random double from the underlying distribution.
uint32_t GetInteger(void) const
Returns a random integer integer from the underlying distribution.
WeibullVariable distributed random varThis class supports the creation of objects that return random ...
ATTRIBUTE_CHECKER_DEFINE(Boolean)
void SetConstant(double c)
Specify a new constant RNG for this generator.
ParetoVariable()
Constructs a pareto random variable with a mean of 1 and a shape parameter of 1.5.
Return a sequential list of valuesClass SequentialVariable defines a random number generator that ret...