[Python-checkins] r71704 - in python/branches/py3k: Include/pymath.h Python/pymath.c configure configure.in pyconfig.h.in
mark.dickinson
python-checkins at python.org
Sat Apr 18 15:58:19 CEST 2009
Author: mark.dickinson
Date: Sat Apr 18 15:58:18 2009
New Revision: 71704
Log:
Add check for C99 round function to configure, and define
a fallback function if round doesn't exist.
Modified:
python/branches/py3k/Include/pymath.h
python/branches/py3k/Python/pymath.c
python/branches/py3k/configure
python/branches/py3k/configure.in
python/branches/py3k/pyconfig.h.in
Modified: python/branches/py3k/Include/pymath.h
==============================================================================
--- python/branches/py3k/Include/pymath.h (original)
+++ python/branches/py3k/Include/pymath.h Sat Apr 18 15:58:18 2009
@@ -22,6 +22,10 @@
extern double copysign(double, double);
#endif
+#ifndef HAVE_ROUND
+extern double round(double);
+#endif
+
#ifndef HAVE_ACOSH
extern double acosh(double);
#endif
Modified: python/branches/py3k/Python/pymath.c
==============================================================================
--- python/branches/py3k/Python/pymath.c (original)
+++ python/branches/py3k/Python/pymath.c Sat Apr 18 15:58:18 2009
@@ -69,6 +69,19 @@
}
#endif /* HAVE_COPYSIGN */
+#ifndef HAVE_ROUND
+double
+round(double x)
+{
+ double absx, y;
+ absx = fabs(x);
+ y = floor(absx);
+ if (absx - y >= 0.5)
+ y += 1.0;
+ return copysign(y, x);
+}
+#endif /* HAVE_ROUND */
+
#ifndef HAVE_LOG1P
#include <float.h>
Modified: python/branches/py3k/configure
==============================================================================
--- python/branches/py3k/configure (original)
+++ python/branches/py3k/configure Sat Apr 18 15:58:18 2009
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 71274 .
+# From configure.in Revision: 71663 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for python 3.1.
#
@@ -22310,7 +22310,8 @@
-for ac_func in acosh asinh atanh copysign expm1 finite hypot log1p
+
+for ac_func in acosh asinh atanh copysign expm1 finite hypot log1p round
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ echo "$as_me:$LINENO: checking for $ac_func" >&5
Modified: python/branches/py3k/configure.in
==============================================================================
--- python/branches/py3k/configure.in (original)
+++ python/branches/py3k/configure.in Sat Apr 18 15:58:18 2009
@@ -3337,7 +3337,7 @@
[Define if tanh(-0.) is -0., or if platform doesn't have signed zeros])
fi
-AC_CHECK_FUNCS([acosh asinh atanh copysign expm1 finite hypot log1p])
+AC_CHECK_FUNCS([acosh asinh atanh copysign expm1 finite hypot log1p round])
AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include <math.h>]])
LIBS=$LIBS_SAVE
Modified: python/branches/py3k/pyconfig.h.in
==============================================================================
--- python/branches/py3k/pyconfig.h.in (original)
+++ python/branches/py3k/pyconfig.h.in Sat Apr 18 15:58:18 2009
@@ -521,6 +521,9 @@
/* Define if you have readline 4.0 */
#undef HAVE_RL_PRE_INPUT_HOOK
+/* Define to 1 if you have the `round' function. */
+#undef HAVE_ROUND
+
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
More information about the Python-checkins
mailing list