[issue3222] inf*inf gives inf, but inf**2 gives overflow error
Mark Dickinson
report at bugs.python.org
Fri Jun 27 23:40:53 CEST 2008
Mark Dickinson <dickinsm at gmail.com> added the comment:
This is a known problem, that's unlikely to change unless there's a
serious overhaul of Python's floating point.
The warning at the end of the math module documentation should probably
be taken to apply equally to all the built-in floating-point operations:
"""The math module consists mostly of thin wrappers around the platform
C math library functions. Behavior in exceptional cases is loosely
specified by the C standards, and Python inherits much of its math-
function error-reporting behavior from the platform C implementation. As
a result, the specific exceptions raised in error cases (and even
whether some arguments are considered to be exceptional at all) are not
defined in any useful cross-platform or cross-release way. For example,
whether math.log(0) returns -Inf or raises ValueError or OverflowError
isn't defined, and in cases where math.log(0) raises OverflowError,
math.log(0L) may raise ValueError instead."""
Or, as Tim Peters is fond of saying:
"""All Python behavior in the presence of infinities, NaNs, and signed
zeroes is a platform-dependent accident, mostly inherited from that all
C89 behavior in the presence of infinities, NaNs, and signed zeroes is a
platform-dependent crapshoot."""
----------
nosy: +marketdickinson
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3222>
_______________________________________
More information about the Python-bugs-list
mailing list