diff --git a/libs/base/random.hpp b/libs/base/random.hpp index 799745102..54e2f49b2 100644 --- a/libs/base/random.hpp +++ b/libs/base/random.hpp @@ -12,12 +12,15 @@ class UniformRandom std::random_device m_rd; std::mt19937 m_gen; - std::uniform_int_distribution m_distr; + + using distribution_int_type = + std::conditional_t, short, unsigned short>>; + std::uniform_int_distribution m_distr; public: UniformRandom(T min, T max) : m_gen(m_rd()), m_distr(min, max) {} UniformRandom() : UniformRandom(std::numeric_limits::min(), std::numeric_limits::max()) {} - T operator()() { return m_distr(m_gen); } + T operator()() { return static_cast(m_distr(m_gen)); } }; } // namespace base