3.1 KiB
[rand.dist.norm.normal]
29 Numerics library [numerics]
29.5 Random number generation [rand]
29.5.9 Random number distribution class templates [rand.dist]
29.5.9.5 Normal distributions [rand.dist.norm]
29.5.9.5.1 Class template normal_distribution [rand.dist.norm.normal]
A normal_distribution random number distribution produces random numbers x distributed according to the probability density function in Formula 29.13.
p(x|μ,Ï)=1Ïâ2Ïâexp(â(xâμ)22Ï2)(29.13)
The distribution parameters μ and Ï are also known as this distribution's mean and standard deviation.
namespace std {templateclass normal_distribution {public:// typesusing result_type = RealType; using param_type = unspecified; // constructors and reset functions normal_distribution() : normal_distribution(0.0) {}explicit normal_distribution(RealType mean, RealType stddev = 1.0); explicit normal_distribution(const param_type& parm); void reset(); // equality operatorsfriend bool operator==(const normal_distribution& x, const normal_distribution& y); // generating functionstemplate result_type operator()(URBG& g); template result_type operator()(URBG& g, const param_type& parm); // property functions RealType mean() const; RealType stddev() const; param_type param() const; void param(const param_type& parm); result_type min() const; result_type max() const; // inserters and extractorstemplate<class charT, class traits>friend basic_ostream<charT, traits>&operator<<(basic_ostream<charT, traits>& os, const normal_distribution& x); template<class charT, class traits>friend basic_istream<charT, traits>&operator>>(basic_istream<charT, traits>& is, normal_distribution& x); };}
explicit normal_distribution(RealType mean, RealType stddev = 1.0);
Preconditions: 0<stddev.
Remarks: mean and stddev correspond to the respective parameters of the distribution.
RealType mean() const;
Returns: The value of the mean parameter with which the object was constructed.
RealType stddev() const;
Returns: The value of the stddev parameter with which the object was constructed.