[Jython-checkins] jython: abs(-0.0) should be 0.0
jeff.allen
jython-checkins at python.org
Tue Jan 20 23:07:15 CET 2015
https://hg.python.org/jython/rev/dac0a2a4b370
changeset: 7544:dac0a2a4b370
user: Jeff Allen <ja.py at farowl.co.uk>
date: Thu Jan 08 20:05:41 2015 +0000
summary:
abs(-0.0) should be 0.0
files:
Lib/test/test_float_jy.py | 7 +++++++
src/org/python/core/PyFloat.java | 5 +----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Lib/test/test_float_jy.py b/Lib/test/test_float_jy.py
--- a/Lib/test/test_float_jy.py
+++ b/Lib/test/test_float_jy.py
@@ -85,6 +85,13 @@
self.assert_(type(float('inf')), float)
self.assertRaises(OverflowError, long, float('Infinity'))
+ def test_minus_zero(self):
+ # Some operations confused by -0.0
+ mz = float('-0.0')
+ self.assertEquals(mz, 0.)
+ self.assertEquals(repr(mz)[0], '-')
+ self.assertEquals(repr(abs(mz))[0], '0')
+
def test_float_none(self):
self.assertRaises(TypeError, float, None)
diff --git a/src/org/python/core/PyFloat.java b/src/org/python/core/PyFloat.java
--- a/src/org/python/core/PyFloat.java
+++ b/src/org/python/core/PyFloat.java
@@ -839,10 +839,7 @@
@ExposedMethod(doc = BuiltinDocs.float___abs___doc)
final PyObject float___abs__() {
- if (getValue() < 0) {
- return float___neg__();
- }
- return float___float__();
+ return new PyFloat(Math.abs(getValue()));
}
@Override
--
Repository URL: https://hg.python.org/jython
More information about the Jython-checkins
mailing list