Как с точки зрения производительности лучший способ генерировать случайные були?
Мне нужно генерировать случайные логические значения на пути, критичном к производительности.
Код, который я написал для этого
std::random_device rd;
std::uniform_int_distribution<> randomizer(0, 1);
const int val randomizer(std::mt19937(rd()));
const bool isDirectionChanged = static_cast<bool>(val);
Но не думайте, что это лучший способ сделать это, так как я не люблю делатьstatic_cast<bool>
.
В сети я нашел еще несколько решений
1. std::bernoulli_distribution
2. bool randbool = rand() & 1;
Не забудьте позвонитьsrand()
в начале.