From e0a8f821c52f5384ff317cb2ec8db0dacbbb2f2d Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 14 Jun 2012 10:26:15 +0000 Subject: [PATCH] Change BOOST_MP_NOEXCEPT to BOOST_NOEXCEPT. Add some missing #includes. [SVN r78943] --- .../concepts/mp_number_architypes.hpp | 18 ++--- include/boost/multiprecision/cpp_int.hpp | 54 +++++++------- .../depricated/arithmetic_backend.hpp | 18 ++--- .../multiprecision/depricated/fixed_int.hpp | 18 ++--- .../multiprecision/detail/mp_number_base.hpp | 6 -- include/boost/multiprecision/gmp.hpp | 72 +++++++++---------- include/boost/multiprecision/mp_number.hpp | 2 + include/boost/multiprecision/mpfr.hpp | 36 +++++----- .../boost/multiprecision/rational_adapter.hpp | 18 ++--- include/boost/multiprecision/tommath.hpp | 18 ++--- 10 files changed, 128 insertions(+), 132 deletions(-) diff --git a/include/boost/multiprecision/concepts/mp_number_architypes.hpp b/include/boost/multiprecision/concepts/mp_number_architypes.hpp index ea29ecde..bc281b4f 100644 --- a/include/boost/multiprecision/concepts/mp_number_architypes.hpp +++ b/include/boost/multiprecision/concepts/mp_number_architypes.hpp @@ -198,15 +198,15 @@ class numeric_limits base_type; typedef boost::multiprecision::mp_number number_type; public: - static number_type (min)() BOOST_MP_NOEXCEPT { return (base_type::min)(); } - static number_type (max)() BOOST_MP_NOEXCEPT { return (base_type::max)(); } - static number_type lowest() BOOST_MP_NOEXCEPT { return -(max)(); } - static number_type epsilon() BOOST_MP_NOEXCEPT { return base_type::epsilon(); } - static number_type round_error() BOOST_MP_NOEXCEPT { return epsilon() / 2; } - static number_type infinity() BOOST_MP_NOEXCEPT { return base_type::infinity(); } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return base_type::quiet_NaN(); } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return base_type::signaling_NaN(); } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return base_type::denorm_min(); } + static number_type (min)() BOOST_NOEXCEPT { return (base_type::min)(); } + static number_type (max)() BOOST_NOEXCEPT { return (base_type::max)(); } + static number_type lowest() BOOST_NOEXCEPT { return -(max)(); } + static number_type epsilon() BOOST_NOEXCEPT { return base_type::epsilon(); } + static number_type round_error() BOOST_NOEXCEPT { return epsilon() / 2; } + static number_type infinity() BOOST_NOEXCEPT { return base_type::infinity(); } + static number_type quiet_NaN() BOOST_NOEXCEPT { return base_type::quiet_NaN(); } + static number_type signaling_NaN() BOOST_NOEXCEPT { return base_type::signaling_NaN(); } + static number_type denorm_min() BOOST_NOEXCEPT { return base_type::denorm_min(); } }; } diff --git a/include/boost/multiprecision/cpp_int.hpp b/include/boost/multiprecision/cpp_int.hpp index e57e10d6..b3ba4475 100644 --- a/include/boost/multiprecision/cpp_int.hpp +++ b/include/boost/multiprecision/cpp_int.hpp @@ -2316,15 +2316,15 @@ public: // Largest and smallest numbers are bounded only by available memory, set // to zero: // - static number_type (min)() BOOST_MP_NOEXCEPT + static number_type (min)() BOOST_NOEXCEPT { return number_type(0); } - static number_type (max)() BOOST_MP_NOEXCEPT + static number_type (max)() BOOST_NOEXCEPT { return number_type(0); } - static number_type lowest() BOOST_MP_NOEXCEPT { return (min)(); } + static number_type lowest() BOOST_NOEXCEPT { return (min)(); } BOOST_STATIC_CONSTEXPR int digits = 0; BOOST_STATIC_CONSTEXPR int digits10 = 0; BOOST_STATIC_CONSTEXPR int max_digits10 = 0; @@ -2332,8 +2332,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = true; BOOST_STATIC_CONSTEXPR bool is_exact = true; BOOST_STATIC_CONSTEXPR int radix = 2; - static number_type epsilon() BOOST_MP_NOEXCEPT { return 0; } - static number_type round_error() BOOST_MP_NOEXCEPT { return 0; } + static number_type epsilon() BOOST_NOEXCEPT { return 0; } + static number_type round_error() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -2343,10 +2343,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return 0; } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return 0; } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return 0; } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return 0; } + static number_type infinity() BOOST_NOEXCEPT { return 0; } + static number_type quiet_NaN() BOOST_NOEXCEPT { return 0; } + static number_type signaling_NaN() BOOST_NOEXCEPT { return 0; } + static number_type denorm_min() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = false; BOOST_STATIC_CONSTEXPR bool is_modulo = false; @@ -2378,11 +2378,11 @@ public: // Largest and smallest numbers are bounded only by available memory, set // to zero: // - static number_type (min)() BOOST_MP_NOEXCEPT + static number_type (min)() BOOST_NOEXCEPT { return -(max)(); } - static number_type (max)() BOOST_MP_NOEXCEPT + static number_type (max)() BOOST_NOEXCEPT { typedef typename number_type::backend_type backend_type; init.do_nothing(); @@ -2401,7 +2401,7 @@ public: } return val; } - static number_type lowest() BOOST_MP_NOEXCEPT { return (min)(); } + static number_type lowest() BOOST_NOEXCEPT { return (min)(); } BOOST_STATIC_CONSTEXPR int digits = MinBits; BOOST_STATIC_CONSTEXPR int digits10 = static_cast(MinBits * 301L / 1000L); BOOST_STATIC_CONSTEXPR int max_digits10 = digits10 + 2; @@ -2409,8 +2409,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = true; BOOST_STATIC_CONSTEXPR bool is_exact = true; BOOST_STATIC_CONSTEXPR int radix = 2; - static number_type epsilon() BOOST_MP_NOEXCEPT { return 0; } - static number_type round_error() BOOST_MP_NOEXCEPT { return 0; } + static number_type epsilon() BOOST_NOEXCEPT { return 0; } + static number_type round_error() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -2420,10 +2420,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return 0; } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return 0; } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return 0; } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return 0; } + static number_type infinity() BOOST_NOEXCEPT { return 0; } + static number_type quiet_NaN() BOOST_NOEXCEPT { return 0; } + static number_type signaling_NaN() BOOST_NOEXCEPT { return 0; } + static number_type denorm_min() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = true; BOOST_STATIC_CONSTEXPR bool is_modulo = true; @@ -2457,11 +2457,11 @@ public: // Largest and smallest numbers are bounded only by available memory, set // to zero: // - static number_type (min)() BOOST_MP_NOEXCEPT + static number_type (min)() BOOST_NOEXCEPT { return number_type(0); } - static number_type (max)() BOOST_MP_NOEXCEPT + static number_type (max)() BOOST_NOEXCEPT { typedef typename number_type::backend_type backend_type; init.do_nothing(); @@ -2480,7 +2480,7 @@ public: } return val; } - static number_type lowest() BOOST_MP_NOEXCEPT { return (min)(); } + static number_type lowest() BOOST_NOEXCEPT { return (min)(); } BOOST_STATIC_CONSTEXPR int digits = MinBits; BOOST_STATIC_CONSTEXPR int digits10 = static_cast(MinBits * 301L / 1000L); BOOST_STATIC_CONSTEXPR int max_digits10 = digits10 + 2; @@ -2488,8 +2488,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = true; BOOST_STATIC_CONSTEXPR bool is_exact = true; BOOST_STATIC_CONSTEXPR int radix = 2; - static number_type epsilon() BOOST_MP_NOEXCEPT { return 0; } - static number_type round_error() BOOST_MP_NOEXCEPT { return 0; } + static number_type epsilon() BOOST_NOEXCEPT { return 0; } + static number_type round_error() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -2499,10 +2499,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return 0; } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return 0; } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return 0; } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return 0; } + static number_type infinity() BOOST_NOEXCEPT { return 0; } + static number_type quiet_NaN() BOOST_NOEXCEPT { return 0; } + static number_type signaling_NaN() BOOST_NOEXCEPT { return 0; } + static number_type denorm_min() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = true; BOOST_STATIC_CONSTEXPR bool is_modulo = true; diff --git a/include/boost/multiprecision/depricated/arithmetic_backend.hpp b/include/boost/multiprecision/depricated/arithmetic_backend.hpp index af26b1ca..9925d3f8 100644 --- a/include/boost/multiprecision/depricated/arithmetic_backend.hpp +++ b/include/boost/multiprecision/depricated/arithmetic_backend.hpp @@ -133,15 +133,15 @@ class numeric_limits base_type; typedef boost::multiprecision::mp_number, ExpressionTemplates> number_type; public: - BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_MP_NOEXCEPT { return (base_type::min)(); } - BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_MP_NOEXCEPT { return (base_type::max)(); } - BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_MP_NOEXCEPT { return -(max)(); } - BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_MP_NOEXCEPT { return base_type::epsilon(); } - BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_MP_NOEXCEPT { return epsilon() / 2; } - BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_MP_NOEXCEPT { return base_type::infinity(); } - BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_MP_NOEXCEPT { return base_type::quiet_NaN(); } - BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_MP_NOEXCEPT { return base_type::signaling_NaN(); } - BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_MP_NOEXCEPT { return base_type::denorm_min(); } + BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_NOEXCEPT { return (base_type::min)(); } + BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_NOEXCEPT { return (base_type::max)(); } + BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_NOEXCEPT { return -(max)(); } + BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_NOEXCEPT { return base_type::epsilon(); } + BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_NOEXCEPT { return epsilon() / 2; } + BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_NOEXCEPT { return base_type::infinity(); } + BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_NOEXCEPT { return base_type::quiet_NaN(); } + BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_NOEXCEPT { return base_type::signaling_NaN(); } + BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_NOEXCEPT { return base_type::denorm_min(); } }; } diff --git a/include/boost/multiprecision/depricated/fixed_int.hpp b/include/boost/multiprecision/depricated/fixed_int.hpp index ff59dbef..80be2036 100644 --- a/include/boost/multiprecision/depricated/fixed_int.hpp +++ b/include/boost/multiprecision/depricated/fixed_int.hpp @@ -1538,7 +1538,7 @@ public: // Largest and smallest numbers are bounded only by available memory, set // to zero: // - BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_NOEXCEPT { static bool init = false; static number_type val; @@ -1549,7 +1549,7 @@ public: } return val; } - BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_NOEXCEPT { static bool init = false; static number_type val; @@ -1560,7 +1560,7 @@ public: } return val; } - BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_MP_NOEXCEPT { return (min)(); } + BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_NOEXCEPT { return (min)(); } BOOST_STATIC_CONSTEXPR int digits = Bits; BOOST_STATIC_CONSTEXPR int digits10 = (digits * 301L) / 1000; BOOST_STATIC_CONSTEXPR int max_digits10 = digits10 + 2; @@ -1568,8 +1568,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = true; BOOST_STATIC_CONSTEXPR bool is_exact = true; BOOST_STATIC_CONSTEXPR int radix = 2; - BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_MP_NOEXCEPT { return 0; } - BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_MP_NOEXCEPT { return 0; } + BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_NOEXCEPT { return 0; } + BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -1579,10 +1579,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_MP_NOEXCEPT { return 0; } - BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_MP_NOEXCEPT { return 0; } - BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_MP_NOEXCEPT { return 0; } - BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_MP_NOEXCEPT { return 0; } + BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_NOEXCEPT { return 0; } + BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_NOEXCEPT { return 0; } + BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_NOEXCEPT { return 0; } + BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_NOEXCEPT { return 0; } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = true; BOOST_STATIC_CONSTEXPR bool is_modulo = true; diff --git a/include/boost/multiprecision/detail/mp_number_base.hpp b/include/boost/multiprecision/detail/mp_number_base.hpp index cc24dfbd..103ad9fe 100644 --- a/include/boost/multiprecision/detail/mp_number_base.hpp +++ b/include/boost/multiprecision/detail/mp_number_base.hpp @@ -11,12 +11,6 @@ #include #include -#ifdef BOOST_NO_NOEXCEPT -#define BOOST_MP_NOEXCEPT -#else -#define BOOST_MP_NOEXCEPT noexcept -#endif - namespace boost{ namespace multiprecision{ template diff --git a/include/boost/multiprecision/gmp.hpp b/include/boost/multiprecision/gmp.hpp index 02f11216..08b93a07 100644 --- a/include/boost/multiprecision/gmp.hpp +++ b/include/boost/multiprecision/gmp.hpp @@ -1844,7 +1844,7 @@ public: // mpf_get_str on 64-bit Linux builds. Possibly we could use larger // exponent values elsewhere. // - BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_NOEXCEPT { initializer.do_nothing(); static std::pair value; @@ -1856,7 +1856,7 @@ public: } return value.second; } - BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_NOEXCEPT { initializer.do_nothing(); static std::pair value; @@ -1868,7 +1868,7 @@ public: } return value.second; } - BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_NOEXCEPT { return -(max)(); } @@ -1880,7 +1880,7 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = false; BOOST_STATIC_CONSTEXPR bool is_exact = false; BOOST_STATIC_CONSTEXPR int radix = 2; - BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_NOEXCEPT { initializer.do_nothing(); static std::pair value; @@ -1893,7 +1893,7 @@ public: return value.second; } // What value should this be???? - BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_NOEXCEPT { // returns epsilon/2 initializer.do_nothing(); @@ -1915,10 +1915,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_MP_NOEXCEPT { return number_type(); } - BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_MP_NOEXCEPT { return number_type(); } + BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_NOEXCEPT { return number_type(); } + BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_NOEXCEPT { return number_type(); } + BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_NOEXCEPT { return number_type(); } + BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = true; BOOST_STATIC_CONSTEXPR bool is_modulo = false; @@ -1950,9 +1950,9 @@ class numeric_limits, ExpressionTemplates> number_type; public: BOOST_STATIC_CONSTEXPR bool is_specialized = false; - static number_type (min)() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type (max)() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type lowest() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type (min)() BOOST_NOEXCEPT { return number_type(); } + static number_type (max)() BOOST_NOEXCEPT { return number_type(); } + static number_type lowest() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR int digits = 0; BOOST_STATIC_CONSTEXPR int digits10 = 0; BOOST_STATIC_CONSTEXPR int max_digits10 = 0; @@ -1960,8 +1960,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = false; BOOST_STATIC_CONSTEXPR bool is_exact = false; BOOST_STATIC_CONSTEXPR int radix = 0; - static number_type epsilon() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type round_error() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type epsilon() BOOST_NOEXCEPT { return number_type(); } + static number_type round_error() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -1971,10 +1971,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type infinity() BOOST_NOEXCEPT { return number_type(); } + static number_type quiet_NaN() BOOST_NOEXCEPT { return number_type(); } + static number_type signaling_NaN() BOOST_NOEXCEPT { return number_type(); } + static number_type denorm_min() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = false; BOOST_STATIC_CONSTEXPR bool is_modulo = false; @@ -1993,15 +1993,15 @@ public: // Largest and smallest numbers are bounded only by available memory, set // to zero: // - static number_type (min)() BOOST_MP_NOEXCEPT + static number_type (min)() BOOST_NOEXCEPT { return number_type(); } - static number_type (max)() BOOST_MP_NOEXCEPT + static number_type (max)() BOOST_NOEXCEPT { return number_type(); } - static number_type lowest() BOOST_MP_NOEXCEPT { return (min)(); } + static number_type lowest() BOOST_NOEXCEPT { return (min)(); } BOOST_STATIC_CONSTEXPR int digits = INT_MAX; BOOST_STATIC_CONSTEXPR int digits10 = (INT_MAX / 1000) * 301L; BOOST_STATIC_CONSTEXPR int max_digits10 = digits10 + 2; @@ -2009,8 +2009,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = true; BOOST_STATIC_CONSTEXPR bool is_exact = true; BOOST_STATIC_CONSTEXPR int radix = 2; - static number_type epsilon() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type round_error() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type epsilon() BOOST_NOEXCEPT { return number_type(); } + static number_type round_error() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -2020,10 +2020,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type infinity() BOOST_NOEXCEPT { return number_type(); } + static number_type quiet_NaN() BOOST_NOEXCEPT { return number_type(); } + static number_type signaling_NaN() BOOST_NOEXCEPT { return number_type(); } + static number_type denorm_min() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = false; BOOST_STATIC_CONSTEXPR bool is_modulo = false; @@ -2042,15 +2042,15 @@ public: // Largest and smallest numbers are bounded only by available memory, set // to zero: // - static number_type (min)() BOOST_MP_NOEXCEPT + static number_type (min)() BOOST_NOEXCEPT { return number_type(); } - static number_type (max)() BOOST_MP_NOEXCEPT + static number_type (max)() BOOST_NOEXCEPT { return number_type(); } - static number_type lowest() BOOST_MP_NOEXCEPT { return (min)(); } + static number_type lowest() BOOST_NOEXCEPT { return (min)(); } // Digits are unbounded, use zero for now: BOOST_STATIC_CONSTEXPR int digits = 0; BOOST_STATIC_CONSTEXPR int digits10 = 0; @@ -2059,8 +2059,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = false; BOOST_STATIC_CONSTEXPR bool is_exact = true; BOOST_STATIC_CONSTEXPR int radix = 2; - static number_type epsilon() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type round_error() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type epsilon() BOOST_NOEXCEPT { return number_type(); } + static number_type round_error() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -2070,10 +2070,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return number_type(); } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return number_type(); } + static number_type infinity() BOOST_NOEXCEPT { return number_type(); } + static number_type quiet_NaN() BOOST_NOEXCEPT { return number_type(); } + static number_type signaling_NaN() BOOST_NOEXCEPT { return number_type(); } + static number_type denorm_min() BOOST_NOEXCEPT { return number_type(); } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = false; BOOST_STATIC_CONSTEXPR bool is_modulo = false; diff --git a/include/boost/multiprecision/mp_number.hpp b/include/boost/multiprecision/mp_number.hpp index 84a5feae..a8928cfe 100644 --- a/include/boost/multiprecision/mp_number.hpp +++ b/include/boost/multiprecision/mp_number.hpp @@ -20,6 +20,8 @@ #include #include #include +#include // stream operators +#include // EOF namespace boost{ namespace multiprecision{ diff --git a/include/boost/multiprecision/mpfr.hpp b/include/boost/multiprecision/mpfr.hpp index 58039d23..1ea8f782 100644 --- a/include/boost/multiprecision/mpfr.hpp +++ b/include/boost/multiprecision/mpfr.hpp @@ -1045,7 +1045,7 @@ class numeric_limits, ExpressionTemplates> number_type; public: BOOST_STATIC_CONSTEXPR bool is_specialized = true; - BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type (min)() BOOST_NOEXCEPT { initializer.do_nothing(); static std::pair value; @@ -1057,7 +1057,7 @@ public: } return value.second; } - BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type (max)() BOOST_NOEXCEPT { initializer.do_nothing(); static std::pair value; @@ -1069,7 +1069,7 @@ public: } return value.second; } - BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type lowest() BOOST_NOEXCEPT { return -(max)(); } @@ -1081,7 +1081,7 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = false; BOOST_STATIC_CONSTEXPR bool is_exact = false; BOOST_STATIC_CONSTEXPR int radix = 2; - BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type epsilon() BOOST_NOEXCEPT { initializer.do_nothing(); static std::pair value; @@ -1094,7 +1094,7 @@ public: return value.second; } // What value should this be???? - BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type round_error() BOOST_NOEXCEPT { // returns epsilon/2 initializer.do_nothing(); @@ -1116,7 +1116,7 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type infinity() BOOST_NOEXCEPT { // returns epsilon/2 initializer.do_nothing(); @@ -1129,7 +1129,7 @@ public: } return value.second; } - BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type quiet_NaN() BOOST_NOEXCEPT { // returns epsilon/2 initializer.do_nothing(); @@ -1142,11 +1142,11 @@ public: } return value.second; } - BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_MP_NOEXCEPT + BOOST_STATIC_CONSTEXPR number_type signaling_NaN() BOOST_NOEXCEPT { return number_type(0); } - BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_MP_NOEXCEPT { return number_type(0); } + BOOST_STATIC_CONSTEXPR number_type denorm_min() BOOST_NOEXCEPT { return number_type(0); } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = true; BOOST_STATIC_CONSTEXPR bool is_modulo = false; @@ -1180,9 +1180,9 @@ class numeric_limits, ExpressionTemplates> number_type; public: BOOST_STATIC_CONSTEXPR bool is_specialized = false; - static number_type (min)() BOOST_MP_NOEXCEPT { return number_type(0); } - static number_type (max)() BOOST_MP_NOEXCEPT { return number_type(0); } - static number_type lowest() BOOST_MP_NOEXCEPT { return number_type(0); } + static number_type (min)() BOOST_NOEXCEPT { return number_type(0); } + static number_type (max)() BOOST_NOEXCEPT { return number_type(0); } + static number_type lowest() BOOST_NOEXCEPT { return number_type(0); } BOOST_STATIC_CONSTEXPR int digits = 0; BOOST_STATIC_CONSTEXPR int digits10 = 0; BOOST_STATIC_CONSTEXPR int max_digits10 = 0; @@ -1190,8 +1190,8 @@ public: BOOST_STATIC_CONSTEXPR bool is_integer = false; BOOST_STATIC_CONSTEXPR bool is_exact = false; BOOST_STATIC_CONSTEXPR int radix = 0; - static number_type epsilon() BOOST_MP_NOEXCEPT { return number_type(0); } - static number_type round_error() BOOST_MP_NOEXCEPT { return number_type(0); } + static number_type epsilon() BOOST_NOEXCEPT { return number_type(0); } + static number_type round_error() BOOST_NOEXCEPT { return number_type(0); } BOOST_STATIC_CONSTEXPR int min_exponent = 0; BOOST_STATIC_CONSTEXPR int min_exponent10 = 0; BOOST_STATIC_CONSTEXPR int max_exponent = 0; @@ -1201,10 +1201,10 @@ public: BOOST_STATIC_CONSTEXPR bool has_signaling_NaN = false; BOOST_STATIC_CONSTEXPR float_denorm_style has_denorm = denorm_absent; BOOST_STATIC_CONSTEXPR bool has_denorm_loss = false; - static number_type infinity() BOOST_MP_NOEXCEPT { return number_type(0); } - static number_type quiet_NaN() BOOST_MP_NOEXCEPT { return number_type(0); } - static number_type signaling_NaN() BOOST_MP_NOEXCEPT { return number_type(0); } - static number_type denorm_min() BOOST_MP_NOEXCEPT { return number_type(0); } + static number_type infinity() BOOST_NOEXCEPT { return number_type(0); } + static number_type quiet_NaN() BOOST_NOEXCEPT { return number_type(0); } + static number_type signaling_NaN() BOOST_NOEXCEPT { return number_type(0); } + static number_type denorm_min() BOOST_NOEXCEPT { return number_type(0); } BOOST_STATIC_CONSTEXPR bool is_iec559 = false; BOOST_STATIC_CONSTEXPR bool is_bounded = false; BOOST_STATIC_CONSTEXPR bool is_modulo = false; diff --git a/include/boost/multiprecision/rational_adapter.hpp b/include/boost/multiprecision/rational_adapter.hpp index c01af0fd..0aa4ec70 100644 --- a/include/boost/multiprecision/rational_adapter.hpp +++ b/include/boost/multiprecision/rational_adapter.hpp @@ -205,15 +205,15 @@ class numeric_limits