summaryrefslogtreecommitdiffstats
path: root/Python/pystrtod.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-02-23 17:16:23 (GMT)
committerGitHub <noreply@github.com>2022-02-23 17:16:23 (GMT)
commit9bbdde218005f552304d9954bb97e3f9185edded (patch)
tree2085d4399dfdcb03bbf9af4c7e5cf92bbdb55f43 /Python/pystrtod.c
parent375a56bd4015596c0cf44129c8842a1fe7199785 (diff)
downloadcpython-9bbdde218005f552304d9954bb97e3f9185edded.zip
cpython-9bbdde218005f552304d9954bb97e3f9185edded.tar.gz
cpython-9bbdde218005f552304d9954bb97e3f9185edded.tar.bz2
bpo-45412: Add _PY_SHORT_FLOAT_REPR macro (GH-31171)
Remove the HAVE_PY_SET_53BIT_PRECISION macro (moved to the internal C API). * Move HAVE_PY_SET_53BIT_PRECISION macro to pycore_pymath.h. * Replace PY_NO_SHORT_FLOAT_REPR macro with _PY_SHORT_FLOAT_REPR macro which is always defined. gcc -Wundef emits a warning when using _PY_SHORT_FLOAT_REPR but the macro is not defined, if pycore_pymath.h include was forgotten.
Diffstat (limited to 'Python/pystrtod.c')
-rw-r--r--Python/pystrtod.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/Python/pystrtod.c b/Python/pystrtod.c
index ab5814d..7469d62 100644
--- a/Python/pystrtod.c
+++ b/Python/pystrtod.c
@@ -1,8 +1,8 @@
/* -*- Mode: C; c-file-style: "python" -*- */
#include <Python.h>
-#include "pycore_dtoa.h"
-#include "pycore_pymath.h" // _Py_SET_53BIT_PRECISION_START
+#include "pycore_dtoa.h" // _Py_dg_strtod()
+#include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR
#include <locale.h>
/* Case-insensitive string match used for nan and inf detection; t should be
@@ -24,7 +24,7 @@ case_insensitive_match(const char *s, const char *t)
the successfully parsed portion of the string. On failure, return -1.0 and
set *endptr to point to the start of the string. */
-#ifndef PY_NO_SHORT_FLOAT_REPR
+#if _PY_SHORT_FLOAT_REPR == 1
double
_Py_parse_inf_or_nan(const char *p, char **endptr)
@@ -127,7 +127,7 @@ _Py_parse_inf_or_nan(const char *p, char **endptr)
* Return value: the #gdouble value.
**/
-#ifndef PY_NO_SHORT_FLOAT_REPR
+#if _PY_SHORT_FLOAT_REPR == 1
static double
_PyOS_ascii_strtod(const char *nptr, char **endptr)
@@ -441,7 +441,7 @@ _Py_string_to_number_with_underscores(
return NULL;
}
-#ifdef PY_NO_SHORT_FLOAT_REPR
+#if _PY_SHORT_FLOAT_REPR == 0
/* Given a string that may have a decimal point in the current
locale, change it back to a dot. Since the string cannot get
@@ -942,7 +942,7 @@ char * PyOS_double_to_string(double val,
return buf;
}
-#else
+#else // _PY_SHORT_FLOAT_REPR == 1
/* _Py_dg_dtoa is available. */
@@ -1305,4 +1305,4 @@ char * PyOS_double_to_string(double val,
flags & Py_DTSF_ALT,
float_strings, type);
}
-#endif /* ifdef PY_NO_SHORT_FLOAT_REPR */
+#endif // _PY_SHORT_FLOAT_REPR == 1