353 lines
17 KiB
Text
353 lines
17 KiB
Text
# math_h.m4 serial 114
|
|
dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
AC_DEFUN([gl_MATH_H],
|
|
[
|
|
AC_REQUIRE([gl_MATH_H_DEFAULTS])
|
|
gl_CHECK_NEXT_HEADERS([math.h])
|
|
|
|
AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works],
|
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
|
|
[[/* Solaris 10 has a broken definition of NAN. Other platforms
|
|
fail to provide NAN, or provide it only in C99 mode; this
|
|
test only needs to fail when NAN is provided but wrong. */
|
|
float f = 1.0f;
|
|
#ifdef NAN
|
|
f = NAN;
|
|
#endif
|
|
return f == 0;]])],
|
|
[gl_cv_header_math_nan_works=yes],
|
|
[gl_cv_header_math_nan_works=no])])
|
|
if test $gl_cv_header_math_nan_works = no; then
|
|
REPLACE_NAN=1
|
|
fi
|
|
AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works],
|
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
|
|
[[/* Solaris 10 has a broken definition of HUGE_VAL. */
|
|
double d = HUGE_VAL;
|
|
return d == 0;]])],
|
|
[gl_cv_header_math_huge_val_works=yes],
|
|
[gl_cv_header_math_huge_val_works=no])])
|
|
if test $gl_cv_header_math_huge_val_works = no; then
|
|
REPLACE_HUGE_VAL=1
|
|
fi
|
|
|
|
dnl Check for declarations of anything we want to poison if the
|
|
dnl corresponding gnulib module is not in use.
|
|
gl_WARN_ON_USE_PREPARE([[#include <math.h>]],
|
|
[acosf acosl asinf asinl atanf atanl
|
|
cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf
|
|
expf expl exp2 exp2f exp2l expm1 expm1f expm1l
|
|
fabsf fabsl floorf floorl fma fmaf fmal
|
|
fmod fmodf fmodl frexpf frexpl hypotf hypotl
|
|
ilogb ilogbf ilogbl
|
|
ldexpf ldexpl
|
|
log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l
|
|
logb logbf logbl
|
|
modf modff modfl powf
|
|
remainder remainderf remainderl
|
|
rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl
|
|
tanf tanl tanhf trunc truncf truncl])
|
|
])
|
|
|
|
AC_DEFUN([gl_MATH_MODULE_INDICATOR],
|
|
[
|
|
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
|
|
AC_REQUIRE([gl_MATH_H_DEFAULTS])
|
|
gl_MODULE_INDICATOR_SET_VARIABLE([$1])
|
|
dnl Define it also as a C macro, for the benefit of the unit tests.
|
|
gl_MODULE_INDICATOR_FOR_TESTS([$1])
|
|
])
|
|
|
|
AC_DEFUN([gl_MATH_H_DEFAULTS],
|
|
[
|
|
GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF])
|
|
GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL])
|
|
GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF])
|
|
GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL])
|
|
GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF])
|
|
GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL])
|
|
GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F])
|
|
GNULIB_CBRT=0; AC_SUBST([GNULIB_CBRT])
|
|
GNULIB_CBRTF=0; AC_SUBST([GNULIB_CBRTF])
|
|
GNULIB_CBRTL=0; AC_SUBST([GNULIB_CBRTL])
|
|
GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL])
|
|
GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF])
|
|
GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL])
|
|
GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN])
|
|
GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF])
|
|
GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL])
|
|
GNULIB_COSF=0; AC_SUBST([GNULIB_COSF])
|
|
GNULIB_COSL=0; AC_SUBST([GNULIB_COSL])
|
|
GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF])
|
|
GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF])
|
|
GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL])
|
|
GNULIB_EXP2=0; AC_SUBST([GNULIB_EXP2])
|
|
GNULIB_EXP2F=0; AC_SUBST([GNULIB_EXP2F])
|
|
GNULIB_EXP2L=0; AC_SUBST([GNULIB_EXP2L])
|
|
GNULIB_EXPM1=0; AC_SUBST([GNULIB_EXPM1])
|
|
GNULIB_EXPM1F=0; AC_SUBST([GNULIB_EXPM1F])
|
|
GNULIB_EXPM1L=0; AC_SUBST([GNULIB_EXPM1L])
|
|
GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF])
|
|
GNULIB_FABSL=0; AC_SUBST([GNULIB_FABSL])
|
|
GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR])
|
|
GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF])
|
|
GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL])
|
|
GNULIB_FMA=0; AC_SUBST([GNULIB_FMA])
|
|
GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF])
|
|
GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL])
|
|
GNULIB_FMOD=0; AC_SUBST([GNULIB_FMOD])
|
|
GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF])
|
|
GNULIB_FMODL=0; AC_SUBST([GNULIB_FMODL])
|
|
GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF])
|
|
GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP])
|
|
GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL])
|
|
GNULIB_HYPOT=0; AC_SUBST([GNULIB_HYPOT])
|
|
GNULIB_HYPOTF=0; AC_SUBST([GNULIB_HYPOTF])
|
|
GNULIB_HYPOTL=0; AC_SUBST([GNULIB_HYPOTL])
|
|
GNULIB_ILOGB=0; AC_SUBST([GNULIB_ILOGB])
|
|
GNULIB_ILOGBF=0; AC_SUBST([GNULIB_ILOGBF])
|
|
GNULIB_ILOGBL=0; AC_SUBST([GNULIB_ILOGBL])
|
|
GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE])
|
|
GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF])
|
|
GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN])
|
|
GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF])
|
|
GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND])
|
|
GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL])
|
|
GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF])
|
|
GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL])
|
|
GNULIB_LOG=0; AC_SUBST([GNULIB_LOG])
|
|
GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF])
|
|
GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL])
|
|
GNULIB_LOG10=0; AC_SUBST([GNULIB_LOG10])
|
|
GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F])
|
|
GNULIB_LOG10L=0; AC_SUBST([GNULIB_LOG10L])
|
|
GNULIB_LOG1P=0; AC_SUBST([GNULIB_LOG1P])
|
|
GNULIB_LOG1PF=0; AC_SUBST([GNULIB_LOG1PF])
|
|
GNULIB_LOG1PL=0; AC_SUBST([GNULIB_LOG1PL])
|
|
GNULIB_LOG2=0; AC_SUBST([GNULIB_LOG2])
|
|
GNULIB_LOG2F=0; AC_SUBST([GNULIB_LOG2F])
|
|
GNULIB_LOG2L=0; AC_SUBST([GNULIB_LOG2L])
|
|
GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB])
|
|
GNULIB_LOGBF=0; AC_SUBST([GNULIB_LOGBF])
|
|
GNULIB_LOGBL=0; AC_SUBST([GNULIB_LOGBL])
|
|
GNULIB_MODF=0; AC_SUBST([GNULIB_MODF])
|
|
GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF])
|
|
GNULIB_MODFL=0; AC_SUBST([GNULIB_MODFL])
|
|
GNULIB_POWF=0; AC_SUBST([GNULIB_POWF])
|
|
GNULIB_REMAINDER=0; AC_SUBST([GNULIB_REMAINDER])
|
|
GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF])
|
|
GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL])
|
|
GNULIB_RINT=0; AC_SUBST([GNULIB_RINT])
|
|
GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF])
|
|
GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL])
|
|
GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND])
|
|
GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF])
|
|
GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL])
|
|
GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT])
|
|
GNULIB_SINF=0; AC_SUBST([GNULIB_SINF])
|
|
GNULIB_SINL=0; AC_SUBST([GNULIB_SINL])
|
|
GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF])
|
|
GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF])
|
|
GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL])
|
|
GNULIB_TANF=0; AC_SUBST([GNULIB_TANF])
|
|
GNULIB_TANL=0; AC_SUBST([GNULIB_TANL])
|
|
GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF])
|
|
GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC])
|
|
GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF])
|
|
GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL])
|
|
dnl Assume proper GNU behavior unless another module says otherwise.
|
|
HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF])
|
|
HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL])
|
|
HAVE_ASINF=1; AC_SUBST([HAVE_ASINF])
|
|
HAVE_ASINL=1; AC_SUBST([HAVE_ASINL])
|
|
HAVE_ATANF=1; AC_SUBST([HAVE_ATANF])
|
|
HAVE_ATANL=1; AC_SUBST([HAVE_ATANL])
|
|
HAVE_ATAN2F=1; AC_SUBST([HAVE_ATAN2F])
|
|
HAVE_CBRT=1; AC_SUBST([HAVE_CBRT])
|
|
HAVE_CBRTF=1; AC_SUBST([HAVE_CBRTF])
|
|
HAVE_CBRTL=1; AC_SUBST([HAVE_CBRTL])
|
|
HAVE_COPYSIGN=1; AC_SUBST([HAVE_COPYSIGN])
|
|
HAVE_COPYSIGNL=1; AC_SUBST([HAVE_COPYSIGNL])
|
|
HAVE_COSF=1; AC_SUBST([HAVE_COSF])
|
|
HAVE_COSL=1; AC_SUBST([HAVE_COSL])
|
|
HAVE_COSHF=1; AC_SUBST([HAVE_COSHF])
|
|
HAVE_EXPF=1; AC_SUBST([HAVE_EXPF])
|
|
HAVE_EXPL=1; AC_SUBST([HAVE_EXPL])
|
|
HAVE_EXPM1=1; AC_SUBST([HAVE_EXPM1])
|
|
HAVE_EXPM1F=1; AC_SUBST([HAVE_EXPM1F])
|
|
HAVE_FABSF=1; AC_SUBST([HAVE_FABSF])
|
|
HAVE_FABSL=1; AC_SUBST([HAVE_FABSL])
|
|
HAVE_FMA=1; AC_SUBST([HAVE_FMA])
|
|
HAVE_FMAF=1; AC_SUBST([HAVE_FMAF])
|
|
HAVE_FMAL=1; AC_SUBST([HAVE_FMAL])
|
|
HAVE_FMODF=1; AC_SUBST([HAVE_FMODF])
|
|
HAVE_FMODL=1; AC_SUBST([HAVE_FMODL])
|
|
HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF])
|
|
HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF])
|
|
HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL])
|
|
HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB])
|
|
HAVE_ILOGBF=1; AC_SUBST([HAVE_ILOGBF])
|
|
HAVE_ILOGBL=1; AC_SUBST([HAVE_ILOGBL])
|
|
HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF])
|
|
HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND])
|
|
HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL])
|
|
HAVE_LDEXPF=1; AC_SUBST([HAVE_LDEXPF])
|
|
HAVE_LOGF=1; AC_SUBST([HAVE_LOGF])
|
|
HAVE_LOGL=1; AC_SUBST([HAVE_LOGL])
|
|
HAVE_LOG10F=1; AC_SUBST([HAVE_LOG10F])
|
|
HAVE_LOG10L=1; AC_SUBST([HAVE_LOG10L])
|
|
HAVE_LOG1P=1; AC_SUBST([HAVE_LOG1P])
|
|
HAVE_LOG1PF=1; AC_SUBST([HAVE_LOG1PF])
|
|
HAVE_LOG1PL=1; AC_SUBST([HAVE_LOG1PL])
|
|
HAVE_LOGBF=1; AC_SUBST([HAVE_LOGBF])
|
|
HAVE_LOGBL=1; AC_SUBST([HAVE_LOGBL])
|
|
HAVE_MODFF=1; AC_SUBST([HAVE_MODFF])
|
|
HAVE_MODFL=1; AC_SUBST([HAVE_MODFL])
|
|
HAVE_POWF=1; AC_SUBST([HAVE_POWF])
|
|
HAVE_REMAINDER=1; AC_SUBST([HAVE_REMAINDER])
|
|
HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF])
|
|
HAVE_RINT=1; AC_SUBST([HAVE_RINT])
|
|
HAVE_RINTL=1; AC_SUBST([HAVE_RINTL])
|
|
HAVE_SINF=1; AC_SUBST([HAVE_SINF])
|
|
HAVE_SINL=1; AC_SUBST([HAVE_SINL])
|
|
HAVE_SINHF=1; AC_SUBST([HAVE_SINHF])
|
|
HAVE_SQRTF=1; AC_SUBST([HAVE_SQRTF])
|
|
HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL])
|
|
HAVE_TANF=1; AC_SUBST([HAVE_TANF])
|
|
HAVE_TANL=1; AC_SUBST([HAVE_TANL])
|
|
HAVE_TANHF=1; AC_SUBST([HAVE_TANHF])
|
|
HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL])
|
|
HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL])
|
|
HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL])
|
|
HAVE_DECL_CBRTF=1; AC_SUBST([HAVE_DECL_CBRTF])
|
|
HAVE_DECL_CBRTL=1; AC_SUBST([HAVE_DECL_CBRTL])
|
|
HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF])
|
|
HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL])
|
|
HAVE_DECL_COPYSIGNF=1; AC_SUBST([HAVE_DECL_COPYSIGNF])
|
|
HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL])
|
|
HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL])
|
|
HAVE_DECL_EXP2=1; AC_SUBST([HAVE_DECL_EXP2])
|
|
HAVE_DECL_EXP2F=1; AC_SUBST([HAVE_DECL_EXP2F])
|
|
HAVE_DECL_EXP2L=1; AC_SUBST([HAVE_DECL_EXP2L])
|
|
HAVE_DECL_EXPM1L=1; AC_SUBST([HAVE_DECL_EXPM1L])
|
|
HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF])
|
|
HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL])
|
|
HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL])
|
|
HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL])
|
|
HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL])
|
|
HAVE_DECL_LOG10L=1; AC_SUBST([HAVE_DECL_LOG10L])
|
|
HAVE_DECL_LOG2=1; AC_SUBST([HAVE_DECL_LOG2])
|
|
HAVE_DECL_LOG2F=1; AC_SUBST([HAVE_DECL_LOG2F])
|
|
HAVE_DECL_LOG2L=1; AC_SUBST([HAVE_DECL_LOG2L])
|
|
HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB])
|
|
HAVE_DECL_REMAINDER=1; AC_SUBST([HAVE_DECL_REMAINDER])
|
|
HAVE_DECL_REMAINDERL=1; AC_SUBST([HAVE_DECL_REMAINDERL])
|
|
HAVE_DECL_RINTF=1; AC_SUBST([HAVE_DECL_RINTF])
|
|
HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND])
|
|
HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF])
|
|
HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL])
|
|
HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL])
|
|
HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL])
|
|
HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL])
|
|
HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC])
|
|
HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF])
|
|
HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL])
|
|
REPLACE_CBRTF=0; AC_SUBST([REPLACE_CBRTF])
|
|
REPLACE_CBRTL=0; AC_SUBST([REPLACE_CBRTL])
|
|
REPLACE_CEIL=0; AC_SUBST([REPLACE_CEIL])
|
|
REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF])
|
|
REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL])
|
|
REPLACE_EXPM1=0; AC_SUBST([REPLACE_EXPM1])
|
|
REPLACE_EXPM1F=0; AC_SUBST([REPLACE_EXPM1F])
|
|
REPLACE_EXP2=0; AC_SUBST([REPLACE_EXP2])
|
|
REPLACE_EXP2L=0; AC_SUBST([REPLACE_EXP2L])
|
|
REPLACE_FABSL=0; AC_SUBST([REPLACE_FABSL])
|
|
REPLACE_FLOOR=0; AC_SUBST([REPLACE_FLOOR])
|
|
REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF])
|
|
REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL])
|
|
REPLACE_FMA=0; AC_SUBST([REPLACE_FMA])
|
|
REPLACE_FMAF=0; AC_SUBST([REPLACE_FMAF])
|
|
REPLACE_FMAL=0; AC_SUBST([REPLACE_FMAL])
|
|
REPLACE_FMOD=0; AC_SUBST([REPLACE_FMOD])
|
|
REPLACE_FMODF=0; AC_SUBST([REPLACE_FMODF])
|
|
REPLACE_FMODL=0; AC_SUBST([REPLACE_FMODL])
|
|
REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF])
|
|
REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP])
|
|
REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL])
|
|
REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL])
|
|
REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT])
|
|
REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF])
|
|
REPLACE_HYPOTL=0; AC_SUBST([REPLACE_HYPOTL])
|
|
REPLACE_ILOGB=0; AC_SUBST([REPLACE_ILOGB])
|
|
REPLACE_ILOGBF=0; AC_SUBST([REPLACE_ILOGBF])
|
|
REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE])
|
|
REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF])
|
|
REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN])
|
|
REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL])
|
|
REPLACE_LOG=0; AC_SUBST([REPLACE_LOG])
|
|
REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF])
|
|
REPLACE_LOGL=0; AC_SUBST([REPLACE_LOGL])
|
|
REPLACE_LOG10=0; AC_SUBST([REPLACE_LOG10])
|
|
REPLACE_LOG10F=0; AC_SUBST([REPLACE_LOG10F])
|
|
REPLACE_LOG10L=0; AC_SUBST([REPLACE_LOG10L])
|
|
REPLACE_LOG1P=0; AC_SUBST([REPLACE_LOG1P])
|
|
REPLACE_LOG1PF=0; AC_SUBST([REPLACE_LOG1PF])
|
|
REPLACE_LOG1PL=0; AC_SUBST([REPLACE_LOG1PL])
|
|
REPLACE_LOG2=0; AC_SUBST([REPLACE_LOG2])
|
|
REPLACE_LOG2F=0; AC_SUBST([REPLACE_LOG2F])
|
|
REPLACE_LOG2L=0; AC_SUBST([REPLACE_LOG2L])
|
|
REPLACE_LOGB=0; AC_SUBST([REPLACE_LOGB])
|
|
REPLACE_LOGBF=0; AC_SUBST([REPLACE_LOGBF])
|
|
REPLACE_LOGBL=0; AC_SUBST([REPLACE_LOGBL])
|
|
REPLACE_MODF=0; AC_SUBST([REPLACE_MODF])
|
|
REPLACE_MODFF=0; AC_SUBST([REPLACE_MODFF])
|
|
REPLACE_MODFL=0; AC_SUBST([REPLACE_MODFL])
|
|
REPLACE_NAN=0; AC_SUBST([REPLACE_NAN])
|
|
REPLACE_REMAINDER=0; AC_SUBST([REPLACE_REMAINDER])
|
|
REPLACE_REMAINDERF=0; AC_SUBST([REPLACE_REMAINDERF])
|
|
REPLACE_REMAINDERL=0; AC_SUBST([REPLACE_REMAINDERL])
|
|
REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND])
|
|
REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF])
|
|
REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL])
|
|
REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT])
|
|
REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC])
|
|
REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL])
|
|
REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC])
|
|
REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF])
|
|
REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL])
|
|
])
|
|
|
|
# gl_LONG_DOUBLE_VS_DOUBLE
|
|
# determines whether 'long double' and 'double' have the same representation.
|
|
# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
|
|
# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
|
|
# The currently known platforms where this is the case are:
|
|
# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
|
|
AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE],
|
|
[
|
|
AC_CACHE_CHECK([whether long double and double are the same],
|
|
[gl_cv_long_double_equals_double],
|
|
[AC_COMPILE_IFELSE(
|
|
[AC_LANG_PROGRAM([[#include <float.h>]],
|
|
[[typedef int check[sizeof (long double) == sizeof (double)
|
|
&& LDBL_MANT_DIG == DBL_MANT_DIG
|
|
&& LDBL_MAX_EXP == DBL_MAX_EXP
|
|
&& LDBL_MIN_EXP == DBL_MIN_EXP
|
|
? 1 : -1];
|
|
]])],
|
|
[gl_cv_long_double_equals_double=yes],
|
|
[gl_cv_long_double_equals_double=no])
|
|
])
|
|
if test $gl_cv_long_double_equals_double = yes; then
|
|
AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1],
|
|
[Define to 1 if 'long double' and 'double' have the same representation.])
|
|
HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1
|
|
else
|
|
HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0
|
|
fi
|
|
AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE])
|
|
])
|