@@ -3,7 +3,7 @@ cimport symengine
3
3
from symengine cimport (RCP, pair, map_basic_basic, umap_int_basic,
4
4
umap_int_basic_iterator, umap_basic_num, umap_basic_num_iterator,
5
5
rcp_const_basic, std_pair_short_rcp_const_basic,
6
- rcp_const_seriescoeffinterface)
6
+ rcp_const_seriescoeffinterface, CRCPBasic )
7
7
from libcpp cimport bool as cppbool
8
8
from libcpp.string cimport string
9
9
from libcpp.vector cimport vector
@@ -20,6 +20,7 @@ import warnings
20
20
from symengine.compatibility import is_sequence
21
21
import os
22
22
import sys
23
+ from cpython.pycapsule cimport PyCapsule_GetPointer
23
24
24
25
if sys.version_info[0 ] == 2 :
25
26
from collections import MutableMapping
@@ -38,6 +39,15 @@ include "config.pxi"
38
39
class SympifyError (Exception ):
39
40
pass
40
41
42
+ cpdef object capsule_to_basic(object capsule):
43
+ cdef CRCPBasic * p = < CRCPBasic* > PyCapsule_GetPointer(capsule, NULL )
44
+ return c2py(p.m)
45
+
46
+ cpdef void assign_to_capsule(object capsule, object value):
47
+ cdef CRCPBasic * p_cap = < CRCPBasic* > PyCapsule_GetPointer(capsule, NULL )
48
+ cdef Basic v = sympify(value)
49
+ p_cap.m = v.thisptr
50
+
41
51
cdef object c2py(rcp_const_basic o):
42
52
cdef Basic r
43
53
if (symengine.is_a_Add(deref(o))):
0 commit comments