Message228345
This is not a bug, but a known and difficult-to-avoid issue with signed zeros and creating complex numbers from real and imaginary parts. The safe way to do it is to use the `complex(real_part, imag_part)` construction.
In the first example, you're subtracting a complex number (0.j) from a float (-0.0). The float gets promoted to a complex (by filling in an imaginary part of +0.0), and the imaginary literal is similarly treated as a complex number (by filling in a 0.0 for the real part). So the subtraction is doing:
complex(-0.0, 0.0) - complex(0.0, -0.0)
which as expected gives a real part of -0.0, and an imaginary part of +0.0. |
|
Date |
User |
Action |
Args |
2014-10-03 17:28:16 | mark.dickinson | set | recipients:
+ mark.dickinson, pitrou, benjamin.peterson |
2014-10-03 17:28:16 | mark.dickinson | set | messageid: <1412357296.04.0.99642522563.issue22548@psf.upfronthosting.co.za> |
2014-10-03 17:28:16 | mark.dickinson | link | issue22548 messages |
2014-10-03 17:28:15 | mark.dickinson | create | |
|