A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2018-March/152430.html below:

[Python-Dev] Deprecating float.is_integer()

[Python-Dev] Deprecating float.is_integer() [Python-Dev] Deprecating float.is_integer()Devin Jeanpierre jeanpierreda at gmail.com
Wed Mar 21 21:17:58 EDT 2018
> [Mark Dickinson <dickinsm at gmail.com> ]
>> If you have a moment to share it, I'd be interested to know what value of
>> `x` you used to achieve this, and what system you were on. This can't happen
>> under IEEE 754 arithmetic.
>
> I expect it might happen under one of the directed rounding modes
> (like "to +infinity").

PyPy (5.8):

>>>> x = 1e300
>>>> x.is_integer()
True
>>>> math.sqrt(x**2).is_integer()
False
>>>> x**2
inf

(It gives an OverflowError on my CPython installs.)

I believe this is allowed, and Python is not required to raise
OverflowError here:
https://docs.python.org/3.6/library/exceptions.html#OverflowError
says:

> for historical reasons, OverflowError is sometimes raised for integers that are outside a required range. Because of the lack of standardization of floating point exception handling in C, most floating point operations are not checked

-- Devin
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4