sagemath/sagemath-pari.patch
2014-12-13 21:05:42 -02:00

30 lines
1.3 KiB
Diff

diff -up src/sage/libs/pari/pari_instance.pxd.orig src/sage/libs/pari/pari_instance.pxd
--- src/sage/libs/pari/pari_instance.pxd.orig 2014-11-18 15:25:03.591127791 -0200
+++ src/sage/libs/pari/pari_instance.pxd 2014-11-18 15:25:18.999127995 -0200
@@ -6,6 +6,10 @@ cimport cython
from sage.libs.pari.gen cimport gen
+cdef extern from "gmp.h":
+ cdef void mp_get_memory_functions(void**, void**, void**)
+ cdef void mp_set_memory_functions(void*, void*, void*)
+
cpdef long prec_bits_to_words(unsigned long prec_in_bits)
@cython.final
diff -up src/sage/libs/pari/pari_instance.pyx.orig src/sage/libs/pari/pari_instance.pyx
--- src/sage/libs/pari/pari_instance.pyx.orig 2014-11-18 15:25:16.287127959 -0200
+++ src/sage/libs/pari/pari_instance.pyx 2014-11-18 15:25:19.000127995 -0200
@@ -437,7 +437,12 @@ cdef class PariInstance(sage.structure.p
# The size here doesn't really matter, because we will allocate
# our own stack anyway. We ask PARI not to set up signal and
# error handlers.
+ cdef void *_gmp_malloc
+ cdef void *_gmp_realloc
+ cdef void *_gmp_free
+ mp_get_memory_functions(&_gmp_malloc, &_gmp_realloc, &_gmp_free)
pari_init_opts(10000, maxprime, INIT_DFTm)
+ mp_set_memory_functions(_gmp_malloc, _gmp_realloc, _gmp_free)
_pari_init_error_handling()