Guido van Rossum added the comment:

OK, let's not try to resolve that issue, we can just note it in the docs.
BTW I don't want repr() of a complex number to use the complex(..., ...)
notation -- it's too verbose.

On Tue, Jan 13, 2015 at 11:38 AM, Serhiy Storchaka <rep...@bugs.python.org>
wrote:

>
> Serhiy Storchaka added the comment:
>
> > Another possible "fix" is to introduce a new 'imaginary' type, such that
> the type of an imaginary literal is now 'imaginary' rather than 'complex',
> and arithmetic operations like addition can special-case the addition of a
> float to an 'imaginary' instance to produce a complex number with exactly
> the right bits. The C standardisation folks already tried this: C99
> introduces optional "imaginary" types and a new _Imaginary keyword, but
> last time I looked almost none of the popular compilers supported those
> types.  (I think Intel's icc might be an exception.)  While this works as a
> technical solution, IMO the cure is worse than the disease; I don't want to
> think about the user-confusion that would result from having separate
> "complex" and "imaginary" types.
>
> This type should exist only at compile time. Peephole optimizer should
> replace it with complex after folding constants.
>
> Or may be repr() (and str()) should keep zero real part if imaginary part
> is negative and output period if real part is zero. For now:
>
> >>> z = complex(0.0, 3.4); z; eval(repr(z))
> 3.4j
> 3.4j
> >>> z = complex(0.0, -3.4); z; eval(repr(z))
> -3.4j
> (-0-3.4j)
> >>> z = complex(-0.0, 3.4); z; eval(repr(z))
> (-0+3.4j)
> 3.4j
> >>> z = complex(-0.0, -3.4); z; eval(repr(z))
> (-0-3.4j)
> -3.4j
>
> But all this perhaps is offtopic here.
>
> ----------
>
> _______________________________________
> Python tracker <rep...@bugs.python.org>
> <http://bugs.python.org/issue23229>
> _______________________________________
>

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23229>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to