A poisson_distribution random number distribution
produces integer values i ≥ 0
distributed according to
the discrete probability function
The distribution parameter μ
is also known as this distribution's mean.
template<class IntType = int>
class poisson_distribution{
public:
// types
using result_type = IntType;
using param_type = unspecified;
// constructors and reset functions
explicit poisson_distribution(double mean = 1.0);
explicit poisson_distribution(const param_type& parm);
void reset();
// generating functions
template<class URBG>
result_type operator()(URBG& g);
template<class URBG>
result_type operator()(URBG& g, const param_type& parm);
// property functions
double mean() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
Requires: 0 < mean .
Effects: Constructs a poisson_distribution object; mean corresponds to the parameter of the distribution.
Returns: The value of the mean parameter with which the object was constructed.
An exponential_distribution random number distribution produces random numbers x > 0 distributed according to the probability density function p(x | λ) = λ e-λ x .
template<class RealType = double>
class exponential_distribution{
public:
// types
using result_type = RealType;
using param_type = unspecified;
// constructors and reset functions
explicit exponential_distribution(RealType lambda = 1.0);
explicit exponential_distribution(const param_type& parm);
void reset();
// generating functions
template<class URBG>
result_type operator()(URBG& g);
template<class URBG>
result_type operator()(URBG& g, const param_type& parm);
// property functions
RealType lambda() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
Requires: 0 < lambda .
Effects: Constructs an exponential_distribution object; lambda corresponds to the parameter of the distribution.
Returns: The value of the lambda parameter with which the object was constructed.
A gamma_distribution random number distribution
produces random numbers x > 0
distributed according to
the probability density function![\[%
p(x\,|\,\alpha,\beta)
= \frac{e^{-x/\beta}}{\beta^{\alpha} \cdot \Gamma(\alpha)}
\, \cdot \, x^{\, \alpha-1}
\; \mbox{.}
\]](math/2818784873481647269.png)
template<class RealType = double>
class gamma_distribution{
public:
// types
using result_type = RealType;
using param_type = unspecified;
// constructors and reset functions
explicit gamma_distribution(RealType alpha = 1.0, RealType beta = 1.0);
explicit gamma_distribution(const param_type& parm);
void reset();
// generating functions
template<class URBG>
result_type operator()(URBG& g);
template<class URBG>
result_type operator()(URBG& g, const param_type& parm);
// property functions
RealType alpha() const;
RealType beta() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
explicit gamma_distribution(RealType alpha = 1.0, RealType beta = 1.0);
Requires: 0 < alpha and 0 < beta .
Effects: Constructs a gamma_distribution object; alpha and beta correspond to the parameters of the distribution.
Returns: The value of the alpha parameter with which the object was constructed.
Returns: The value of the beta parameter with which the object was constructed.
A weibull_distribution random number distribution
produces random numbers x ≥ 0
distributed according to
the probability density function![\[%
p(x\,|\,a,b)
= \frac{a}{b}
\cdot \left(\frac{x}{b}\right)^{a-1}
\cdot \, \exp\left( -\left(\frac{x}{b}\right)^a\right)
\; \mbox{.}
\]](math/7851113081917117550.png)
template<class RealType = double>
class weibull_distribution{
public:
// types
using result_type = RealType;
using param_type = unspecified;
// constructor and reset functions
explicit weibull_distribution(RealType a = 1.0, RealType b = 1.0);
explicit weibull_distribution(const param_type& parm);
void reset();
// generating functions
template<class URBG>
result_type operator()(URBG& g);
template<class URBG>
result_type operator()(URBG& 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 weibull_distribution(RealType a = 1.0, RealType b = 1.0);
Requires: 0 < a and 0 < b .
Effects: Constructs a weibull_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.
An extreme_value_distribution random number distribution
produces random numbers x
distributed according to
the probability density function275
![\[%
p(x\,|\,a,b)
= \frac{1}{b}
\cdot \exp\left( \frac{a-x}{b}
\,-\, \exp\left(\frac{a-x}{b}\right)
\right)
\; \mbox{.}
\]](math/1314498286204533439.png)
template<class RealType = double>
class extreme_value_distribution{
public:
// types
using result_type = RealType;
using param_type = unspecified;
// constructor and reset functions
explicit extreme_value_distribution(RealType a = 0.0, RealType b = 1.0);
explicit extreme_value_distribution(const param_type& parm);
void reset();
// generating functions
template<class URBG>
result_type operator()(URBG& g);
template<class URBG>
result_type operator()(URBG& 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 extreme_value_distribution(RealType a = 0.0, RealType b = 1.0);
Requires: 0 < b .
Effects: Constructs an extreme_value_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.
The distribution corresponding to this probability density function is also known (with a possible change of variable) as the Gumbel Type I, the log-Weibull, or the Fisher-Tippett Type I distribution.