exponential_distribution::operator()
Restituisce un valore casuale.
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng,
const param_type& par0);
Parametri
Engine
Il tipo del motore casuale.eng
Il motore casuale.par0
Il pacchetto di parametro utilizzato per restituire il valore casuale.
Note
La prima funzione membro utilizza il motore eng come fonte di valori casuali agevolmente distribuiti e restituisce i valori con una densità di probabilità pr(x) = stored_lambda * e^(-stored_lambda * x).
La seconda funzione membro si comporta lo stesso, ma utilizza i parametri archiviati in par0.
Esempio
// std_tr1__random__exponential_distribution_operator_fn.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);
}
Requisiti
intestazione: <random>
Spazio dei nomi: deviazione standard