diff options
Diffstat (limited to 'Modules/mathmodule.c')
-rw-r--r-- | Modules/mathmodule.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c index abf1d5b..bb4f1e8 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -80,7 +80,9 @@ math_1(args, func) if (! PyArg_Parse(args, "d", &x)) return NULL; errno = 0; + PyFPE_START_PROTECT("in math_1", return 0) x = (*func)(x); + PyFPE_END_PROTECT CHECK(x); if (errno != 0) return math_error(); @@ -97,7 +99,9 @@ math_2(args, func) if (! PyArg_Parse(args, "(dd)", &x, &y)) return NULL; errno = 0; + PyFPE_START_PROTECT("in math_2", return 0) x = (*func)(x, y); + PyFPE_END_PROTECT CHECK(x); if (errno != 0) return math_error(); @@ -173,7 +177,9 @@ math_ldexp(self, args) if (! PyArg_Parse(args, "(dd)", &x, &y)) return NULL; errno = 0; + PyFPE_START_PROTECT("ldexp", return 0) x = ldexp(x, (int)y); + PyFPE_END_PROTECT CHECK(x); if (errno != 0) return math_error(); |