mirror of
https://github.com/python/cpython.git
synced 2025-10-07 07:31:46 +00:00
Issue #9011: Tests for Python 3.2's treatment of negated imaginary literals.
This commit is contained in:
parent
af0e1544bf
commit
50b79a80bd
4 changed files with 63 additions and 5 deletions
|
@ -435,6 +435,23 @@ class ComplexTest(unittest.TestCase):
|
|||
self.assertEquals(atan2(z1.imag, -1.), atan2(0., -1.))
|
||||
self.assertEquals(atan2(z2.imag, -1.), atan2(-0., -1.))
|
||||
|
||||
@unittest.skipUnless(float.__getformat__("double").startswith("IEEE"),
|
||||
"test requires IEEE 754 doubles")
|
||||
def test_negated_imaginary_literal(self):
|
||||
z0 = -0j
|
||||
z1 = -7j
|
||||
z2 = -1e1000j
|
||||
# Note: In versions of Python < 3.2, a negated imaginary literal
|
||||
# accidentally ended up with real part 0.0 instead of -0.0, thanks to a
|
||||
# modification during CST -> AST translation (see issue #9011). That's
|
||||
# fixed in Python 3.2.
|
||||
self.assertFloatsAreIdentical(z0.real, -0.0)
|
||||
self.assertFloatsAreIdentical(z0.imag, -0.0)
|
||||
self.assertFloatsAreIdentical(z1.real, -0.0)
|
||||
self.assertFloatsAreIdentical(z1.imag, -7.0)
|
||||
self.assertFloatsAreIdentical(z2.real, -0.0)
|
||||
self.assertFloatsAreIdentical(z2.imag, -INF)
|
||||
|
||||
@unittest.skipUnless(float.__getformat__("double").startswith("IEEE"),
|
||||
"test requires IEEE 754 doubles")
|
||||
def test_overflow(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue