mirror of https://github.com/python/cpython
Add configure-time test for log1p disrespecting zero sign.
This commit is contained in:
parent
22170edaf5
commit
7edecdd222
35
configure.in
35
configure.in
|
@ -3372,6 +3372,10 @@ fi
|
||||||
LIBS_SAVE=$LIBS
|
LIBS_SAVE=$LIBS
|
||||||
LIBS="$LIBS $LIBM"
|
LIBS="$LIBS $LIBM"
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS([acosh asinh atanh copysign erf erfc expm1 finite gamma])
|
||||||
|
AC_CHECK_FUNCS([hypot lgamma log1p round tgamma])
|
||||||
|
AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include <math.h>]])
|
||||||
|
|
||||||
# On FreeBSD 6.2, it appears that tanh(-0.) returns 0. instead of
|
# On FreeBSD 6.2, it appears that tanh(-0.) returns 0. instead of
|
||||||
# -0. on some architectures.
|
# -0. on some architectures.
|
||||||
AC_MSG_CHECKING(whether tanh preserves the sign of zero)
|
AC_MSG_CHECKING(whether tanh preserves the sign of zero)
|
||||||
|
@ -3398,9 +3402,34 @@ then
|
||||||
[Define if tanh(-0.) is -0., or if platform doesn't have signed zeros])
|
[Define if tanh(-0.) is -0., or if platform doesn't have signed zeros])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_CHECK_FUNCS([acosh asinh atanh copysign erf erfc expm1 finite gamma])
|
if test "$ac_cv_func_log1p" = yes
|
||||||
AC_CHECK_FUNCS([hypot lgamma log1p round tgamma])
|
then
|
||||||
AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include <math.h>]])
|
# On some versions of AIX, log1p(-0.) returns 0. instead of
|
||||||
|
# -0. See issue #9920.
|
||||||
|
AC_MSG_CHECKING(whether log1p drops the sign of negative zero)
|
||||||
|
AC_CACHE_VAL(ac_cv_log1p_drops_zero_sign, [
|
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
#include <math.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
int main() {
|
||||||
|
/* Fail if the signs of log1p(-0.) and -0. can be
|
||||||
|
distinguished. */
|
||||||
|
if (atan2(log1p(-0.), -1.) == atan2(-0., -1.))
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
]])],
|
||||||
|
[ac_cv_log1p_drops_zero_sign=no],
|
||||||
|
[ac_cv_log1p_drops_zero_sign=yes],
|
||||||
|
[ac_cv_log1p_drops_zero_sign=no])])
|
||||||
|
AC_MSG_RESULT($ac_cv_log1p_drops_zero_sign)
|
||||||
|
fi
|
||||||
|
if test "$ac_cv_log1p_drops_zero_sign" = yes
|
||||||
|
then
|
||||||
|
AC_DEFINE(LOG1P_DROPS_ZERO_SIGN, 1,
|
||||||
|
[Define if log1p(-0.) is 0. rather than -0.])
|
||||||
|
fi
|
||||||
|
|
||||||
LIBS=$LIBS_SAVE
|
LIBS=$LIBS_SAVE
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue