Add random::uniform<bool>(RNG)

This commit is contained in:
Nikita Lisitsa 2022-05-19 16:54:22 +03:00
parent fd336dfde2
commit abb95f87ae

View file

@ -30,7 +30,14 @@ namespace psemek::random
template <typename T, typename RNG>
T uniform(RNG && rng)
{
return uniform<T>(rng, T{0}, T{1});
if constexpr (std::is_same_v<T, bool>)
{
return uniform<char>(rng, 0, 1) == 1;
}
else
{
return uniform<T>(rng, T{0}, T{1});
}
}
template <typename T, std::size_t N, typename RNG>