| #ifndef Py_INTERNAL_DTOA_H | |
| #define Py_INTERNAL_DTOA_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifndef Py_BUILD_CORE | |
| # error "this header requires Py_BUILD_CORE define" | |
| #endif | |
| #include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR | |
| #if defined(Py_USING_MEMORY_DEBUGGER) || _PY_SHORT_FLOAT_REPR == 0 | |
| #define _dtoa_state_INIT(INTERP) \ | |
| {0} | |
| #else | |
| #define _dtoa_state_INIT(INTERP) \ | |
| { \ | |
| .preallocated_next = (INTERP)->dtoa.preallocated, \ | |
| } | |
| #endif | |
| extern double _Py_dg_strtod(const char *str, char **ptr); | |
| extern char* _Py_dg_dtoa(double d, int mode, int ndigits, | |
| int *decpt, int *sign, char **rve); | |
| extern void _Py_dg_freedtoa(char *s); | |
| extern PyStatus _PyDtoa_Init(PyInterpreterState *interp); | |
| extern void _PyDtoa_Fini(PyInterpreterState *interp); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* !Py_INTERNAL_DTOA_H */ |