libstdc++
std::exponential_distribution< _RealType > Class Template Reference

Classes

struct  param_type
 

Public Types

typedef _RealType result_type
 

Public Member Functions

 exponential_distribution (const result_type &__lambda=result_type(1))
 
 exponential_distribution (const param_type &__p)
 
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng)
 
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng, const param_type &__p)
 
template<typename _UniformRandomNumberGenerator >
void __generate (result_type *__f, result_type *__t, _UniformRandomNumberGenerator &__urng, const param_type &__p)
 
_RealType lambda () const
 
result_type max () const
 
result_type min () const
 
template<typename _UniformRandomNumberGenerator >
result_type operator() (_UniformRandomNumberGenerator &__urng)
 
template<typename _UniformRandomNumberGenerator >
result_type operator() (_UniformRandomNumberGenerator &__urng, const param_type &__p)
 
param_type param () const
 
void param (const param_type &__param)
 
void reset ()
 

Friends

bool operator== (const exponential_distribution &__d1, const exponential_distribution &__d2)
 

Detailed Description

template<typename _RealType = double>
class std::exponential_distribution< _RealType >

An exponential continuous distribution for random numbers.

The formula for the exponential probability density function is $p(x|\lambda) = \lambda e^{-\lambda x}$.

Distribution Statistics
Mean$\frac{1}{\lambda}$
Median$\frac{\ln 2}{\lambda}$
Mode$zero$
Range$[0, \infty]$
Standard Deviation$\frac{1}{\lambda}$

Definition at line 4546 of file random.h.

Member Typedef Documentation

◆ result_type

template<typename _RealType = double>
typedef _RealType std::exponential_distribution< _RealType >::result_type

The type of the range of the distribution.

Definition at line 4549 of file random.h.

Constructor & Destructor Documentation

◆ exponential_distribution()

template<typename _RealType = double>
std::exponential_distribution< _RealType >::exponential_distribution ( const result_type __lambda = result_type(1))
inlineexplicit

Constructs an exponential distribution with inverse scale parameter $\lambda$.

Definition at line 4589 of file random.h.

Member Function Documentation

◆ lambda()

template<typename _RealType = double>
_RealType std::exponential_distribution< _RealType >::lambda ( ) const
inline

Returns the inverse scale parameter of the distribution.

Definition at line 4610 of file random.h.

◆ max()

template<typename _RealType = double>
result_type std::exponential_distribution< _RealType >::max ( ) const
inline

Returns the least upper bound value of the distribution.

Definition at line 4639 of file random.h.

References std::numeric_limits< _Tp >::max().

◆ min()

template<typename _RealType = double>
result_type std::exponential_distribution< _RealType >::min ( ) const
inline

Returns the greatest lower bound value of the distribution.

Definition at line 4632 of file random.h.

◆ operator()()

template<typename _RealType = double>
template<typename _UniformRandomNumberGenerator >
result_type std::exponential_distribution< _RealType >::operator() ( _UniformRandomNumberGenerator &  __urng)
inline

Generating functions.

Definition at line 4647 of file random.h.

References std::log().

◆ param() [1/2]

template<typename _RealType = double>
param_type std::exponential_distribution< _RealType >::param ( ) const
inline

Returns the parameter set of the distribution.

Definition at line 4617 of file random.h.

Referenced by std::operator>>().

◆ param() [2/2]

template<typename _RealType = double>
void std::exponential_distribution< _RealType >::param ( const param_type __param)
inline

Sets the parameter set of the distribution.

Parameters
__paramThe new parameter set of the distribution.

Definition at line 4625 of file random.h.

◆ reset()

template<typename _RealType = double>
void std::exponential_distribution< _RealType >::reset ( )
inline

Resets the distribution state.

Has no effect on exponential distributions.

Definition at line 4604 of file random.h.

Friends And Related Function Documentation

◆ operator==

template<typename _RealType = double>
bool operator== ( const exponential_distribution< _RealType > &  __d1,
const exponential_distribution< _RealType > &  __d2 
)
friend

Return true if two exponential distributions have the same parameters.

Definition at line 4687 of file random.h.


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