diff options
Diffstat (limited to 'boost/multiprecision/mpfi.hpp')
-rw-r--r-- | boost/multiprecision/mpfi.hpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/boost/multiprecision/mpfi.hpp b/boost/multiprecision/mpfi.hpp index 8d13981ceb..66a23cab70 100644 --- a/boost/multiprecision/mpfi.hpp +++ b/boost/multiprecision/mpfi.hpp @@ -125,7 +125,7 @@ struct mpfi_float_imp { if(m_data[0].left._mpfr_d == 0) mpfi_init2(m_data, multiprecision::detail::digits10_2_2(digits10 ? digits10 : get_default_precision())); - boost::ulong_long_type mask = (((1uLL << (std::numeric_limits<unsigned long>::digits - 1) - 1) << 1) | 1u); + boost::ulong_long_type mask = ((((1uLL << (std::numeric_limits<unsigned long>::digits - 1)) - 1) << 1) | 1u); unsigned shift = 0; mpfi_t t; mpfi_init2(t, (std::max)(static_cast<unsigned long>(std::numeric_limits<boost::ulong_long_type>::digits), static_cast<unsigned long>(multiprecision::detail::digits10_2_2(digits10)))); @@ -1145,11 +1145,17 @@ namespace tools{ template <> inline int digits<boost::multiprecision::mpfi_float>() +#ifdef BOOST_MATH_NOEXCEPT + BOOST_NOEXCEPT +#endif { return boost::multiprecision::backends::detail::get_default_precision(); } template <> inline int digits<boost::multiprecision::number<boost::multiprecision::mpfi_float_backend<0>, boost::multiprecision::et_off> >() +#ifdef BOOST_MATH_NOEXCEPT + BOOST_NOEXCEPT +#endif { return boost::multiprecision::backends::detail::get_default_precision(); } @@ -1309,7 +1315,7 @@ public: BOOST_STATIC_CONSTEXPR int digits = static_cast<int>((Digits10 * 1000L) / 301L + ((Digits10 * 1000L) % 301 ? 2 : 1)); BOOST_STATIC_CONSTEXPR int digits10 = Digits10; // Is this really correct??? - BOOST_STATIC_CONSTEXPR int max_digits10 = Digits10 + 2; + BOOST_STATIC_CONSTEXPR int max_digits10 = Digits10 + 3; BOOST_STATIC_CONSTEXPR bool is_signed = true; BOOST_STATIC_CONSTEXPR bool is_integer = false; BOOST_STATIC_CONSTEXPR bool is_exact = false; |