binomial_distribution::operator()
Gibt einen zufälligen Wert zurück.
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng,
const param_type& par0);
Parameter
Engine
Der Typ des zufälligen Moduls.eng
Das zufällige Modul.par0
Das Parameterpaket verwendet, um den Zufallswert zurückzugeben.
Hinweise
Die erste Memberfunktion verwendet das Modul eng als Quelle für gleichmäßig verteilten zufälligen ganzzahlige Werte und gibt Ganzzahlwerten mit jedem Wert i zurück, das mit Wahrscheinlichkeit pr(i) = comb(stored_t, i) * stored_p^i * (1 - stored_p)^(stored_t-i) auftritt, in der comb(t, i) die Anzahl der möglichen Kombinationen von t-Objekten ist, die jeweils i verwiesen werden.
Die zweite Memberfunktion verhält sich identisch, allerdings verwendet die Parameter, die in par0 gespeichert werden.
Beispiel
// std_tr1__random__binomial_distribution_operator_fn.cpp
// compile with: /EHsc
#include <random>
#include <iostream>
typedef std::mt19937 Myeng;
typedef std::binomial_distribution<int, double> Mydist;
int main()
{
Myeng eng;
Mydist dist(2, 0.6);
Mydist::input_type engval = eng();
Mydist::result_type distval = dist(eng);
distval = distval; // to quiet "unused" warnings
engval = engval;
std::cout << "p == " << dist.p() << std::endl;
std::cout << "t == " << dist.t() << 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);
}
Anforderungen
Header: <random>
Namespace: std