1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #pragma once
- #include_next <cmath>
- #ifndef WAF_BUILD
- # ifdef __GLIBC__
- # if __GLIBC_PREREQ(2, 23)
- # define GLIBC_FIX_NEEDED 1
- # else
- # define GLIBC_FIX_NEEDED 0
- # endif
- # else
- # define GLIBC_FIX_NEEDED 0
- # endif
- # if GLIBC_FIX_NEEDED || defined (__CYGWIN__)
- # ifndef HAVE_CMATH_ISFINITE
- # define HAVE_CMATH_ISFINITE
- # define NEED_CMATH_ISFINITE_STD_NAMESPACE
- # endif
- # ifndef HAVE_CMATH_ISINF
- # define HAVE_CMATH_ISINF
- # define NEED_CMATH_ISINF_STD_NAMESPACE
- # endif
- # ifndef HAVE_CMATH_ISNAN
- # define HAVE_CMATH_ISNAN
- # define NEED_CMATH_ISNAN_STD_NAMESPACE
- # endif
- # undef GLIBC_FIX_NEEDED
- # endif
- #endif
- #ifdef WAF_BUILD
- #if defined(__CYGWIN__) || defined(__CYGWIN64__) || defined(CYGWIN_BUILD)
- // cygwin path length issues in configure mean these come out wrong,
- // so fix them here
- #ifndef HAVE_CMATH_ISFINITE
- # define HAVE_CMATH_ISFINITE
- # define NEED_CMATH_ISFINITE_STD_NAMESPACE
- #endif
- #ifndef HAVE_CMATH_ISINF
- # define HAVE_CMATH_ISINF
- # define NEED_CMATH_ISINF_STD_NAMESPACE
- #endif
- #ifndef HAVE_CMATH_ISNAN
- # define HAVE_CMATH_ISNAN
- # define NEED_CMATH_ISNAN_STD_NAMESPACE
- #endif
- #endif
- #endif
- #if defined(HAVE_CMATH_ISFINITE) && defined(NEED_CMATH_ISFINITE_STD_NAMESPACE)
- using std::isfinite;
- #endif
- #if defined(HAVE_CMATH_ISINF) && defined(NEED_CMATH_ISINF_STD_NAMESPACE)
- using std::isinf;
- #endif
- #if defined(HAVE_CMATH_ISNAN) && defined(NEED_CMATH_ISNAN_STD_NAMESPACE)
- using std::isnan;
- #endif
|