X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=boost%2Fboost%2Fdetail%2Flimits.hpp;h=5f478e3ece13d6c67eb0e686565a576c7f452122;hb=fce4ab0e79bfda9651d7d7f3c951bfb5d7516fc5;hp=af0f78df91abeaf72603ebe1ba2b44ae300cd7d0;hpb=67c8370f504562b7f35b5f4978ff31388e758192;p=lyx.git diff --git a/boost/boost/detail/limits.hpp b/boost/boost/detail/limits.hpp index af0f78df91..5f478e3ece 100644 --- a/boost/boost/detail/limits.hpp +++ b/boost/boost/detail/limits.hpp @@ -49,9 +49,9 @@ // The macros are not named appropriately. We don't care about integer // bit layout, but about floating-point NaN (etc.) bit patterns. -#if defined(__sparc) || defined(__sparc__) || defined(__powerpc__) || defined(__ppc__) || defined(__hppa) || defined(_MIPSEB) +#if defined(__sparc) || defined(__sparc__) || defined(__powerpc__) || defined(__ppc__) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) #define BOOST_BIG_ENDIAN -#elif defined(__i386__) || defined(__alpha__) +#elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) #define BOOST_LITTLE_ENDIAN #else #error The file boost/detail/limits.hpp needs to be set up for your CPU type. @@ -159,7 +159,7 @@ template -class _Integer_limits : public _Numeric_limits_base<_Int> +class _Integer_limits : public _Numeric_limits_base<_Int> { public: BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true); @@ -170,9 +170,9 @@ public: BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, (__idigits < 0) ? (int)(sizeof(_Int) * CHAR_BIT) - - (__imin == 0 ? 0 : 1) + - (__imin == 0 ? 0 : 1) : __idigits); - BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); // log 2 = 0.301029995664... BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, __imin != 0); @@ -192,7 +192,7 @@ public: // sizeof(long double) == 16 const unsigned int _S_word[4] = { Word, 0, 0, 0 }; return *reinterpret_cast(&_S_word); - } + } }; #else @@ -205,7 +205,7 @@ public: return *reinterpret_cast( reinterpret_cast(&_S_word)+16- (sizeof(Number) == 12 ? 10 : sizeof(Number))); - } + } }; #endif @@ -244,7 +244,7 @@ public: denorm_indeterminate); BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss, false); - + static __number infinity() throw() { return float_helper<__number, __InfinityWord>::get_word(); } @@ -267,7 +267,7 @@ public: // The unspecialized class. -template +template class numeric_limits : public _Numeric_limits_base {}; // Specializations for all built-in integral types. @@ -356,24 +356,19 @@ class numeric_limits #if !defined(LONGLONG_MIN) # define LONGLONG_MIN (-LONGLONG_MAX - 1) -#endif +#endif -template<> -class numeric_limits - : public _Integer_limits -{}; -template<> -class numeric_limits - : public _Integer_limits -{}; +#if !defined(ULONGLONG_MIN) +# define ULONGLONG_MIN 0 +#endif #endif /* __GNUC__ */ // Specializations for all built-in floating-point type. template<> class numeric_limits - : public _Floating_limits class numeric_limits - : public _Floating_limits class numeric_limits - : public _Floating_limits