A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::ErlangVariable Class Reference

Erlang Distributed Random VariableErlangVariable defines a random variable with Erlang distribution. More...

#include <random-variable.h>

+ Inheritance diagram for ns3::ErlangVariable:

Public Member Functions

 ErlangVariable ()
 
 ErlangVariable (unsigned int k, double lambda)
 
double GetValue (void) const
 call RandomVariable::GetValue More...
 
double GetValue (unsigned int k, double lambda) const
 Returns an Erlang random distributed double with parameters k and lambda. More...
 
- Public Member Functions inherited from ns3::RandomVariable
 RandomVariable (const RandomVariable &o)
 
uint32_t GetInteger (void) const
 Returns a random integer integer from the underlying distribution. More...
 
double GetValue (void) const
 Returns a random double from the underlying distribution. More...
 
RandomVariableoperator= (const RandomVariable &o)
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::RandomVariable
 RandomVariable (const RandomVariableBase &variable)
 
RandomVariableBasePeek (void) const
 

Detailed Description

Erlang Distributed Random Variable

ErlangVariable defines a random variable with Erlang distribution.

The Erlang distribution is a special case of the Gamma distribution where k (= alpha) is a non-negative integer. Erlang distributed variables can be generated using a much faster algorithm than gamma variables.

This class supports the creation of objects that return random numbers from a fixed Erlang distribution. It also supports the generation of single random numbers from various Erlang distributions.

The probability density function is defined over the interval [0,+inf) as: $ \frac{x^{k-1} e^{-\frac{x}{\lambda}}}{\lambda^k (k-1)!}$ where $ mean = k \lambda $ and $ variance = k \lambda^2$

Definition at line 622 of file random-variable.h.

Constructor & Destructor Documentation

ns3::ErlangVariable::ErlangVariable ( )

Constructs an Erlang random variable with k = 1 and lambda = 1.0

Definition at line 1717 of file random-variable.cc.

References NS_LOG_FUNCTION.

ns3::ErlangVariable::ErlangVariable ( unsigned int  k,
double  lambda 
)
Parameters
kk parameter of the Erlang distribution. Must be a non-negative integer.
lambdalambda parameter of the Erlang distribution

Definition at line 1723 of file random-variable.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

double ns3::ErlangVariable::GetValue ( void  ) const

call RandomVariable::GetValue

Returns
A floating point random value

Note: we have to re-implement this method here because the method is overloaded below for the two-argument variant and the c++ name resolution rules don't work well with overloads split between parent and child classes.

Definition at line 1729 of file random-variable.cc.

References ns3::RandomVariable::GetValue(), and NS_LOG_FUNCTION.

double ns3::ErlangVariable::GetValue ( unsigned int  k,
double  lambda 
) const

Returns an Erlang random distributed double with parameters k and lambda.

Parameters
kk parameter of the Erlang distribution. Must be a non-negative integer.
lambdalambda parameter of the Erlang distribution
Returns
A floating point random value

Definition at line 1735 of file random-variable.cc.

References NS_LOG_FUNCTION.


The documentation for this class was generated from the following files: