You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-14 11:01:50 +03:00
80 lines
2.2 KiB
C++
80 lines
2.2 KiB
C++
/* 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
|