gamma_distribution::operator()
Retourne une valeur aléatoire.
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng,
const param_type& par0);
Paramètres
Engine
Le type du moteur aléatoire.eng
Le moteur aléatoire.par0
Le module de paramètre utilisé pour retourner la valeur aléatoire.
Notes
La première fonction membre utilise le moteur eng comme une source de valeurs aléatoires régulièrement distribuées et retourne des valeurs avec une yyyy'- de probabilité qu' pr(x) = 1 / gamma(stored_alpha) * x^(stored_alpha - 1) * e^(-x).
La deuxième fonction membre se comporte de la même manière, excepté qu'elle utilise les paramètres stockés dans par0.
Exemple
// 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);
}
Configuration requise
en-tête : <random>
l'espace de noms : DST