A normal_distribution random number distribution
produces random numbers x
distributed according to
the probability density function
The distribution parameters μ and σ
are also known as this distribution's mean
and standard deviation.
template<class RealType = double>
class normal_distribution{
public:
// types
typedef RealType result_type;
typedef unspecified param_type;
// constructors and reset functions
explicit normal_distribution(RealType mean = 0.0, RealType stddev = 1.0);
explicit normal_distribution(const param_type& parm);
void reset();
// generating functions
template<class URNG>
result_type operator()(URNG& g);
template<class URNG>
result_type operator()(URNG& 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;
};
explicit normal_distribution(RealType mean = 0.0, RealType stddev = 1.0);
Requires: 0 < stddev .
Effects: Constructs a normal_distribution object; mean and stddev correspond to the respective parameters of the distribution.
Returns: The value of the mean parameter with which the object was constructed.
Returns: The value of the stddev parameter with which the object was constructed.
A lognormal_distribution random number distribution
produces random numbers x > 0
distributed according to
the probability density function
![\[%
p(x\,|\,m,s)
= \frac{1}
{s x \sqrt{2 \pi}}
\cdot
\exp{\left(- \, \frac{(\ln{x} - m)^2}
{2 s^2}
\right)
}
\; \mbox{.}
\]](math/2696700243271672895.png)
template<class RealType = double>
class lognormal_distribution{
public:
// types
typedef RealType result_type;
typedef unspecified param_type;
// constructor and reset functions
explicit lognormal_distribution(RealType m = 0.0, RealType s = 1.0);
explicit lognormal_distribution(const param_type& parm);
void reset();
// generating functions
template<class URNG>
result_type operator()(URNG& g);
template<class URNG>
result_type operator()(URNG& g, const param_type& parm);
// property functions
RealType m() const;
RealType s() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
explicit lognormal_distribution(RealType m = 0.0, RealType s = 1.0);
Requires: 0 < s .
Effects: Constructs a lognormal_distribution object; m and s correspond to the respective parameters of the distribution.
Returns: The value of the m parameter with which the object was constructed.
Returns: The value of the s parameter with which the object was constructed.
A chi_squared_distribution random number distribution
produces random numbers x>0
distributed according to
the probability density function
![\[%
p(x\,|\,n)
= \frac{ x^{(n/2)-1} \cdot e^{-x/2}}
{\Gamma(n/2) \cdot 2^{n/2}}
\; \mbox{.}
\]](math/6635143828116624469.png)
template<class RealType = double>
class chi_squared_distribution{
public:
// types
typedef RealType result_type;
typedef unspecified param_type;
// constructor and reset functions
explicit chi_squared_distribution(RealType n = 1);
explicit chi_squared_distribution(const param_type& parm);
void reset();
// generating functions
template<class URNG>
result_type operator()(URNG& g);
template<class URNG>
result_type operator()(URNG& g, const param_type& parm);
// property functions
RealType n() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
Requires: 0 < n .
Effects: Constructs a chi_squared_distribution object; n corresponds to the parameter of the distribution.
Returns: The value of the n parameter with which the object was constructed.
A cauchy_distribution random number distribution
produces random numbers x
distributed according to
the probability density function
![\[%
p(x\,|\,a,b)
= \left( \pi b \left( 1 + \left( \frac{x-a}{b} \right)^2 \;\right)\right)^{-1}
\; \mbox{.}
\]](math/822148464658683675.png)
template<class RealType = double>
class cauchy_distribution{
public:
// types
typedef RealType result_type;
typedef unspecified param_type;
// constructor and reset functions
explicit cauchy_distribution(RealType a = 0.0, RealType b = 1.0);
explicit cauchy_distribution(const param_type& parm);
void reset();
// generating functions
template<class URNG>
result_type operator()(URNG& g);
template<class URNG>
result_type operator()(URNG& g, const param_type& parm);
// property functions
RealType a() const;
RealType b() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
explicit cauchy_distribution(RealType a = 0.0, RealType b = 1.0);
Requires: 0 < b .
Effects: Constructs a cauchy_distribution object; a and b correspond to the respective parameters of the distribution.
Returns: The value of the a parameter with which the object was constructed.
Returns: The value of the b parameter with which the object was constructed.
A fisher_f_distribution random number distribution
produces random numbers x≥0
distributed according to
the probability density function
![\[%
p(x\,|\,m,n)
= \frac{\Gamma\big((m+n)/2\big)}
{\Gamma(m/2) \; \Gamma(n/2)}
\cdot
\left(\frac{m}{n}\right)^{m/2}
\cdot
x^{(m/2)-1}
\cdot
{\left( 1 + \frac{m x}{n} \right)}^{-(m+n)/2}
\; \mbox{.}
\]](math/7429314193102074347.png)
template<class RealType = double>
class fisher_f_distribution{
public:
// types
typedef RealType result_type;
typedef unspecified param_type;
// constructor and reset functions
explicit fisher_f_distribution(RealType m = 1, RealType n = 1);
explicit fisher_f_distribution(const param_type& parm);
void reset();
// generating functions
template<class URNG>
result_type operator()(URNG& g);
template<class URNG>
result_type operator()(URNG& g, const param_type& parm);
// property functions
RealType m() const;
RealType n() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
explicit fisher_f_distribution(RealType m = 1, RealType n = 1);
Requires: 0 < m and 0 < n .
Effects: Constructs a fisher_f_distribution object; m and n correspond to the respective parameters of the distribution.
Returns: The value of the m parameter with which the object was constructed.
Returns: The value of the n parameter with which the object was constructed.
A student_t_distribution random number distribution
produces random numbers x
distributed according to
the probability density function
![\[%
p(x\,|\,n)
= \frac{1}
{\sqrt{n \pi}}
\cdot \frac{\Gamma\big((n+1)/2\big)}
{\Gamma(n/2)}
\cdot \left( 1+\frac{x^2}{n} \right) ^ {-(n+1)/2}
\; \mbox{.}
\]](math/7766040669647665344.png)
template<class RealType = double>
class student_t_distribution{
public:
// types
typedef RealType result_type;
typedef unspecified param_type;
// constructor and reset functions
explicit student_t_distribution(RealType n = 1);
explicit student_t_distribution(const param_type& parm);
void reset();
// generating functions
template<class URNG>
result_type operator()(URNG& g);
template<class URNG>
result_type operator()(URNG& g, const param_type& parm);
// property functions
RealType n() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
Requires: 0 < n .
Effects: Constructs a student_t_distribution object; n corresponds to the parameter of the distribution.
Returns: The value of the n parameter with which the object was constructed.