Skip to content

Commit 64adda5

Browse files
committed
Update integration.pyx
1 parent bbdfda0 commit 64adda5

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/sage/calculus/integration.pyx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ AUTHORS:
2727
# https://www.gnu.org/licenses/
2828
# ****************************************************************************
2929

30-
from cysignals.signals cimport sig_on, sig_off
30+
from cysignals.signals cimport sig_on, sig_off, sig_block, sig_unblock
3131
from memory_allocator cimport MemoryAllocator
3232

3333
from sage.rings.real_double import RDF
@@ -417,6 +417,7 @@ def numerical_integral(func, a, b=None,
417417

418418

419419
cdef double c_monte_carlo_f(double *t, size_t dim, void *params) noexcept:
420+
sig_block()
420421
cdef double value
421422
cdef PyFunctionWrapper wrapper
422423
wrapper = <PyFunctionWrapper> params
@@ -431,14 +432,17 @@ cdef double c_monte_carlo_f(double *t, size_t dim, void *params) noexcept:
431432
value = wrapper.the_function(*wrapper.lx)
432433
except Exception as msg:
433434
print(msg)
434-
return 0
435+
value=0
435436

437+
sig_unblock()
436438
return value
437439

438440

439441
cdef double c_monte_carlo_ff(double *x, size_t dim, void *params) noexcept:
440442
cdef double result
443+
sig_block()
441444
(<Wrapper_rdf> params).call_c(x, &result)
445+
sig_unblock()
442446
return result
443447

444448

0 commit comments

Comments
 (0)