Macro: ac_cxx_have_ieee_math

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

# ac_cxx_have_ieee_math

## Synopsis

`AC_CXX_HAVE_IEEE_MATH`

## Version

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

## 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
    ])