summaryrefslogtreecommitdiffstats
path: root/Python/pymath.c
diff options
context:
space:
mode:
authorMark Dickinson <dickinsm@gmail.com>2009-04-18 14:41:37 (GMT)
committerMark Dickinson <dickinsm@gmail.com>2009-04-18 14:41:37 (GMT)
commit8e5446f902c58a48796c1f0e25a263b7268afe34 (patch)
tree1f117ab0286a1a2a6f24ff997ca64b67ac1ae194 /Python/pymath.c
parent4beb89b9f7a40703136d0ddac7aecd71d59d17bc (diff)
downloadcpython-8e5446f902c58a48796c1f0e25a263b7268afe34.zip
cpython-8e5446f902c58a48796c1f0e25a263b7268afe34.tar.gz
cpython-8e5446f902c58a48796c1f0e25a263b7268afe34.tar.bz2
Backport r71704 (add configure check for C99 round function) to trunk.
Diffstat (limited to 'Python/pymath.c')
-rw-r--r--Python/pymath.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Python/pymath.c b/Python/pymath.c
index 2749688..6438058 100644
--- a/Python/pymath.c
+++ b/Python/pymath.c
@@ -47,6 +47,19 @@ copysign(double x, double y)
}
#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>