diff -up boost_1_81_0/libs/random/test/multiprecision_float_test.cpp.testfix boost_1_81_0/libs/random/test/multiprecision_float_test.cpp --- boost_1_81_0/libs/random/test/multiprecision_float_test.cpp.testfix 2023-08-29 16:07:40.127905519 -0400 +++ boost_1_81_0/libs/random/test/multiprecision_float_test.cpp 2023-08-29 16:08:44.114856281 -0400 @@ -77,7 +77,7 @@ typedef boost::mpl::list < boost::random::lognormal_distribution, boost::random::normal_distribution, #ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS - boost::random::piecewise_constant_distribution, + boost::random::piecewise_constant_distribution, boost::random::piecewise_linear_distribution, #endif boost::random::student_t_distribution, diff -up boost_1_81_0/libs/random/test/multiprecision_int_test.cpp.testfix boost_1_81_0/libs/random/test/multiprecision_int_test.cpp --- boost_1_81_0/libs/random/test/multiprecision_int_test.cpp.testfix 2023-08-29 16:06:58.543287627 -0400 +++ boost_1_81_0/libs/random/test/multiprecision_int_test.cpp 2023-08-29 16:07:26.788707316 -0400 @@ -216,7 +216,11 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_d ss >> d2; BOOST_CHECK(d == d2); - boost::random::independent_bits_engine::digits, boost::multiprecision::uint1024_t > big_random; + // + // The number of digits in the independent_bits_engine must be low enough that we don't overflow + // when converting to a double (see other_distributions declared above). + // + boost::random::independent_bits_engine::digits - 2, boost::multiprecision::uint1024_t > big_random; for(unsigned i = 0; i < 200; ++i) { result_type r = d(big_random);