@@ -936,9 +936,7 @@ math_1_to_whatever(PyObject *arg, double (*func) (double),
936936 if (x == -1.0 && PyErr_Occurred ())
937937 return NULL ;
938938 errno = 0 ;
939- PyFPE_START_PROTECT ("in math_1" , return 0 );
940939 r = (* func )(x );
941- PyFPE_END_PROTECT (r );
942940 if (Py_IS_NAN (r ) && !Py_IS_NAN (x )) {
943941 PyErr_SetString (PyExc_ValueError ,
944942 "math domain error" ); /* invalid arg */
@@ -972,9 +970,7 @@ math_1a(PyObject *arg, double (*func) (double))
972970 if (x == -1.0 && PyErr_Occurred ())
973971 return NULL ;
974972 errno = 0 ;
975- PyFPE_START_PROTECT ("in math_1a" , return 0 );
976973 r = (* func )(x );
977- PyFPE_END_PROTECT (r );
978974 if (errno && is_error (r ))
979975 return NULL ;
980976 return PyFloat_FromDouble (r );
@@ -1025,9 +1021,7 @@ math_2(PyObject *const *args, Py_ssize_t nargs,
10251021 if ((x == -1.0 || y == -1.0 ) && PyErr_Occurred ())
10261022 return NULL ;
10271023 errno = 0 ;
1028- PyFPE_START_PROTECT ("in math_2" , return 0 );
10291024 r = (* func )(x , y );
1030- PyFPE_END_PROTECT (r );
10311025 if (Py_IS_NAN (r )) {
10321026 if (!Py_IS_NAN (x ) && !Py_IS_NAN (y ))
10331027 errno = EDOM ;
@@ -1340,8 +1334,6 @@ math_fsum(PyObject *module, PyObject *seq)
13401334 if (iter == NULL )
13411335 return NULL ;
13421336
1343- PyFPE_START_PROTECT ("fsum" , Py_DECREF (iter ); return NULL )
1344-
13451337 for (;;) { /* for x in iterable */
13461338 assert (0 <= n && n <= m );
13471339 assert ((m == NUM_PARTIALS && p == ps ) ||
@@ -1436,7 +1428,6 @@ math_fsum(PyObject *module, PyObject *seq)
14361428 sum = PyFloat_FromDouble (hi );
14371429
14381430 _fsum_error :
1439- PyFPE_END_PROTECT (hi )
14401431 Py_DECREF (iter );
14411432 if (p != ps )
14421433 PyMem_Free (p );
@@ -2111,9 +2102,7 @@ math_frexp_impl(PyObject *module, double x)
21112102 i = 0 ;
21122103 }
21132104 else {
2114- PyFPE_START_PROTECT ("in math_frexp" , return 0 );
21152105 x = frexp (x , & i );
2116- PyFPE_END_PROTECT (x );
21172106 }
21182107 return Py_BuildValue ("(di)" , x , i );
21192108}
@@ -2168,9 +2157,7 @@ math_ldexp_impl(PyObject *module, double x, PyObject *i)
21682157 errno = 0 ;
21692158 } else {
21702159 errno = 0 ;
2171- PyFPE_START_PROTECT ("in math_ldexp" , return 0 );
21722160 r = ldexp (x , (int )exp );
2173- PyFPE_END_PROTECT (r );
21742161 if (Py_IS_INFINITY (r ))
21752162 errno = ERANGE ;
21762163 }
@@ -2207,9 +2194,7 @@ math_modf_impl(PyObject *module, double x)
22072194 }
22082195
22092196 errno = 0 ;
2210- PyFPE_START_PROTECT ("in math_modf" , return 0 );
22112197 x = modf (x , & y );
2212- PyFPE_END_PROTECT (x );
22132198 return Py_BuildValue ("(dd)" , x , y );
22142199}
22152200
@@ -2356,9 +2341,7 @@ math_fmod_impl(PyObject *module, double x, double y)
23562341 if (Py_IS_INFINITY (y ) && Py_IS_FINITE (x ))
23572342 return PyFloat_FromDouble (x );
23582343 errno = 0 ;
2359- PyFPE_START_PROTECT ("in math_fmod" , return 0 );
23602344 r = fmod (x , y );
2361- PyFPE_END_PROTECT (r );
23622345 if (Py_IS_NAN (r )) {
23632346 if (!Py_IS_NAN (x ) && !Py_IS_NAN (y ))
23642347 errno = EDOM ;
@@ -2646,9 +2629,7 @@ math_pow_impl(PyObject *module, double x, double y)
26462629 else {
26472630 /* let libm handle finite**finite */
26482631 errno = 0 ;
2649- PyFPE_START_PROTECT ("in math_pow" , return 0 );
26502632 r = pow (x , y );
2651- PyFPE_END_PROTECT (r );
26522633 /* a NaN result should arise only from (-ve)**(finite
26532634 non-integer); in this case we want to raise ValueError. */
26542635 if (!Py_IS_FINITE (r )) {
0 commit comments