#include <boost/random/detail/sobol_table.hpp>
#include <boost/random/detail/gray_coded_qrng.hpp>
+#include <boost/assert.hpp>
namespace boost {
namespace random {
for (std::size_t dim = 1; dim < dimension; ++dim)
{
const typename SobolTables::value_type poly = SobolTables::polynomial(dim-1);
- if (poly > std::numeric_limits<value_type>::max()) {
+ if (poly > (std::numeric_limits<value_type>::max)()) {
boost::throw_exception( std::range_error("sobol: polynomial value outside the given value type range") );
}
- const unsigned degree = multiprecision::msb(poly); // integer log2(poly)
+ const unsigned degree = qrng_detail::msb(poly); // integer log2(poly)
// set initial values of m from table
for (unsigned k = 0; k != degree; ++k)