Sha256: 29145fb5ec4f9ea55c6e015e038b209f5a9fb5cc088030abbb378c45f703344b
Contents?: true
Size: 1.63 KB
Versions: 84
Compression:
Stored size: 1.63 KB
Contents
// Copyright 2005-2009 Daniel James. // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // On some platforms std::limits gives incorrect values for long double. // This tries to work around them. #if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_LIMITS_HEADER) #define BOOST_FUNCTIONAL_HASH_DETAIL_LIMITS_HEADER #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif #include <boost/limits.hpp> // On OpenBSD, numeric_limits is not reliable for long doubles, but // the macros defined in <float.h> are and support long double when STLport // doesn't. #if defined(__OpenBSD__) || defined(_STLP_NO_LONG_DOUBLE) #include <float.h> #endif namespace boost { namespace hash_detail { template <class T> struct limits : std::numeric_limits<T> {}; #if defined(__OpenBSD__) || defined(_STLP_NO_LONG_DOUBLE) template <> struct limits<long double> : std::numeric_limits<long double> { static long double epsilon() { return LDBL_EPSILON; } static long double (max)() { return LDBL_MAX; } static long double (min)() { return LDBL_MIN; } BOOST_STATIC_CONSTANT(int, digits = LDBL_MANT_DIG); BOOST_STATIC_CONSTANT(int, max_exponent = LDBL_MAX_EXP); BOOST_STATIC_CONSTANT(int, min_exponent = LDBL_MIN_EXP); #if defined(_STLP_NO_LONG_DOUBLE) BOOST_STATIC_CONSTANT(int, radix = FLT_RADIX); #endif }; #endif // __OpenBSD__ } } #endif
Version data entries
84 entries across 84 versions & 1 rubygems