bugs.hpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* Boost interval/detail/bugs.hpp file
  2. *
  3. * Copyright 2000 Jens Maurer
  4. * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
  5. *
  6. * Distributed under the Boost Software License, Version 1.0.
  7. * (See accompanying file LICENSE_1_0.txt or
  8. * copy at http://www.boost.org/LICENSE_1_0.txt)
  9. */
  10. #ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BUGS
  11. #define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS
  12. #include <boost/config.hpp>
  13. #if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC)
  14. # define BOOST_HAS_INV_HYPERBOLIC
  15. #endif
  16. #ifdef BOOST_NO_STDC_NAMESPACE
  17. # define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a
  18. # ifdef BOOST_HAS_INV_HYPERBOLIC
  19. # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a
  20. # endif
  21. #else
  22. # define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a
  23. # if defined(BOOST_HAS_INV_HYPERBOLIC)
  24. # if defined(__GLIBCPP__) || defined(__GLIBCXX__)
  25. # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a
  26. # else
  27. # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a
  28. # endif
  29. # endif
  30. #endif
  31. #if defined(__COMO__) || defined(BOOST_INTEL)
  32. # define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a
  33. #elif defined(BOOST_NO_STDC_NAMESPACE)
  34. # define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a
  35. #else
  36. # define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a
  37. #endif
  38. #ifndef BOOST_NUMERIC_INTERVAL_using_ahyp
  39. # define BOOST_NUMERIC_INTERVAL_using_ahyp(a)
  40. #endif
  41. #endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS