From 64adda585e2740e8d7033d99c0d2b0dfd1eb1f80 Mon Sep 17 00:00:00 2001 From: Chenxin Zhong Date: Thu, 20 Nov 2025 20:14:24 +0800 Subject: [PATCH 1/2] Update integration.pyx --- src/sage/calculus/integration.pyx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/sage/calculus/integration.pyx b/src/sage/calculus/integration.pyx index 999495c205e..9293ba74f29 100644 --- a/src/sage/calculus/integration.pyx +++ b/src/sage/calculus/integration.pyx @@ -27,7 +27,7 @@ AUTHORS: # https://www.gnu.org/licenses/ # **************************************************************************** -from cysignals.signals cimport sig_on, sig_off +from cysignals.signals cimport sig_on, sig_off, sig_block, sig_unblock from memory_allocator cimport MemoryAllocator from sage.rings.real_double import RDF @@ -417,6 +417,7 @@ def numerical_integral(func, a, b=None, cdef double c_monte_carlo_f(double *t, size_t dim, void *params) noexcept: + sig_block() cdef double value cdef PyFunctionWrapper wrapper wrapper = params @@ -431,14 +432,17 @@ cdef double c_monte_carlo_f(double *t, size_t dim, void *params) noexcept: value = wrapper.the_function(*wrapper.lx) except Exception as msg: print(msg) - return 0 + value=0 + sig_unblock() return value cdef double c_monte_carlo_ff(double *x, size_t dim, void *params) noexcept: cdef double result + sig_block() ( params).call_c(x, &result) + sig_unblock() return result From 5dbc6e276a59a1ee0e425e6d4a9715113c2a1315 Mon Sep 17 00:00:00 2001 From: Chenxin Zhong Date: Thu, 20 Nov 2025 20:16:04 +0800 Subject: [PATCH 2/2] Change exception variable name from 'msg' to 'e' --- src/sage/calculus/integration.pyx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sage/calculus/integration.pyx b/src/sage/calculus/integration.pyx index 9293ba74f29..1d5de3e8880 100644 --- a/src/sage/calculus/integration.pyx +++ b/src/sage/calculus/integration.pyx @@ -430,8 +430,8 @@ cdef double c_monte_carlo_f(double *t, size_t dim, void *params) noexcept: value = wrapper.the_function(*wrapper.lx, *wrapper.the_parameters) else: value = wrapper.the_function(*wrapper.lx) - except Exception as msg: - print(msg) + except Exception as e: + print(e) value=0 sig_unblock()