#pragma once #include_next #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