diff DEPENDENCIES/generic/include/boost/numeric/interval/detail/bugs.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DEPENDENCIES/generic/include/boost/numeric/interval/detail/bugs.hpp	Tue Aug 05 11:11:38 2014 +0100
@@ -0,0 +1,79 @@
+/* Boost interval/detail/bugs.hpp file
+ *
+ * Copyright 2000 Jens Maurer
+ * Copyright 2002 Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion
+ *
+ * Distributed under the Boost Software License, Version 1.0.
+ * (See accompanying file LICENSE_1_0.txt or
+ * copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_NUMERIC_INTERVAL_DETAIL_BUGS
+#define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS
+
+#include <boost/config.hpp>
+
+#if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC)
+#  define BOOST_HAS_INV_HYPERBOLIC
+#endif
+
+#ifdef BOOST_NO_STDC_NAMESPACE
+#  define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a
+#  ifdef BOOST_HAS_INV_HYPERBOLIC
+#    define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a
+#  endif
+#else
+#  define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a
+#  if defined(BOOST_HAS_INV_HYPERBOLIC)
+#    if defined(__GLIBCPP__) || defined(__GLIBCXX__)
+#    define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a
+#    else
+#    define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a
+#  endif
+#  endif
+#endif
+
+#if defined(__COMO__) || defined(BOOST_INTEL)
+#  define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a
+#elif defined(BOOST_NO_STDC_NAMESPACE)
+#  define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a
+#else
+#  define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a
+#endif
+
+#ifndef BOOST_NUMERIC_INTERVAL_using_ahyp
+#  define BOOST_NUMERIC_INTERVAL_using_ahyp(a)
+#endif
+
+#if defined(__GNUC__) && (__GNUC__ <= 2)
+// cf PR c++/1981 for a description of the bug
+#include <algorithm>
+#include <boost/config/no_tr1/cmath.hpp>
+namespace boost {
+namespace numeric {
+  using std::min;
+  using std::max;
+  using std::sqrt;
+  using std::exp;
+  using std::log;
+  using std::cos;
+  using std::tan;
+  using std::asin;
+  using std::acos;
+  using std::atan;
+  using std::ceil;
+  using std::floor;
+  using std::sinh;
+  using std::cosh;
+  using std::tanh;
+# undef BOOST_NUMERIC_INTERVAL_using_max
+# undef BOOST_NUMERIC_INTERVAL_using_math
+# define BOOST_NUMERIC_INTERVAL_using_max(a)
+# define BOOST_NUMERIC_INTERVAL_using_math(a)
+# undef BOOST_NUMERIC_INTERVAL_using_ahyp
+# define BOOST_NUMERIC_INTERVAL_using_ahyp(a)
+} // namespace numeric
+} // namespace boost
+#endif
+
+#endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS