• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  Copyright John Maddock 2008.
2 //  Use, modification and distribution are subject to the
3 //  Boost Software License, Version 1.0.  (See accompanying file
4 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 //
6 #  include <pch.hpp>
7 #ifndef BOOST_MATH_TR1_SOURCE
8 #  define BOOST_MATH_TR1_SOURCE
9 #endif
10 #include <boost/math/tr1.hpp>
11 #include <boost/math/special_functions/fpclassify.hpp>
12 #include <boost/math/special_functions/sign.hpp>
13 #include "c_policy.hpp"
14 
15 #if defined (_MSC_VER)
16 #  pragma warning(push)
17 #  pragma warning (disable: 4800) // 'int' : forcing value to bool 'true' or 'false' (performance warning)
18 #endif
19 
20 namespace boost{ namespace math{ namespace tr1{
21 
BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)22 template<> bool BOOST_MATH_TR1_DECL signbit<long double> BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
23 {
24    return static_cast<bool>((boost::math::signbit)(x));
25 }
26 
BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)27 template<> int BOOST_MATH_TR1_DECL fpclassify<long double> BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
28 {
29    return (boost::math::fpclassify)(x);
30 }
31 
BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)32 template<> bool BOOST_MATH_TR1_DECL isfinite<long double> BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
33 {
34    return (boost::math::isfinite)(x);
35 }
36 
BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)37 template<> bool BOOST_MATH_TR1_DECL isinf<long double> BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
38 {
39    return (boost::math::isinf)(x);
40 }
41 
BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)42 template<> bool BOOST_MATH_TR1_DECL isnan<long double> BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
43 {
44    return (boost::math::isnan)(x);
45 }
46 
BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)47 template<> bool BOOST_MATH_TR1_DECL isnormal<long double> BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
48 {
49    return (boost::math::isnormal)(x);
50 }
51 
52 }}} // namespace boost{ namespace math{ namespace tr1{
53 
54 #if defined (_MSC_VER)
55 #  pragma warning(pop)
56 #endif
57 
58