A poisson_distribution random number distribution produces integer values i≥0 distributed according to the discrete probability function
P(i|μ)=e−μμii!.
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; };
explicit poisson_distribution(double mean = 1.0);
Effects: Constructs a poisson_distribution object; mean corresponds to the parameter of the distribution.
double mean() const;
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; };
explicit exponential_distribution(RealType lambda = 1.0);
Effects: Constructs an exponential_distribution object; lambda corresponds to the parameter of the distribution.
RealType lambda() const;
A gamma_distribution random number distribution produces random numbers x>0 distributed according to the probability density function
p(x|α,β)=e−x/ββα⋅Γ(α)⋅xα−1.
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);
Effects: Constructs a gamma_distribution object; alpha and beta correspond to the parameters of the distribution.
RealType alpha() const;
RealType beta() const;
A weibull_distribution random number distribution produces random numbers x≥0 distributed according to the probability density function
p(x|a,b)=ab⋅(xb)a−1⋅exp(−(xb)a).
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);
Effects: Constructs a weibull_distribution object; a and b correspond to the respective parameters of the distribution.
RealType a() const;
RealType b() const;
An extreme_value_distribution random number distribution produces random numbers x distributed according to the probability density function274
p(x|a,b)=1b⋅exp(a−xb−exp(a−xb)).
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);
Effects: Constructs an extreme_value_distribution object; a and b correspond to the respective parameters of the distribution.
RealType a() const;
RealType b() const;
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.