Projects
Factory:RISC-V:Base
boost
_service:tar_scm:boost-1.81-random-Update-multi...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:boost-1.81-random-Update-multiprecision_int_test.cpp-to-not-accidental.patch of Package boost
From 7561690135c67ecf88c2133bad7680ebd2665c36 Mon Sep 17 00:00:00 2001 From: jzmaddock <john@johnmaddock.co.uk> Date: Wed, 1 Jun 2022 19:32:55 +0100 Subject: [PATCH] Update multiprecision_int_test.cpp to not accidentality overflow type double. Multiprecision now performs correct rounding when converting to double - previously the max value for uint1024_t would just fit in a double if it was truncated. But now that it's correctly rounded it overflows and breaks the calculation. --- libs/random/test/multiprecision_int_test.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/random/test/multiprecision_int_test.cpp b/libs/random/test/multiprecision_int_test.cpp index 41ec229..a861cca 100644 --- a/libs/random/test/multiprecision_int_test.cpp +++ b/libs/random/test/multiprecision_int_test.cpp @@ -215,8 +215,11 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_distributions, distribution_type, other_d distribution_type d2; ss >> d2; BOOST_CHECK(d == d2); - - boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::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<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits - 2, boost::multiprecision::uint1024_t > big_random; for(unsigned i = 0; i < 200; ++i) { result_type r = d(big_random); -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2