[issue8644] timedelta.total_seconds needlessly inaccurate, especially for negative timedeltas
Mark Dickinson
report at bugs.python.org
Sun May 9 11:36:30 CEST 2010
Mark Dickinson <dickinsm at gmail.com> added the comment:
Perfect! Applied in r81020.
You're correct that n/10**6 and n/1e6 aren't the same thing, at least for n large enough:
Python 2.7b2+ (trunk:81019:81020, May 9 2010, 10:33:17)
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import division
[35402 refs]
>>> (2**53+1)/10**6
9007199254.740993
[35404 refs]
>>> (2**53+1)/1e6
9007199254.740992
[35404 refs]
In the second case, 2**53+1 first gets converted to a float, and then the division is performed, so there are two points at which a rounding error can be introduced. The first case only involves one rounding error.
----------
resolution: accepted -> fixed
stage: patch review -> committed/rejected
status: open -> closed
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8644>
_______________________________________
More information about the Python-bugs-list
mailing list