On Tuesday 23 January 2007 07:01, Tim Peters wrote: > complex_new() ends with: > > cr.real -= ci.imag; > cr.imag += ci.real; > > and I have no idea what that thinks it's doing. Surely this isn't intended?!: > >>> 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. -- g _______________________________________________ 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