diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-11-01 21:51:15 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-11-01 21:51:15 (GMT) |
commit | faf0cd21edde392d4d30e2e4f7d9fa2fb9973b71 (patch) | |
tree | 5205cc61cb3cb7d64abbca29bf78e5961857f7a3 | |
parent | 3133f4193763314389930378feec3fd5a4d9d20c (diff) | |
download | cpython-faf0cd21edde392d4d30e2e4f7d9fa2fb9973b71.zip cpython-faf0cd21edde392d4d30e2e4f7d9fa2fb9973b71.tar.gz cpython-faf0cd21edde392d4d30e2e4f7d9fa2fb9973b71.tar.bz2 |
float_abs() again: Guido pointed out that this could screw up in the
presence of NaNs. So pass the issue on to the platform libm fabs();
after all, fabs() is a std C function because you can't implement it
correctly in portable C89.
-rw-r--r-- | Objects/floatobject.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/Objects/floatobject.c b/Objects/floatobject.c index 82aa963..1efef4b 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -568,12 +568,7 @@ float_pos(PyFloatObject *v) static PyObject * float_abs(PyFloatObject *v) { - if (v->ob_fval < 0) - return float_neg(v); - else if (v->ob_fval > 0) - return float_pos(v); - else /* ensure abs(-0) is +0 */ - return PyFloat_FromDouble(+0.0); + return PyFloat_FromDouble(fabs(v->ob_fval)); } static int |