Sarei curioso di sapere se esiste un generatore booleano casuale predefinito nella libreria random
C++ 11. Sto usando un generatore di int che restituisce 0
o 1
e quindi la conversione in bool, ma sto cercando di ottimizzare il mio codice e pensando di poter risparmiare usando fin dall'inizio un generatore di bool, se esiste.Corretto generatore casuale booleano (distribuzione di Bernoulli)
6
A
risposta
11
Vedere std::bernoulli_distribution
nell'intestazione <random>
, nome appropriato dello Bernoulli distribution.
std::random_device device;
std::mt19937 gen(device());
std::bernoulli_distribution coin_flip(0.5);
bool outcome = coin_flip(gen);
+0
+1 Buon nome! – TemplateRex
Sede [questa risposta] (http://stackoverflow.com/a/20527389/1708801) o [questa risposta] (http://stackoverflow.com/a/20646741/1708801) per un esempio. –