New submission from Marco Buttu:
When the integer division result is too large to converto to float, and the
operands are inside the limits, the result is `inf` or `-inf`::
>>> 2**1023 / 2**-3
inf
>>> 2**1022 / 2**-4
inf
>>> 2**1023 / 2**-1074
inf
When both the result and an operand are too large to converto to float, we
raise an OverflowError::
>>> 2**1028 / 2**-2
Traceback (most recent call last):
File "<input>", line 1, in <module>
OverflowError: long int too large to convert to float
The message says: "long int too large to convert to float". I think in Python 3
it should be "int too large to convert...". In any case, the most important
thing is that in the same situation we get a different message [1]_::
>>> 2**1032 / 2**2
Traceback (most recent call last):
File "<input>", line 1, in <module>
OverflowError: integer division result too large for a float
and I think is it muddleheaded, because it should be "long int too large to
convert to float", as we got in the case `2**1028 / 2**-2`. I think we should
never show "integer division result too large for a float", but just:
* `inf` or `-inf` when the operands are inside the limits, but the result
does not
* `OverflowError: long int too large to convert to float` when the result,
and at least one operand, are out of range.
.. [1] In this situation, we get the message "OverflowError: integer division
result too large for a float" only when the denominator exponent is positive.
----------
messages: 193783
nosy: marco.buttu
priority: normal
severity: normal
status: open
title: OverflowError during division: wrong message
type: behavior
versions: Python 3.1, Python 3.2, Python 3.3, Python 3.4
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue18570>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com