Mercurial > cpython-lru_cache-weakref
diff Python/sysmodule.c @ 53185:97ae7a709c1d
Issue #1580: use short float repr where possible.
- incorporate and adapt David Gay's dtoa and strtod
into the Python core
- on platforms where we can use Gay's code (almost
all!), repr(float) is based on the shortest
sequence of decimal digits that rounds correctly.
- add sys.float_repr_style attribute to indicate
whether we're using Gay's code or not
- add autoconf magic to detect and enable SSE2
instructions on x86/gcc
- slight change to repr and str: repr switches
to exponential notation at 1e16 instead of
1e17, str switches at 1e11 instead of 1e12
| author | Mark Dickinson <dickinsm@gmail.com> |
|---|---|
| date | Thu, 16 Apr 2009 19:52:09 +0000 |
| parents | bb5de24a343f |
| children | 1b15a57e1f02 |
line wrap: on
line diff
--- a/Python/sysmodule.c Thu Apr 16 18:37:24 2009 +0000 +++ b/Python/sysmodule.c Thu Apr 16 19:52:09 2009 +0000 @@ -1025,6 +1025,7 @@ executable -- pathname of this Python interpreter\n\ prefix -- prefix used to find the Python library\n\ exec_prefix -- prefix used to find the machine-specific Python library\n\ +float_repr_style -- string indicating the style of repr() output for floats\n\ " ) #ifdef MS_WINDOWS @@ -1428,6 +1429,15 @@ FlagsType.tp_init = NULL; FlagsType.tp_new = NULL; + /* float repr style: 0.03 (short) vs 0.029999999999999999 (legacy) */ +#ifndef PY_NO_SHORT_FLOAT_REPR + SET_SYS_FROM_STRING("float_repr_style", + PyUnicode_FromString("short")); +#else + SET_SYS_FROM_STRING("float_repr_style", + PyUnicode_FromString("legacy")); +#endif + #undef SET_SYS_FROM_STRING if (PyErr_Occurred()) return NULL;
