Index: boost/math/special_functions/math_fwd.hpp =================================================================== --- boost/math/special_functions/math_fwd.hpp (revision 84903) +++ boost/math/special_functions/math_fwd.hpp (working copy) @@ -1402,7 +1402,74 @@ +#ifdef BOOST_MATH_TEST_MACRO +namespace boost { namespace math { namespace detail { namespace test { + +#ifdef fpclassify +#undef fpclassify +#endif +#define fpclassify(x) (boost::math::detail::test::fpclassify(x)) + +template inline int fpclassify BOOST_NO_MACRO_EXPAND(T x) +{ + return (std::fpclassify)(x); +} + +#ifdef isfinite +#undef isfinite +#endif +#define isfinite(x) (boost::math::detail::test::isfinite(x)) + +template inline int isfinite BOOST_NO_MACRO_EXPAND(T x) +{ + return (std::isfinite)(x); +} + +#ifdef isinf +#undef isinf +#endif +#define isinf(x) (boost::math::detail::test::isinf(x)) + +template inline int isinf BOOST_NO_MACRO_EXPAND(T x) +{ + return (std::isinf)(x); +} + +#ifdef isnan +#undef isnan +#endif +#define isnan(x) (boost::math::detail::test::isnan(x)) + +template inline int isnan BOOST_NO_MACRO_EXPAND(T x) +{ + return (std::isnan)(x); +} + +#ifdef isnormal +#undef isnormal +#endif +#define isnormal(x) (boost::math::detail::test::isnormal(x)) + +template inline int isnormal BOOST_NO_MACRO_EXPAND(T x) +{ + return (std::isnormal)(x); +} + +#ifdef signbit +#undef signbit +#endif +#define signbit(x) (boost::math::detail::test::signbit(x)) + +template inline int signbit BOOST_NO_MACRO_EXPAND(T x) +{ + return (std::signbit)(x); +} + +}}}} + +#endif // BOOST_MATH_TEST_MACRO + #endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP