1
1
cimport symengine
2
2
from symengine cimport RCP, map_basic_basic, rcp_const_basic
3
+ from libcpp.vector cimport vector
4
+ from libcpp.string cimport string
5
+ from libcpp cimport bool as cppbool
3
6
4
7
cdef class Basic(object ):
5
8
cdef rcp_const_basic thisptr
@@ -22,3 +25,37 @@ cdef class DictBasicIter(object):
22
25
cdef init(self , map_basic_basic.iterator begin, map_basic_basic.iterator end)
23
26
24
27
cdef object c2py(rcp_const_basic o)
28
+
29
+ cdef class _Lambdify(object ):
30
+ cdef size_t args_size, tot_out_size
31
+ cdef list out_shapes
32
+ cdef readonly bint real
33
+ cdef readonly size_t n_exprs
34
+ cdef public str order
35
+ cdef vector[int ] accum_out_sizes
36
+ cdef object numpy_dtype
37
+
38
+ cdef _init(self , symengine.vec_basic& args_, symengine.vec_basic& outs_, cppbool cse)
39
+ cdef _load(self , const string & s)
40
+ cpdef unsafe_real(self ,
41
+ double [::1 ] inp, double [::1 ] out,
42
+ int inp_offset = * , int out_offset = * )
43
+ cpdef unsafe_complex(self , double complex [::1 ] inp, double complex [::1 ] out,
44
+ int inp_offset = * , int out_offset = * )
45
+ cpdef eval_real(self , inp, out)
46
+ cpdef eval_complex(self , inp, out)
47
+
48
+ cdef class LambdaDouble(_Lambdify):
49
+ cdef vector[symengine.LambdaRealDoubleVisitor] lambda_double
50
+ cdef vector[symengine.LambdaComplexDoubleVisitor] lambda_double_complex
51
+ cdef _init(self , symengine.vec_basic& args_, symengine.vec_basic& outs_, cppbool cse)
52
+ cpdef unsafe_real(self , double [::1 ] inp, double [::1 ] out, int inp_offset = * , int out_offset = * )
53
+ cpdef unsafe_complex(self , double complex [::1 ] inp, double complex [::1 ] out, int inp_offset = * , int out_offset = * )
54
+ cpdef as_scipy_low_level_callable(self )
55
+
56
+ cdef class LLVMDouble(_Lambdify):
57
+ cdef vector[symengine.LLVMDoubleVisitor] lambda_double
58
+ cdef _init(self , symengine.vec_basic& args_, symengine.vec_basic& outs_, cppbool cse)
59
+ cdef _load(self , const string & s)
60
+ cpdef unsafe_real(self , double [::1 ] inp, double [::1 ] out, int inp_offset = * , int out_offset = * )
61
+ cpdef as_scipy_low_level_callable(self )
0 commit comments