Macro: ac_cxx_have_ieee_math

Back to the Main Page. | # ac_cxx_have_ieee_math | Download the M4 Source.

Synopsis

  `AC_CXX_HAVE_IEEE_MATH`

Version

  1.1.1.1 (2001/07/26) C++_Support @ ac-archive-0.5.39

Author

  Luc Maisonobe

Description

  If the compiler has the double math functions acosh, asinh, atanh, expm1, erf, erfc, isnan, j0, j1, lgamma, logb, log1p, rint, y0 and y1, define HAVE_IEEE_MATH.

M4 Source Code

      AC_DEFUN([AC_CXX_HAVE_IEEE_MATH],
      [AC_CACHE_CHECK(whether the compiler supports IEEE math library,
      ac_cv_cxx_have_ieee_math,
      [AC_LANG_SAVE
       AC_LANG_CPLUSPLUS
       ac_save_LIBS="$LIBS"
       LIBS="$LIBS -lm"
       AC_TRY_LINK([
      #ifndef _ALL_SOURCE
       #define _ALL_SOURCE
      #endif
      #ifndef _XOPEN_SOURCE
       #define _XOPEN_SOURCE
      #endif
      #ifndef _XOPEN_SOURCE_EXTENDED
       #define _XOPEN_SOURCE_EXTENDED 1
      #endif
      #include <math.h>],[double x = 1.0; double y = 1.0;
      acosh(x); asinh(x); atanh(x); expm1(x); erf(x); erfc(x); isnan(x);
      j0(x); j1(x); lgamma(x); logb(x); log1p(x); rint(x); y0(x); y1(x);
      return 0;],
       ac_cv_cxx_have_ieee_math=yes, ac_cv_cxx_have_ieee_math=no)
       LIBS="$ac_save_LIBS"
       AC_LANG_RESTORE
      ])
      if test "$ac_cv_cxx_have_ieee_math" = yes; then
        AC_DEFINE(HAVE_IEEE_MATH,,[define if the compiler supports IEEE math library])
      fi
      ])