Chciałbym wiedzieć, czy istnieje domyślny generator losowy binarny w bibliotece C++ 11 random
. Używałem generatora int zwracającego 0
lub 1
, a następnie konwertowałem na bool, ale staram się zoptymalizować mój kod i myślę, że mogę go zapisać, używając od początku generatora bool, jeśli istnieje.Prawidłowy generator losowy typu Boolean (dystrybucja Bernoulliego)
6
A
Odpowiedz
11
Zobacz std::bernoulli_distribution
w nagłówku <random>
, trafnie nazwany po Bernoulli distribution.
std::random_device device;
std::mt19937 gen(device());
std::bernoulli_distribution coin_flip(0.5);
bool outcome = coin_flip(gen);
+0
+1 Dobre nazywanie! – TemplateRex
patrz [tę odpowiedź] (http://stackoverflow.com/a/20527389/1708801) lub [tę odpowiedź] (http://stackoverflow.com/a/20646741/1708801) na przykład. –