Bizarre arithmetic results

Jussi Piitulainen jpiitula at ling.helsinki.fi
Fri Feb 12 12:48:33 EST 2010


Terry Reedy writes:
> On 2/12/2010 4:40 AM, Jussi Piitulainen wrote:
> > Terry Reedy writes:
> >> On 2/11/2010 11:23 AM, Jussi Piitulainen wrote:
> >>> Robert Kern writes:
> >>>> On 2010-02-11 06:31 AM, Shashwat Anand wrote:
> >>>>> There is a little issue here that '>>>   -.1 ** .1' should give you
> >>>>> error message. That is it.
> >>>>
> >>>> No, fractional powers of negative numbers are perfectly valid
> >>>> mathematically. The result is a complex number. In Python 3 (what
> >>>> the OP is using), this has been implemented, but not in Python 2.6.
> >>>
> >>> Perhaps it should raise a MisleadingSpacingError at compile time.
> >>
> >> You forgot the smiley ;-).
> >>
> >>   >  The error message could recommend - .1**.1, or better -(.1 ** .1).
> >>
> >> The compiler would never see the difference between -.1 ** .1 and the
> >> first and probably no difference with the second either.
> >
> > It could be done the same way that the compiler keeps track of the
> > source line numbers now: early phases annotate their output with any
> > information that later phases may need. This error would be detected
> > during syntactic analysis.
> 
> There is no error to detect. Sorry, read the manual and either learn
> or lookup precedence rules (there is a table in the end of the
> Expressions chapter) or use parentheses when not sure.

Thanks.



More information about the Python-list mailing list