1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/numeric/interval/limits.hpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,51 @@
1.4 +/* Boost interval/limits.hpp template implementation file
1.5 + *
1.6 + * Copyright 2000 Jens Maurer
1.7 + * Copyright 2002-2003 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
1.8 + *
1.9 + * Distributed under the Boost Software License, Version 1.0.
1.10 + * (See accompanying file LICENSE_1_0.txt or
1.11 + * copy at http://www.boost.org/LICENSE_1_0.txt)
1.12 + */
1.13 +
1.14 +#ifndef BOOST_NUMERIC_INTERVAL_LIMITS_HPP
1.15 +#define BOOST_NUMERIC_INTERVAL_LIMITS_HPP
1.16 +
1.17 +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
1.18 +
1.19 +#include <boost/config.hpp>
1.20 +#include <boost/limits.hpp>
1.21 +#include <boost/numeric/interval/detail/interval_prototype.hpp>
1.22 +
1.23 +namespace std {
1.24 +
1.25 +template<class T, class Policies>
1.26 +class numeric_limits<boost::numeric::interval<T, Policies> >
1.27 + : public numeric_limits<T>
1.28 +{
1.29 +private:
1.30 + typedef boost::numeric::interval<T, Policies> I;
1.31 + typedef numeric_limits<T> bl;
1.32 +public:
1.33 + static I min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::min)(), (bl::min)()); }
1.34 + static I max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::max)(), (bl::max)()); }
1.35 + static I epsilon() throw() { return I(bl::epsilon(), bl::epsilon()); }
1.36 +
1.37 + BOOST_STATIC_CONSTANT(float_round_style, round_style = round_indeterminate);
1.38 + BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
1.39 +
1.40 + static I infinity () throw() { return I::whole(); }
1.41 + static I quiet_NaN() throw() { return I::empty(); }
1.42 + static I signaling_NaN() throw()
1.43 + { return I(bl::signaling_NaN(), bl::signaling_Nan()); }
1.44 + static I denorm_min() throw()
1.45 + { return I(bl::denorm_min(), bl::denorm_min()); }
1.46 +private:
1.47 + static I round_error(); // hide this on purpose, not yet implemented
1.48 +};
1.49 +
1.50 +} // namespace std
1.51 +
1.52 +#endif
1.53 +
1.54 +#endif // BOOST_NUMERIC_INTERVAL_LIMITS_HPP