Partager via


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

Voir aussi

Référence

<random>

gamma_distribution Class