Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returns a random value.
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng,
const param_type& par0);
Parameters
Engine
The type of the random engine.eng
The random engine.par0
The parameter package used to return the random value.
Remarks
The first member function uses the engine eng as a source of uniformly distributed random values and returns values with a probability density of pr(x) = 1 / gamma(stored_alpha) * x^(stored_alpha - 1) * e^(-x).
The second member function behaves the same, except that it uses the parameters stored in par0.
Example
// std_tr1__random__gamma_distribution_operator_fn.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