libstdc++
std::normal_distribution< _RealType > Class Template Reference
Inheritance diagram for std::normal_distribution< _RealType >:

List of all members.

Classes

struct  param_type

Public Types

typedef _RealType result_type

Public Member Functions

 normal_distribution (result_type __mean=result_type(0), result_type __stddev=result_type(1))
 normal_distribution (const param_type &__p)
result_type max () const
_RealType mean () 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 ()
_RealType stddev () const

Friends

template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_ostream< _CharT,
_Traits > & 
operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::normal_distribution< _RealType1 > &__x)
template<typename _RealType1 >
bool operator== (const std::normal_distribution< _RealType1 > &__d1, const std::normal_distribution< _RealType1 > &__d2)
template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_istream< _CharT,
_Traits > & 
operator>> (std::basic_istream< _CharT, _Traits > &__is, std::normal_distribution< _RealType1 > &__x)

Detailed Description

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

A normal continuous distribution for random numbers.

The formula for the normal probability density function is

\[ p(x|\mu,\sigma) = \frac{1}{\sigma \sqrt{2 \pi}} e^{- \frac{{x - \mu}^ {2}}{2 \sigma ^ {2}} } \]

Definition at line 1980 of file random.h.


Member Typedef Documentation

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

The type of the range of the distribution.

Definition at line 1987 of file random.h.


Constructor & Destructor Documentation

template<typename _RealType = double>
std::normal_distribution< _RealType >::normal_distribution ( result_type  __mean = result_type(0),
result_type  __stddev = result_type(1) 
)
inlineexplicit

Constructs a normal distribution with parameters $mean$ and standard deviation.

Definition at line 2025 of file random.h.


Member Function Documentation

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

Returns the least upper bound value of the distribution.

Definition at line 2082 of file random.h.

Referenced by std::normal_distribution< result_type >::max().

template<typename _RealType = double>
_RealType std::normal_distribution< _RealType >::mean ( ) const
inline

Returns the mean of the distribution.

Definition at line 2046 of file random.h.

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

Returns the greatest lower bound value of the distribution.

Definition at line 2075 of file random.h.

Referenced by std::normal_distribution< result_type >::min().

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

Generating functions.

Definition at line 2090 of file random.h.

Referenced by std::normal_distribution< result_type >::operator()().

template<typename _RealType >
template<typename _UniformRandomNumberGenerator >
normal_distribution< _RealType >::result_type std::normal_distribution< _RealType >::operator() ( _UniformRandomNumberGenerator &  __urng,
const param_type __param 
)

Polar method due to Marsaglia.

Devroye, L. Non-Uniform Random Variates Generation. Springer-Verlag, New York, 1986, Ch. V, Sect. 4.4.

Definition at line 1677 of file random.tcc.

References std::log(), and std::sqrt().

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

Returns the parameter set of the distribution.

Definition at line 2060 of file random.h.

Referenced by std::normal_distribution< result_type >::operator()().

template<typename _RealType = double>
void std::normal_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 2068 of file random.h.

template<typename _RealType = double>
_RealType std::normal_distribution< _RealType >::stddev ( ) const
inline

Returns the standard deviation of the distribution.

Definition at line 2053 of file random.h.


Friends And Related Function Documentation

template<typename _RealType = double>
template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const std::normal_distribution< _RealType1 > &  __x 
)
friend

Inserts a normal_distribution random number distribution __x into the output stream __os.

Parameters:
__osAn output stream.
__xA normal_distribution random number distribution.
Returns:
The output stream with the state of __x inserted or in an error state.
template<typename _RealType = double>
template<typename _RealType1 >
bool operator== ( const std::normal_distribution< _RealType1 > &  __d1,
const std::normal_distribution< _RealType1 > &  __d2 
)
friend

Return true if two normal distributions have the same parameters and the sequences that would be generated are equal.

template<typename _RealType = double>
template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_istream<_CharT, _Traits>& operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
std::normal_distribution< _RealType1 > &  __x 
)
friend

Extracts a normal_distribution random number distribution __x from the input stream __is.

Parameters:
__isAn input stream.
__xA normal_distribution random number generator engine.
Returns:
The input stream with __x extracted or in an error state.

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