summaryrefslogtreecommitdiffstats
path: root/Include/internal/pycore_dtoa.h
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-02-12 21:54:42 (GMT)
committerGitHub <noreply@github.com>2020-02-12 21:54:42 (GMT)
commite9e7d284c434768333fdfb53a3663eae74cb995a (patch)
treee9606ee5a7cf9801138448fe50aad004b05b188b /Include/internal/pycore_dtoa.h
parent45876a90e2663f12b90c2090ec3e48bd97841aae (diff)
downloadcpython-e9e7d284c434768333fdfb53a3663eae74cb995a.zip
cpython-e9e7d284c434768333fdfb53a3663eae74cb995a.tar.gz
cpython-e9e7d284c434768333fdfb53a3663eae74cb995a.tar.bz2
bpo-35081: Move dtoa.h header to the internal C API (GH-18489)
Move the dtoa.h header file to the internal C API as pycore_dtoa.h: it only contains private functions (prefixed by "_Py"). The math and cmath modules must now be compiled with the Py_BUILD_CORE macro defined.
Diffstat (limited to 'Include/internal/pycore_dtoa.h')
-rw-r--r--Include/internal/pycore_dtoa.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/Include/internal/pycore_dtoa.h b/Include/internal/pycore_dtoa.h
new file mode 100644
index 0000000..3faf8cf
--- /dev/null
+++ b/Include/internal/pycore_dtoa.h
@@ -0,0 +1,23 @@
+#ifndef PY_NO_SHORT_FLOAT_REPR
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef Py_BUILD_CORE
+# error "this header requires Py_BUILD_CORE define"
+#endif
+
+/* These functions are used by modules compiled as C extension like math:
+ they must be exported. */
+
+PyAPI_FUNC(double) _Py_dg_strtod(const char *str, char **ptr);
+PyAPI_FUNC(char *) _Py_dg_dtoa(double d, int mode, int ndigits,
+ int *decpt, int *sign, char **rve);
+PyAPI_FUNC(void) _Py_dg_freedtoa(char *s);
+PyAPI_FUNC(double) _Py_dg_stdnan(int sign);
+PyAPI_FUNC(double) _Py_dg_infinity(int sign);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !PY_NO_SHORT_FLOAT_REPR */