diff options
author | Eric Smith <eric@trueblade.com> | 2010-02-22 14:58:30 (GMT) |
---|---|---|
committer | Eric Smith <eric@trueblade.com> | 2010-02-22 14:58:30 (GMT) |
commit | 68af50ba392daee56ac555a1b292197b62a0e52c (patch) | |
tree | 9a74b1ee227ae4a872c05aac7135164f7df2efa9 /Python | |
parent | 9d2d327963fac62294c20fb4611071a30a609293 (diff) | |
download | cpython-68af50ba392daee56ac555a1b292197b62a0e52c.zip cpython-68af50ba392daee56ac555a1b292197b62a0e52c.tar.gz cpython-68af50ba392daee56ac555a1b292197b62a0e52c.tar.bz2 |
Issue #5988: Delete deprecated functions PyOS_ascii_formatd, PyOS_ascii_strtod, and PyOS_ascii_atof.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/pystrtod.c | 75 |
1 files changed, 12 insertions, 63 deletions
diff --git a/Python/pystrtod.c b/Python/pystrtod.c index 5543c58..a1d7ff0 100644 --- a/Python/pystrtod.c +++ b/Python/pystrtod.c @@ -58,7 +58,7 @@ _Py_parse_inf_or_nan(const char *p, char **endptr) } /** - * PyOS_ascii_strtod: + * _PyOS_ascii_strtod: * @nptr: the string to convert to a numeric value. * @endptr: if non-%NULL, it returns the character after * the last character used in the conversion. @@ -88,7 +88,7 @@ _Py_parse_inf_or_nan(const char *p, char **endptr) #ifndef PY_NO_SHORT_FLOAT_REPR -double +static double _PyOS_ascii_strtod(const char *nptr, char **endptr) { double result; @@ -121,7 +121,7 @@ _PyOS_ascii_strtod(const char *nptr, char **endptr) correctly rounded results. */ -double +static double _PyOS_ascii_strtod(const char *nptr, char **endptr) { char *fail_pos; @@ -270,48 +270,10 @@ _PyOS_ascii_strtod(const char *nptr, char **endptr) #endif -/* PyOS_ascii_strtod is DEPRECATED in Python 3.1 */ - -double -PyOS_ascii_strtod(const char *nptr, char **endptr) -{ - char *fail_pos; - const char *p; - double x; - - if (PyErr_WarnEx(PyExc_DeprecationWarning, - "PyOS_ascii_strtod and PyOS_ascii_atof are " - "deprecated. Use PyOS_string_to_double " - "instead.", 1) < 0) - return -1.0; - - /* _PyOS_ascii_strtod already does everything that we want, - except that it doesn't parse leading whitespace */ - p = nptr; - while (Py_ISSPACE(*p)) - p++; - x = _PyOS_ascii_strtod(p, &fail_pos); - if (fail_pos == p) - fail_pos = (char *)nptr; - if (endptr) - *endptr = (char *)fail_pos; - return x; -} - -/* PyOS_ascii_strtod is DEPRECATED in Python 3.1 */ - -double -PyOS_ascii_atof(const char *nptr) -{ - return PyOS_ascii_strtod(nptr, NULL); -} - -/* PyOS_string_to_double is the recommended replacement for the deprecated - PyOS_ascii_strtod and PyOS_ascii_atof functions. It converts a - null-terminated byte string s (interpreted as a string of ASCII characters) - to a float. The string should not have leading or trailing whitespace (in - contrast, PyOS_ascii_strtod allows leading whitespace but not trailing - whitespace). The conversion is independent of the current locale. +/* PyOS_string_to_double converts a null-terminated byte string s (interpreted + as a string of ASCII characters) to a float. The string should not have + leading or trailing whitespace. The conversion is independent of the + current locale. If endptr is NULL, try to convert the whole string. Raise ValueError and return -1.0 if the string is not a valid representation of a floating-point @@ -369,6 +331,8 @@ PyOS_string_to_double(const char *s, return result; } +#ifdef PY_NO_SHORT_FLOAT_REPR + /* Given a string that may have a decimal point in the current locale, change it back to a dot. Since the string cannot get longer, no need for a maximum buffer size parameter. */ @@ -618,12 +582,13 @@ ensure_decimal_point(char* buffer, size_t buf_size, int precision) #define FLOAT_FORMATBUFLEN 120 /** - * PyOS_ascii_formatd: + * _PyOS_ascii_formatd: * @buffer: A buffer to place the resulting string in * @buf_size: The length of the buffer. * @format: The printf()-style format to use for the * code to use for converting. * @d: The #gdouble to convert + * @precision: The precision to use when formatting. * * Converts a #gdouble to a string, using the '.' as * decimal point. To format the number you pass in @@ -636,7 +601,7 @@ ensure_decimal_point(char* buffer, size_t buf_size, int precision) * Return value: The pointer to the buffer with the converted string. * On failure returns NULL but does not set any Python exception. **/ -char * +static char * _PyOS_ascii_formatd(char *buffer, size_t buf_size, const char *format, @@ -716,22 +681,6 @@ _PyOS_ascii_formatd(char *buffer, return buffer; } -char * -PyOS_ascii_formatd(char *buffer, - size_t buf_size, - const char *format, - double d) -{ - if (PyErr_WarnEx(PyExc_DeprecationWarning, - "PyOS_ascii_formatd is deprecated, " - "use PyOS_double_to_string instead", 1) < 0) - return NULL; - - return _PyOS_ascii_formatd(buffer, buf_size, format, d, -1); -} - -#ifdef PY_NO_SHORT_FLOAT_REPR - /* The fallback code to use if _Py_dg_dtoa is not available. */ PyAPI_FUNC(char *) PyOS_double_to_string(double val, |