Brett Cannon
0b03f10afb
Remove three unneeded variable assignments.
Found using Clang's static analyzer.
16 years ago
Mark Dickinson
8cd0a66a0f
dtoa.c fix from upstream that fixes incorrectly rounded results for certain subnormals that are also halfway cases.
16 years ago
Mark Dickinson
fc5290458d
Issue #7743 : Add checks for zero inputs to the lshift and mult functions;
this fixes the first bug described in issue #7743 .
16 years ago
Mark Dickinson
adcda3400f
Issue #7743 : Fix a potential incorrect rounding bug in dtoa.c (2nd bug
in issue 7743).
16 years ago
Mark Dickinson
ca6ea56718
Additional explanatory comments for _Py_dg_strtod.
16 years ago
Mark Dickinson
1942806013
Don't try to put a value into a NULL pointer.
16 years ago
Mark Dickinson
4141d65fb7
Various dtoa.c cleanups. 1. Despagghetify _Py_dg_strtod parsing code
and exit points. 2. Simplify bigcomp comparison loop. 3. Don't set
ERANGE on _Py_dg_strtod underflow (it was set inconsistently anyway).
4. Remove unused dsign field from BCinfo struct.
16 years ago
Mark Dickinson
9481c576cd
Issue #7632 : When Py_USING_MEMORY_DEBUGGER is defined, disable the
private memory allocation scheme in dtoa.c, along with a piece of code
that caches powers of 5 for future use. This makes it easier to
detect dtoa.c memory leaks with Valgrind or similar tools.
Patch by Stefan Krah.
16 years ago
Mark Dickinson
23df3d270d
Issue #7632 : Fix a memory leak in _Py_dg_strtod.
16 years ago
Mark Dickinson
18a818bc63
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.
16 years ago
Mark Dickinson
811ff822f8
Issue #7632 : Fix one more case of incorrect rounding for str -> float
conversion (see bug 5 in the issue tracker).
16 years ago
Mark Dickinson
476279f18b
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.
16 years ago
Mark Dickinson
f8747c1f12
Issue 7632: fix incorrect rounding for long input strings with values very close to a power of 2. (See Bug 4 in the tracker discussion.)
16 years ago
Mark Dickinson
50b60c612e
Issue 7632: fix a dtoa.c bug (bug 6) causing incorrect rounding. Tests to follow.
16 years ago
Mark Dickinson
03774fac62
Fix off-by-one error introduced in r77483. I have a test for this, but it currently fails due to a different dtoa.c bug; I'll add the test once that bug is fixed.
16 years ago
Mark Dickinson
d2a9940acb
More dtoa.c cleanup; remove the need for bc.dplen, bc.dp0 and bc.dp1.
16 years ago
Mark Dickinson
02139d74ba
Fix buggy comparison: LHS of comparison was being treated as unsigned.
16 years ago
Mark Dickinson
6e0d3d67fb
Simplify and annotate the bigcomp function, removing unused special cases.
16 years ago
Mark Dickinson
5818e01253
Clarify that sulp expects a nonnegative input, but that +0.0 is fine.
16 years ago
Mark Dickinson
b26d56ac18
Add comments explaining the role of the bigcomp function in dtoa.c.
16 years ago
Mark Dickinson
5ff4f279e6
Issue #7632 : Fix a bug in dtoa.c that could lead to incorrectly-rounded results.
16 years ago
Mark Dickinson
8efef5ce9f
Issue #7632 : Fix a problem with _Py_dg_strtod that could lead to
crashes in debug builds, for certain long numeric strings
corresponding to subnormal values.
16 years ago
Mark Dickinson
0ca7452794
Change a variable type to avoid signed overflow; replace repeated '19999' constant by a define.
16 years ago
Mark Dickinson
5a0b399aa9
Remove unused BCinfo fields and an unused macro.
16 years ago
Mark Dickinson
2bcd177270
Fix typo in comment.
16 years ago
Mark Dickinson
52462c3185
Remove temporary define from r75653
16 years ago
Mark Dickinson
fd42f30991
Temporary define to avoid build failure
16 years ago
Mark Dickinson
bb28285ea2
Issue #7117 : Prepare for backport of py3k float repr.
Add the Python/dtoa.c file containing the main algorithms;
add corresponding include file and include in Python.h;
include license information for Python/dtoa.c;
add dtoa.c and dtoa.h to Makefile.
16 years ago