Issue #1678380. Fix a bug that identifies 0j and -0j when they appear
in the same code unit. The fix is essentially the same as the fix for a
previous bug identifying 0. and -0.
diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py
index 64297e2..bd3890e 100644
--- a/Lib/test/test_complex.py
+++ b/Lib/test/test_complex.py
@@ -359,6 +359,13 @@
except (OSError, IOError):
pass
+ if float.__getformat__("double").startswith("IEEE"):
+ def test_plus_minus_0j(self):
+ # test that -0j and 0j literals are not identified
+ z1, z2 = 0j, -0j
+ self.assertEquals(atan2(z1.imag, -1.), atan2(0., -1.))
+ self.assertEquals(atan2(z2.imag, -1.), atan2(-0., -1.))
+
def test_main():
test_support.run_unittest(ComplexTest)