Chris@87: #ifndef Py_STRTOD_H Chris@87: #define Py_STRTOD_H Chris@87: Chris@87: #ifdef __cplusplus Chris@87: extern "C" { Chris@87: #endif Chris@87: Chris@87: Chris@87: PyAPI_FUNC(double) PyOS_ascii_strtod(const char *str, char **ptr); Chris@87: PyAPI_FUNC(double) PyOS_ascii_atof(const char *str); Chris@87: Chris@87: /* Deprecated in 2.7 and 3.1. Will disappear in 2.8 (if it exists) and 3.2 */ Chris@87: PyAPI_FUNC(char *) PyOS_ascii_formatd(char *buffer, size_t buf_len, Chris@87: const char *format, double d); Chris@87: PyAPI_FUNC(double) PyOS_string_to_double(const char *str, Chris@87: char **endptr, Chris@87: PyObject *overflow_exception); Chris@87: Chris@87: /* The caller is responsible for calling PyMem_Free to free the buffer Chris@87: that's is returned. */ Chris@87: PyAPI_FUNC(char *) PyOS_double_to_string(double val, Chris@87: char format_code, Chris@87: int precision, Chris@87: int flags, Chris@87: int *type); Chris@87: Chris@87: PyAPI_FUNC(double) _Py_parse_inf_or_nan(const char *p, char **endptr); Chris@87: Chris@87: Chris@87: /* PyOS_double_to_string's "flags" parameter can be set to 0 or more of: */ Chris@87: #define Py_DTSF_SIGN 0x01 /* always add the sign */ Chris@87: #define Py_DTSF_ADD_DOT_0 0x02 /* if the result is an integer add ".0" */ Chris@87: #define Py_DTSF_ALT 0x04 /* "alternate" formatting. it's format_code Chris@87: specific */ Chris@87: Chris@87: /* PyOS_double_to_string's "type", if non-NULL, will be set to one of: */ Chris@87: #define Py_DTST_FINITE 0 Chris@87: #define Py_DTST_INFINITE 1 Chris@87: #define Py_DTST_NAN 2 Chris@87: Chris@87: #ifdef __cplusplus Chris@87: } Chris@87: #endif Chris@87: Chris@87: #endif /* !Py_STRTOD_H */