gamma_distribution::gamma_distribution
Constructs the distribution.
gamma_distribution(result_type alpha0 = result_type(1.0));
result_type beta0 = result_type(1.0));
explicit gamma_distribution(const param_type& par0);
Parameters
alpha0
The alpha distribution parameter.beta0
The beta distribution parameter.par0
The parameter package used to construct the distribution.
Remarks
Precondition: 0.0 < alpha0
The first constructor constructs an object whose stored value stored_alpha holds the value alpha0 and whose stored value stored_beta holds the value beta0.
The second constructor constructs an object whose stored parameters are initialized from par0.
Example
// std_tr1__random__gamma_distribution_construct.cpp
// compile with: /EHsc
#include <random>
#include <iostream>
typedef std::ranlux64_base_01 Myeng;
typedef std::gamma_distribution<double> Mydist;
int main()
{
Myeng eng;
Mydist dist(1.5);
Mydist::input_type engval = eng();
Mydist::result_type distval = dist(eng);
distval = distval; // to quiet "unused" warnings
engval = engval;
std::cout << "alpha == " << dist.alpha() << std::endl;
dist.reset(); // discard any cached values
std::cout << "a random value == " << dist(eng) << std::endl;
std::cout << "a random value == " << dist(eng) << std::endl;
std::cout << "a random value == " << dist(eng) << std::endl;
return (0);
}
alpha == 1.5 a random value == 1.69867 a random value == 0.555659 a random value == 0.609713
Requirements
Header: <random>
Namespace: std