Merged revisions 70678 via svnmerge from
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.
........
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index b4b8ef9..d07b10f 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1378,7 +1378,7 @@
 .. 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::
diff --git a/Objects/stringlib/formatter.h b/Objects/stringlib/formatter.h
index 2e3e5a6..86235a6 100644
--- a/Objects/stringlib/formatter.h
+++ b/Objects/stringlib/formatter.h
@@ -789,7 +789,7 @@
 
     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
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 7f30f66..84e107b 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -4336,7 +4336,7 @@
 	}
 	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:
 
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 72bfb83..70c95a1 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -8228,7 +8228,7 @@
         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: