Proper boolean random generator (Bernoulli distrib

2019-02-22 02:13发布

I'd be curious to know if there is a default random boolean generator in the random C++11 library. I've been using a int generator returning 0 or 1 and then converting to bool but I'm trying to optimize my code and thinking that I could save by using from the beginning a bool generator, if it exists.

1条回答
爷的心禁止访问
2楼-- · 2019-02-22 02:56

See std::bernoulli_distribution in the <random> header, aptly named after the Bernoulli distribution.

std::random_device device;
std::mt19937 gen(device());
std::bernoulli_distribution coin_flip(0.5);
bool outcome = coin_flip(gen);
查看更多
登录 后发表回答