std::normal_distribution< _RealType > Class Template Reference
Numerics » Random Number Generation » Random Number Distributions » Normal Distributions

`#include <random>`

## Classes

struct | param_type

## Public Types

typedef _RealType | result_type

## Public Member Functions

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

Since
  C++11

Definition at line 2016 of file random.h.

## Member Typedef Documentation

## result_type

template<typename _RealType = double>

typedef _RealType std::normal_distribution< _RealType >::result_type

The type of the range of the distribution.

Definition at line 2023 of file random.h.

## Constructor & Destructor Documentation

## normal_distribution() [1/3]

template<typename _RealType = double>

std::normal_distribution< _RealType >::normal_distribution | ( |  | ) |

inline

Definition at line 2064 of file random.h.

## normal_distribution() [2/3]

template<typename _RealType = double>

std::normal_distribution< _RealType >::normal_distribution | ( | result_type | __mean,
|  | result_type | __stddev = result_type(1) )

inline explicit

Constructs a normal distribution with parameters and standard deviation.

Definition at line 2071 of file random.h.

## normal_distribution() [3/3]

template<typename _RealType = double>

std::normal_distribution< _RealType >::normal_distribution | ( | const param_type & | __p | ) |

inline explicit

Definition at line 2077 of file random.h.

## Member Function Documentation

## __generate() [1/3]

template<typename _RealType = double>
template<typename _ForwardIterator, typename _UniformRandomNumberGenerator>

void std::normal_distribution< _RealType >::__generate | ( | _ForwardIterator | __f,
|  | _ForwardIterator | __t,
|  | _UniformRandomNumberGenerator & | __urng )

inline

Definition at line 2147 of file random.h.

## __generate() [2/3]

template<typename _RealType = double>
template<typename _ForwardIterator, typename _UniformRandomNumberGenerator>

void std::normal_distribution< _RealType >::__generate | ( | _ForwardIterator | __f,
|  | _ForwardIterator | __t,
|  | _UniformRandomNumberGenerator & | __urng,
|  | const param_type & | __p )

inline

Definition at line 2154 of file random.h.

## __generate() [3/3]

template<typename _RealType = double>
template<typename _UniformRandomNumberGenerator>

void std::normal_distribution< _RealType >::__generate | ( | result_type * | __f,
|  | result_type * | __t,
|  | _UniformRandomNumberGenerator & | __urng,
|  | const param_type & | __p )

inline

Definition at line 2161 of file random.h.

## max()

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 2128 of file random.h.

## mean()

template<typename _RealType = double>

_RealType std::normal_distribution< _RealType >::mean | ( |  | ) | const

inline

Returns the mean of the distribution.

Definition at line 2092 of file random.h.

## min()

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 2121 of file random.h.

## operator()() [1/2]

template<typename _RealType = double>
template<typename _UniformRandomNumberGenerator>

result_type std::normal_distribution< _RealType >::operator() | ( | _UniformRandomNumberGenerator & | __urng | ) |

inline

Generating functions.

Definition at line 2136 of file random.h.

Referenced by operator()().

## operator()() [2/2]

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 1812 of file bits/random.tcc.

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

## param() [1/2]

template<typename _RealType = double>

param_type std::normal_distribution< _RealType >::param | ( |  | ) | const

inline

Returns the parameter set of the distribution.

Definition at line 2106 of file random.h.

## param() [2/2]

template<typename _RealType = double>

void std::normal_distribution< _RealType >::param | ( | const param_type & | __param | ) |

inline

Sets the parameter set of the distribution.

Parameters

  __param | The new parameter set of the distribution.

Definition at line 2114 of file random.h.

## reset()

template<typename _RealType = double>

void std::normal_distribution< _RealType >::reset | ( |  | ) |

inline

Resets the distribution state.

Definition at line 2085 of file random.h.

## stddev()

template<typename _RealType = double>

_RealType std::normal_distribution< _RealType >::stddev | ( |  | ) | const

inline

Returns the standard deviation of the distribution.

Definition at line 2099 of file random.h.

## Friends And Related Symbol Documentation

## operator<<

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

  __os | An output stream.
  __x | A normal_distribution random number distribution.

Returns
  The output stream with the state of `__x` inserted or in an error state.

## operator==

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.

## operator>>

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

  __is | An input stream.
  __x | A 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:

- random.h
- bits/random.tcc