]> granicus.if.org Git - python/commitdiff
Merged revisions 70678 via svnmerge from
authorMark Dickinson <dickinsm@gmail.com>
Sun, 29 Mar 2009 15:06:29 +0000 (15:06 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Sun, 29 Mar 2009 15:06:29 +0000 (15:06 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r70678 | mark.dickinson | 2009-03-29 15:37:51 +0100 (Sun, 29 Mar 2009) | 3 lines

  Issue #532631: Replace confusing fabs(x)/1e25 >= 1e25 test
  with fabs(x) >= 1e50, and fix documentation.
........

Doc/library/stdtypes.rst
Objects/stringlib/formatter.h
Objects/stringobject.c
Objects/unicodeobject.c

index b4b8ef9e4d1956e0e62116a8bf7b65c7ee1d1616..d07b10fbb825082be8649ebdd48c2d2cb6506cdf 100644 (file)
@@ -1378,7 +1378,7 @@ that ``'\0'`` is the end of the string.
 .. XXX Examples?
 
 For safety reasons, floating point precisions are clipped to 50; ``%f``
-conversions for numbers whose absolute value is over 1e25 are replaced by ``%g``
+conversions for numbers whose absolute value is over 1e50 are replaced by ``%g``
 conversions. [#]_  All other errors raise exceptions.
 
 .. index::
index 2e3e5a675854f923f2d8fbaa983db15e16ee68b7..86235a64b508ab292bb741b3f855fde0ea3faef1 100644 (file)
@@ -789,7 +789,7 @@ format_float_internal(PyObject *value,
 
     if (precision < 0)
         precision = 6;
-    if (type == 'f' && (fabs(x) / 1e25) >= 1e25)
+    if (type == 'f' && fabs(x) >= 1e50)
         type = 'g';
 
     /* cast "type", because if we're in unicode we need to pass a
index 7f30f6663db2a82cc69fe94677a70468cf03b034..84e107b6a96769fdf7c58b877385c121cf365113 100644 (file)
@@ -4336,7 +4336,7 @@ formatfloat(char *buf, size_t buflen, int flags,
        }
        if (prec < 0)
                prec = 6;
-       if (type == 'f' && fabs(x)/1e25 >= 1e25)
+       if (type == 'f' && fabs(x) >= 1e50)
                type = 'g';
        /* Worst case length calc to ensure no buffer overrun:
 
index 72bfb8373a7d973403ff3c061948490913f5ca9f..70c95a15ca29db35628fb1ba3fc477e39acf04cc 100644 (file)
@@ -8228,7 +8228,7 @@ formatfloat(Py_UNICODE *buf,
         return -1;
     if (prec < 0)
         prec = 6;
-    if (type == 'f' && (fabs(x) / 1e25) >= 1e25)
+    if (type == 'f' && fabs(x) >= 1e50)
         type = 'g';
     /* Worst case length calc to ensure no buffer overrun: