2022-11-15 09:45:11 -07:00
|
|
|
#ifndef Py_INTERNAL_DTOA_H
|
|
|
|
|
#define Py_INTERNAL_DTOA_H
|
2009-04-16 19:52:09 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2020-02-12 22:54:42 +01:00
|
|
|
#ifndef Py_BUILD_CORE
|
|
|
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-02-23 18:16:23 +01:00
|
|
|
#include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR
|
|
|
|
|
|
|
|
|
|
|
2024-06-30 11:40:40 +02:00
|
|
|
#if defined(Py_USING_MEMORY_DEBUGGER) || _PY_SHORT_FLOAT_REPR == 0
|
2022-11-15 09:45:11 -07:00
|
|
|
|
2024-06-30 11:40:40 +02:00
|
|
|
#define _dtoa_state_INIT(INTERP) \
|
2023-02-28 13:14:40 -07:00
|
|
|
{0}
|
2022-11-15 09:45:11 -07:00
|
|
|
|
2025-03-17 09:19:04 +00:00
|
|
|
#else
|
2022-11-15 09:45:11 -07:00
|
|
|
|
2023-02-28 13:14:40 -07:00
|
|
|
#define _dtoa_state_INIT(INTERP) \
|
2022-11-15 09:45:11 -07:00
|
|
|
{ \
|
2023-02-28 13:14:40 -07:00
|
|
|
.preallocated_next = (INTERP)->dtoa.preallocated, \
|
2022-11-15 09:45:11 -07:00
|
|
|
}
|
2025-03-17 09:19:04 +00:00
|
|
|
#endif
|
2022-11-15 09:45:11 -07:00
|
|
|
|
2023-07-25 03:44:11 +02:00
|
|
|
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);
|
2009-04-16 19:52:09 +00:00
|
|
|
|
2023-12-07 08:47:55 -05:00
|
|
|
|
|
|
|
|
extern PyStatus _PyDtoa_Init(PyInterpreterState *interp);
|
|
|
|
|
extern void _PyDtoa_Fini(PyInterpreterState *interp);
|
|
|
|
|
|
|
|
|
|
|
2009-04-16 19:52:09 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2022-11-15 09:45:11 -07:00
|
|
|
#endif /* !Py_INTERNAL_DTOA_H */
|