Sync trunk and py3k versions of string formatting. Manual merge of r74219.
This commit is contained in:
parent
34f7e32350
commit
88af7432fc
|
@ -920,6 +920,13 @@ format_float_internal(PyObject *value,
|
||||||
format the result. We take care of that later. */
|
format the result. We take care of that later. */
|
||||||
type = 'g';
|
type = 'g';
|
||||||
|
|
||||||
|
#if PY_VERSION_HEX < 0x0301000
|
||||||
|
/* 'F' is the same as 'f', per the PEP */
|
||||||
|
/* This is no longer the case in 3.x */
|
||||||
|
if (type == 'F')
|
||||||
|
type = 'f';
|
||||||
|
#endif
|
||||||
|
|
||||||
val = PyFloat_AsDouble(value);
|
val = PyFloat_AsDouble(value);
|
||||||
if (val == -1.0 && PyErr_Occurred())
|
if (val == -1.0 && PyErr_Occurred())
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -935,15 +942,8 @@ format_float_internal(PyObject *value,
|
||||||
|
|
||||||
#if PY_VERSION_HEX < 0x03010000
|
#if PY_VERSION_HEX < 0x03010000
|
||||||
/* 3.1 no longer converts large 'f' to 'g'. */
|
/* 3.1 no longer converts large 'f' to 'g'. */
|
||||||
if (fabs(val) >= 1e50)
|
if ((type == 'f' || type == 'F') && fabs(val) >= 1e50)
|
||||||
switch (type) {
|
type = 'g';
|
||||||
case 'f':
|
|
||||||
type = 'g';
|
|
||||||
break;
|
|
||||||
case 'F':
|
|
||||||
type = 'G';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Cast "type", because if we're in unicode we need to pass a
|
/* Cast "type", because if we're in unicode we need to pass a
|
||||||
|
@ -1117,6 +1117,13 @@ format_complex_internal(PyObject *value,
|
||||||
format the result. We take care of that later. */
|
format the result. We take care of that later. */
|
||||||
type = 'g';
|
type = 'g';
|
||||||
|
|
||||||
|
#if PY_VERSION_HEX < 0x03010000
|
||||||
|
/* This is no longer the case in 3.x */
|
||||||
|
/* 'F' is the same as 'f', per the PEP */
|
||||||
|
if (type == 'F')
|
||||||
|
type = 'f';
|
||||||
|
#endif
|
||||||
|
|
||||||
if (precision < 0)
|
if (precision < 0)
|
||||||
precision = default_precision;
|
precision = default_precision;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue