mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
bpo-45412: Remove Py_SET_ERRNO_ON_MATH_ERROR() macro (GH-28820)
Remove the following math macros using the errno variable: * Py_ADJUST_ERANGE1() * Py_ADJUST_ERANGE2() * Py_OVERFLOWED() * Py_SET_ERANGE_IF_OVERFLOW() * Py_SET_ERRNO_ON_MATH_ERROR() Create pycore_pymath.h internal header file. Rename Py_ADJUST_ERANGE1() and Py_ADJUST_ERANGE2() to _Py_ADJUST_ERANGE1() and _Py_ADJUST_ERANGE2(), and convert these macros to static inline functions. Move the following macros to pycore_pymath.h: * _Py_IntegralTypeSigned() * _Py_IntegralTypeMax() * _Py_IntegralTypeMin() * _Py_InIntegralTypeRange()
This commit is contained in:
parent
659812b451
commit
2f92e2a590
8 changed files with 99 additions and 113 deletions
|
|
@ -8,6 +8,7 @@
|
|||
#include "Python.h"
|
||||
#include "pycore_long.h" // _PyLong_GetZero()
|
||||
#include "pycore_object.h" // _PyObject_Init()
|
||||
#include "pycore_pymath.h" // _Py_ADJUST_ERANGE2()
|
||||
#include "structmember.h" // PyMemberDef
|
||||
|
||||
|
||||
|
|
@ -525,7 +526,7 @@ complex_pow(PyObject *v, PyObject *w, PyObject *z)
|
|||
p = _Py_c_pow(a, b);
|
||||
}
|
||||
|
||||
Py_ADJUST_ERANGE2(p.real, p.imag);
|
||||
_Py_ADJUST_ERANGE2(p.real, p.imag);
|
||||
if (errno == EDOM) {
|
||||
PyErr_SetString(PyExc_ZeroDivisionError,
|
||||
"0.0 to a negative or complex power");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue