A Discrete-Event Network Simulator Home Tutorials  ▼ Docs    ▼ Develop ▼ API
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)

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: where and

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
 k k parameter of the Erlang distribution. Must be a non-negative integer. lambda lambda 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
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
 k k parameter of the Erlang distribution. Must be a non-negative integer. lambda lambda 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: