summaryrefslogtreecommitdiff
path: root/boost/multiprecision/mpfi.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/multiprecision/mpfi.hpp')
-rw-r--r--boost/multiprecision/mpfi.hpp10
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;