[Python-Dev] Expression optimizations

Cesare Di Mauro cesare.dimauro at a-tono.com
Tue Feb 10 22:11:57 CET 2009


It's bizarre enough, since I have got a different result (with Python
2.6.1, 32 bit):

>>> x = 1e66666
>>> y = x/x
>>> x
inf
>>> y
nan
>>> cmp(y, y)
0
>>> cmp(x/x, x/x)
1

:D

Cesare

On Mar, Feb 10, 2009 10:02PM, Dino Viehland wrote:
> And slightly unrelated, but just showing how bizarre floats are:
>
>>>> x = 1e66666
>>>> y = x/x
>>>> cmp(y, y)
> 0
>>>> cmp(x/x, x/x)
> -1
>
> Yeah object identity checks!
>
> From: python-dev-bounces+dinov=microsoft.com at python.org
> [mailto:python-dev-bounces+dinov=microsoft.com at python.org] On Behalf Of
> Daniel Stutzbach
> Sent: Tuesday, February 10, 2009 12:43 PM
> To: cesare.dimauro at a-tono.com
> Cc: Python-Dev
> Subject: Re: [Python-Dev] Expression optimizations
>
> On Tue, Feb 10, 2009 at 2:36 PM, Cesare Di Mauro
> <cesare.dimauro at a-tono.com> wrote:
> OK, so I can make assumptions only for built-in types.
>
> Yes, but even there you have to be careful of odd corner-cases, such as:
>
>>>> nan = float('nan')
>>>> nan < nan
> False
>>>> nan >= nan
> False
> --
> Daniel Stutzbach, Ph.D.
> President, Stutzbach Enterprises, LLC
>



More information about the Python-Dev mailing list