On 1/24/07, Gareth McCaughan <[EMAIL PROTECTED]> wrote:

> >>> complex(complex(1.0, 2.0), complex(10.0, 20.0))
>
> (-19+12j)
>
> WTF?  In any case, that's also what's destroying the sign of the
> imaginary part in complex(1.0, -0.0).

It seems pretty clear what it thinks it's doing -- namely,
defining complex(a,b) = a + ib even when a,b are complex.
And half of why it does that is clear: you want complex(a)=a
when a is complex. Why b should be allowed to be complex too,
though, it's hard to imagine.


I think that's the right thing to do, because that is mathematically
correct. j is just an imaginary number with a property that j*j = -1. So
(a+bj) + (c+dj)j = (a-d) + (b+c)j. Complex numbers are not just magic
pairs with two numbers and have actual mathematical rules.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to