mirror of
https://github.com/python/cpython.git
synced 2025-10-09 16:34:44 +00:00
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.
This commit is contained in:
parent
375a56bd40
commit
9bbdde2180
11 changed files with 104 additions and 96 deletions
|
@ -62,6 +62,7 @@ raised for division by zero and mod by zero.
|
|||
#include "pycore_call.h" // _PyObject_CallNoArgs()
|
||||
#include "pycore_dtoa.h" // _Py_dg_infinity()
|
||||
#include "pycore_long.h" // _PyLong_GetZero()
|
||||
#include "pycore_pymath.h" // _PY_SHORT_FLOAT_REPR
|
||||
/* For DBL_EPSILON in _math.h */
|
||||
#include <float.h>
|
||||
/* For _Py_log1p with workarounds for buggy handling of zeros. */
|
||||
|
@ -272,7 +273,7 @@ lanczos_sum(double x)
|
|||
static double
|
||||
m_inf(void)
|
||||
{
|
||||
#ifndef PY_NO_SHORT_FLOAT_REPR
|
||||
#if _PY_SHORT_FLOAT_REPR == 1
|
||||
return _Py_dg_infinity(0);
|
||||
#else
|
||||
return Py_HUGE_VAL;
|
||||
|
@ -282,12 +283,12 @@ m_inf(void)
|
|||
/* Constant nan value, generated in the same way as float('nan'). */
|
||||
/* We don't currently assume that Py_NAN is defined everywhere. */
|
||||
|
||||
#if !defined(PY_NO_SHORT_FLOAT_REPR) || defined(Py_NAN)
|
||||
#if _PY_SHORT_FLOAT_REPR == 1 || defined(Py_NAN)
|
||||
|
||||
static double
|
||||
m_nan(void)
|
||||
{
|
||||
#ifndef PY_NO_SHORT_FLOAT_REPR
|
||||
#if _PY_SHORT_FLOAT_REPR == 1
|
||||
return _Py_dg_stdnan(0);
|
||||
#else
|
||||
return Py_NAN;
|
||||
|
@ -3837,7 +3838,7 @@ math_exec(PyObject *module)
|
|||
if (PyModule_AddObject(module, "inf", PyFloat_FromDouble(m_inf())) < 0) {
|
||||
return -1;
|
||||
}
|
||||
#if !defined(PY_NO_SHORT_FLOAT_REPR) || defined(Py_NAN)
|
||||
#if _PY_SHORT_FLOAT_REPR == 1 || defined(Py_NAN)
|
||||
if (PyModule_AddObject(module, "nan", PyFloat_FromDouble(m_nan())) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue