exponential_distribution::exponential_distribution
Constructs the distribution.
exponential_distribution(const result_type& lambda0 = result_type(1.0));
explicit exponential_distribution(const param_type& par0);
Parameters
lambda0
The lambda distribution parameter.par0
The parameter package used to construct the distribution.
Remarks
Precondition: 0.0 <= lambda0
The first constructor constructs an object whose stored value stored_lambda holds the value lambda0.
The second constructor constructs an object whose stored parameters are initialized from par0.
Example
// std_tr1__random__exponential_distribution_construct.cpp
// compile with: /EHsc
#include <random>
#include <iostream>
typedef std::ranlux64_base_01 Myeng;
typedef std::exponential_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 << "lambda == " << dist.lambda() << 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);
}
lambda == 1.5 a random value == 0.223809 a random value == 0.168898 a random value == 0.176395
Requirements
Header: <random>
Namespace: std
See Also
Reference
exponential_distribution Class