id summary reporter owner description type status milestone component version severity resolution keywords cc 10064 generate_uniform_real may go into infinite loop Markus Faerber No-Maintainer "See uniform_real_distribution.hpp: template T generate_uniform_real( Engine& eng, T min_value, T max_value, boost::mpl::true_ /** is_integral */) { for(;;) { typedef T result_type; typedef typename Engine::result_type base_result; result_type numerator = static_cast(subtract()(eng(), (eng.min)())); result_type divisor = static_cast(subtract()((eng.max)(), (eng.min)())) + 1; BOOST_ASSERT(divisor > 0); BOOST_ASSERT(numerator >= 0 && numerator <= divisor); T result = numerator / divisor * (max_value - min_value) + min_value; if(result < max_value) return result; } } Please add a ""BOOST_ASSERT(max_value > min_value);"". If one declares something like boost::random::mt19937 mt; boost::random::uniform_real_distribution dist(0.0, 0.0); dist(mt) makes generate_uniform_real go into an infinite loop. Thank you and best regards." Bugs new To Be Determined random Boost 1.54.0 Problem