| 1407 | namespace boost { namespace math { namespace detail { namespace test { |
| 1408 | |
| 1409 | #ifdef fpclassify |
| 1410 | #undef fpclassify |
| 1411 | #endif |
| 1412 | #define fpclassify(x) (boost::math::detail::test::fpclassify(x)) |
| 1413 | |
| 1414 | template <class T> inline int fpclassify BOOST_NO_MACRO_EXPAND(T x) |
| 1415 | { |
| 1416 | return (std::fpclassify)(x); |
| 1417 | } |
| 1418 | |
| 1419 | #ifdef isfinite |
| 1420 | #undef isfinite |
| 1421 | #endif |
| 1422 | #define isfinite(x) (boost::math::detail::test::isfinite(x)) |
| 1423 | |
| 1424 | template <class T> inline int isfinite BOOST_NO_MACRO_EXPAND(T x) |
| 1425 | { |
| 1426 | return (std::isfinite)(x); |
| 1427 | } |
| 1428 | |
| 1429 | #ifdef isinf |
| 1430 | #undef isinf |
| 1431 | #endif |
| 1432 | #define isinf(x) (boost::math::detail::test::isinf(x)) |
| 1433 | |
| 1434 | template <class T> inline int isinf BOOST_NO_MACRO_EXPAND(T x) |
| 1435 | { |
| 1436 | return (std::isinf)(x); |
| 1437 | } |
| 1438 | |
| 1439 | #ifdef isnan |
| 1440 | #undef isnan |
| 1441 | #endif |
| 1442 | #define isnan(x) (boost::math::detail::test::isnan(x)) |
| 1443 | |
| 1444 | template <class T> inline int isnan BOOST_NO_MACRO_EXPAND(T x) |
| 1445 | { |
| 1446 | return (std::isnan)(x); |
| 1447 | } |
| 1448 | |
| 1449 | #ifdef isnormal |
| 1450 | #undef isnormal |
| 1451 | #endif |
| 1452 | #define isnormal(x) (boost::math::detail::test::isnormal(x)) |
| 1453 | |
| 1454 | template <class T> inline int isnormal BOOST_NO_MACRO_EXPAND(T x) |
| 1455 | { |
| 1456 | return (std::isnormal)(x); |
| 1457 | } |
| 1458 | |
| 1459 | #ifdef signbit |
| 1460 | #undef signbit |
| 1461 | #endif |
| 1462 | #define signbit(x) (boost::math::detail::test::signbit(x)) |
| 1463 | |
| 1464 | template <class T> inline int signbit BOOST_NO_MACRO_EXPAND(T x) |
| 1465 | { |
| 1466 | return (std::signbit)(x); |
| 1467 | } |
| 1468 | |
| 1469 | }}}} |
| 1470 | |
| 1471 | #endif // BOOST_MATH_TEST_MACRO |
| 1472 | |