mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Merged revisions 77535 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r77535 | mark.dickinson | 2010-01-16 18:10:25 +0000 (Sat, 16 Jan 2010) | 21 lines Merged revisions 77519,77530,77533 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r77519 | mark.dickinson | 2010-01-16 10:44:00 +0000 (Sat, 16 Jan 2010) | 5 lines Issue #7632: Fix a serious wrong output bug for string -> float conversion. Also remove some now unused variables, and add comments clarifying the possible outputs of the parsing section of _Py_dg_strtod. Thanks Eric Smith for reviewing. ........ r77530 | mark.dickinson | 2010-01-16 17:57:49 +0000 (Sat, 16 Jan 2010) | 3 lines Issue #7632: Fix one more case of incorrect rounding for str -> float conversion (see bug 5 in the issue tracker). ........ r77533 | mark.dickinson | 2010-01-16 18:06:17 +0000 (Sat, 16 Jan 2010) | 1 line Fix multiple uses of variable 'L' in _Py_dg_strtod, where one use requires an unsigned long and the other a signed long. See also r77421. ........ ................
This commit is contained in:
parent
27f9eaa62f
commit
11f657843f
3 changed files with 100 additions and 47 deletions
|
@ -123,10 +123,6 @@ class StrtodTests(unittest.TestCase):
|
|||
digits = m * 5**-e
|
||||
exponent = e
|
||||
s = '{}e{}'.format(digits, exponent)
|
||||
|
||||
# for the moment, ignore errors from trailing zeros
|
||||
if digits % 10 == 0:
|
||||
continue
|
||||
self.check_strtod(s)
|
||||
|
||||
# get expected answer via struct, to triple check
|
||||
|
@ -175,7 +171,8 @@ class StrtodTests(unittest.TestCase):
|
|||
self.check_strtod(s)
|
||||
|
||||
def test_parsing(self):
|
||||
digits = tuple(map(str, range(10)))
|
||||
# make '0' more likely to be chosen than other digits
|
||||
digits = '000000123456789'
|
||||
signs = ('+', '-', '')
|
||||
|
||||
# put together random short valid strings
|
||||
|
@ -257,7 +254,9 @@ class StrtodTests(unittest.TestCase):
|
|||
'247032822920623295e-341',
|
||||
# issue 7632 bug 5: the following 2 strings convert differently
|
||||
'1000000000000000000000000000000000000000e-16',
|
||||
#'10000000000000000000000000000000000000000e-17',
|
||||
'10000000000000000000000000000000000000000e-17',
|
||||
# issue 7632 bug 8: the following produced 10.0
|
||||
'10.900000000000000012345678912345678912345',
|
||||
]
|
||||
for s in test_strings:
|
||||
self.check_strtod(s)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue