symengine 0.10.0__cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.13.0__cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. symengine/lib/symengine.pxd +243 -416
  2. symengine/lib/symengine_wrapper.cpython-311-aarch64-linux-gnu.so +0 -0
  3. symengine/lib/symengine_wrapper.pxd +20 -28
  4. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/__init__.py +4 -3
  5. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_arit.py +18 -1
  6. symengine-0.13.0.data/purelib/symengine/tests/test_expr.py +28 -0
  7. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_functions.py +13 -0
  8. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_logic.py +4 -1
  9. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_matrices.py +3 -1
  10. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_subs.py +7 -1
  11. {symengine-0.10.0.dist-info → symengine-0.13.0.dist-info}/AUTHORS +1 -0
  12. {symengine-0.10.0.dist-info → symengine-0.13.0.dist-info}/METADATA +4 -3
  13. symengine-0.13.0.dist-info/RECORD +46 -0
  14. {symengine-0.10.0.dist-info → symengine-0.13.0.dist-info}/WHEEL +1 -1
  15. symengine.libs/{libflint-f9e4fb7b.so.15.0.1 → libflint-48f8c37e.so.18.0.1} +0 -0
  16. symengine.libs/libgmp-1d994dcc.so.10.5.0 +0 -0
  17. symengine.libs/{libmpc-d8240da1.so.3.3.1 → libmpc-d4d50aad.so.3.3.1} +0 -0
  18. symengine.libs/libmpfr-4b228e8b.so.6.2.1 +0 -0
  19. symengine.libs/libzstd-d41beadd.so.1.5.6 +0 -0
  20. symengine/lib/config.pxi +0 -6
  21. symengine-0.10.0.data/purelib/symengine/tests/test_expr.py +0 -14
  22. symengine-0.10.0.dist-info/RECORD +0 -47
  23. symengine.libs/libgmp-a245c687.so.10.4.1 +0 -0
  24. symengine.libs/libmpfr-68beebbb.so.6.2.0 +0 -0
  25. symengine.libs/libzstd-c68070bd.so.1.5.2 +0 -0
  26. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/functions.py +0 -0
  27. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/lib/__init__.py +0 -0
  28. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/printing.py +0 -0
  29. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/sympy_compat.py +0 -0
  30. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/test_utilities.py +0 -0
  31. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/__init__.py +0 -0
  32. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_cse.py +0 -0
  33. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_dict_basic.py +0 -0
  34. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_eval.py +0 -0
  35. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_lambdify.py +0 -0
  36. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_ntheory.py +0 -0
  37. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_number.py +0 -0
  38. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_pickling.py +0 -0
  39. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_printing.py +0 -0
  40. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_sage.py +0 -0
  41. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_series_expansion.py +0 -0
  42. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_sets.py +0 -0
  43. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_solve.py +0 -0
  44. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_symbol.py +0 -0
  45. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_sympify.py +0 -0
  46. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_sympy_compat.py +0 -0
  47. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_sympy_conv.py +0 -0
  48. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/tests/test_var.py +0 -0
  49. {symengine-0.10.0.data → symengine-0.13.0.data}/purelib/symengine/utilities.py +0 -0
  50. {symengine-0.10.0.dist-info → symengine-0.13.0.dist-info}/LICENSE +0 -0
  51. {symengine-0.10.0.dist-info → symengine-0.13.0.dist-info}/top_level.txt +0 -0
@@ -4,8 +4,21 @@ from libcpp.map cimport map
4
4
  from libcpp.vector cimport vector
5
5
  from cpython.ref cimport PyObject
6
6
  from libcpp.pair cimport pair
7
+ from libcpp.set cimport set
8
+ from libcpp.unordered_map cimport unordered_map
7
9
 
8
- include "config.pxi"
10
+ cdef extern from "<set>" namespace "std":
11
+ # Cython's libcpp.set does not support multiset in 0.29.x
12
+ cdef cppclass multiset[T]:
13
+ cppclass iterator:
14
+ T& operator*()
15
+ iterator operator++() nogil
16
+ iterator operator--() nogil
17
+ bint operator==(iterator) nogil
18
+ bint operator!=(iterator) nogil
19
+ iterator begin() nogil
20
+ iterator end() nogil
21
+ iterator insert(T&) nogil
9
22
 
10
23
  cdef extern from 'symengine/mp_class.h' namespace "SymEngine":
11
24
  ctypedef unsigned long mp_limb_t
@@ -31,94 +44,6 @@ cdef extern from 'symengine/mp_class.h' namespace "SymEngine":
31
44
  rational_class(mpq_t)
32
45
  const mpq_t get_mpq_t(const rational_class &a)
33
46
 
34
- cdef extern from "<set>" namespace "std":
35
- # Cython's libcpp.set does not support two template arguments to set.
36
- # Methods to declare and iterate a set with a custom compare are given here
37
- cdef cppclass set[T, U]:
38
- cppclass iterator:
39
- T& operator*()
40
- iterator operator++() nogil
41
- iterator operator--() nogil
42
- bint operator==(iterator) nogil
43
- bint operator!=(iterator) nogil
44
- iterator begin() nogil
45
- iterator end() nogil
46
- iterator insert(T&) nogil
47
-
48
- cdef cppclass multiset[T, U]:
49
- cppclass iterator:
50
- T& operator*()
51
- iterator operator++() nogil
52
- iterator operator--() nogil
53
- bint operator==(iterator) nogil
54
- bint operator!=(iterator) nogil
55
- iterator begin() nogil
56
- iterator end() nogil
57
- iterator insert(T&) nogil
58
-
59
- cdef extern from "<unordered_map>" namespace "std" nogil:
60
- cdef cppclass unordered_map[T, U]:
61
- cppclass iterator:
62
- pair[T, U]& operator*()
63
- iterator operator++()
64
- iterator operator--()
65
- bint operator==(iterator)
66
- bint operator!=(iterator)
67
- cppclass reverse_iterator:
68
- pair[T, U]& operator*()
69
- iterator operator++()
70
- iterator operator--()
71
- bint operator==(reverse_iterator)
72
- bint operator!=(reverse_iterator)
73
- cppclass const_iterator(iterator):
74
- pass
75
- cppclass const_reverse_iterator(reverse_iterator):
76
- pass
77
- unordered_map() except +
78
- unordered_map(unordered_map&) except +
79
- #unordered_map(key_compare&)
80
- U& operator[](T&)
81
- #unordered_map& operator=(unordered_map&)
82
- bint operator==(unordered_map&, unordered_map&)
83
- bint operator!=(unordered_map&, unordered_map&)
84
- bint operator<(unordered_map&, unordered_map&)
85
- bint operator>(unordered_map&, unordered_map&)
86
- bint operator<=(unordered_map&, unordered_map&)
87
- bint operator>=(unordered_map&, unordered_map&)
88
- U& at(T&)
89
- iterator begin()
90
- const_iterator const_begin "begin"()
91
- void clear()
92
- size_t count(T&)
93
- bint empty()
94
- iterator end()
95
- const_iterator const_end "end"()
96
- pair[iterator, iterator] equal_range(T&)
97
- #pair[const_iterator, const_iterator] equal_range(key_type&)
98
- void erase(iterator)
99
- void erase(iterator, iterator)
100
- size_t erase(T&)
101
- iterator find(T&)
102
- const_iterator const_find "find"(T&)
103
- pair[iterator, bint] insert(pair[T, U]) # XXX pair[T,U]&
104
- iterator insert(iterator, pair[T, U]) # XXX pair[T,U]&
105
- #void insert(input_iterator, input_iterator)
106
- #key_compare key_comp()
107
- iterator lower_bound(T&)
108
- const_iterator const_lower_bound "lower_bound"(T&)
109
- size_t max_size()
110
- reverse_iterator rbegin()
111
- const_reverse_iterator const_rbegin "rbegin"()
112
- reverse_iterator rend()
113
- const_reverse_iterator const_rend "rend"()
114
- size_t size()
115
- void swap(unordered_map&)
116
- iterator upper_bound(T&)
117
- const_iterator const_upper_bound "upper_bound"(T&)
118
- #value_compare value_comp()
119
- void max_load_factor(float)
120
- float max_load_factor()
121
-
122
47
  cdef extern from "<symengine/symengine_rcp.h>" namespace "SymEngine":
123
48
  cdef enum ENull:
124
49
  null
@@ -126,17 +51,22 @@ cdef extern from "<symengine/symengine_rcp.h>" namespace "SymEngine":
126
51
  cdef cppclass RCP[T]:
127
52
  T& operator*() nogil
128
53
  # Not yet supported in Cython:
129
- # RCP[T]& operator=(RCP[T] &r_ptr) nogil except +
130
- void reset() nogil except +
54
+ # RCP[T]& operator=(RCP[T] &r_ptr) except+ nogil
55
+ void reset() except+ nogil
131
56
 
132
57
  cdef cppclass Ptr[T]:
133
- T& operator*() nogil except +
58
+ T& operator*() except+ nogil
134
59
 
135
60
  void print_stack_on_segfault() nogil
136
61
 
137
62
  cdef extern from "<symengine/basic.h>" namespace "SymEngine":
138
63
  ctypedef Basic const_Basic "const SymEngine::Basic"
139
- ctypedef RCP[const Basic] rcp_const_basic "SymEngine::RCP<const SymEngine::Basic>"
64
+ # RCP[const_Basic] instead of RCP[const Basic] is because of https://github.com/cython/cython/issues/5478
65
+ ctypedef RCP[const_Basic] rcp_const_basic "SymEngine::RCP<const SymEngine::Basic>"
66
+ #cdef cppclass rcp_const_basic "SymEngine::RCP<const SymEngine::Basic>":
67
+ # Basic& operator*() nogil
68
+ # void reset() except+ nogil
69
+ # pass
140
70
  # Cython has broken support for the following:
141
71
  # ctypedef map[rcp_const_basic, rcp_const_basic] map_basic_basic
142
72
  # So instead we replicate the map features we need here
@@ -178,11 +108,12 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
178
108
  ctypedef map[RCP[Integer], unsigned] map_integer_uint "SymEngine::map_integer_uint"
179
109
  cdef struct RCPIntegerKeyLess
180
110
  cdef struct RCPBasicKeyLess
181
- ctypedef set[rcp_const_basic, RCPBasicKeyLess] set_basic "SymEngine::set_basic"
182
- ctypedef multiset[rcp_const_basic, RCPBasicKeyLess] multiset_basic "SymEngine::multiset_basic"
111
+ ctypedef set[rcp_const_basic] set_basic "SymEngine::set_basic"
112
+ ctypedef multiset[rcp_const_basic] multiset_basic "SymEngine::multiset_basic"
113
+
183
114
  cdef cppclass Basic:
184
- string __str__() nogil except +
185
- unsigned int hash() nogil except +
115
+ string __str__() except+ nogil
116
+ unsigned int hash() except+ nogil
186
117
  vec_basic get_args() nogil
187
118
  int __cmp__(const Basic &o) nogil
188
119
 
@@ -193,11 +124,11 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
193
124
  ctypedef unordered_map[rcp_const_basic, rcp_const_number].iterator umap_basic_num_iterator "SymEngine::umap_basic_num::iterator"
194
125
  ctypedef vector[pair[rcp_const_basic, rcp_const_basic]] vec_pair "SymEngine::vec_pair"
195
126
 
196
- bool eq(const Basic &a, const Basic &b) nogil except +
197
- bool neq(const Basic &a, const Basic &b) nogil except +
127
+ bool eq(const Basic &a, const Basic &b) except+ nogil
128
+ bool neq(const Basic &a, const Basic &b) except+ nogil
198
129
 
199
130
  RCP[const Symbol] rcp_static_cast_Symbol "SymEngine::rcp_static_cast<const SymEngine::Symbol>"(rcp_const_basic &b) nogil
200
- RCP[const PySymbol] rcp_static_cast_PySymbol "SymEngine::rcp_static_cast<const SymEngine::PySymbol>"(rcp_const_basic &b) nogil except +
131
+ RCP[const PySymbol] rcp_static_cast_PySymbol "SymEngine::rcp_static_cast<const SymEngine::PySymbol>"(rcp_const_basic &b) except+ nogil
201
132
  RCP[const Integer] rcp_static_cast_Integer "SymEngine::rcp_static_cast<const SymEngine::Integer>"(rcp_const_basic &b) nogil
202
133
  RCP[const Rational] rcp_static_cast_Rational "SymEngine::rcp_static_cast<const SymEngine::Rational>"(rcp_const_basic &b) nogil
203
134
  RCP[const Complex] rcp_static_cast_Complex "SymEngine::rcp_static_cast<const SymEngine::Complex>"(rcp_const_basic &b) nogil
@@ -229,108 +160,20 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
229
160
  Ptr[RCP[Basic]] outArg(rcp_const_basic &arg) nogil
230
161
  Ptr[RCP[Integer]] outArg_Integer "SymEngine::outArg<SymEngine::RCP<const SymEngine::Integer>>"(RCP[const Integer] &arg) nogil
231
162
 
232
- bool is_a_Add "SymEngine::is_a<SymEngine::Add>"(const Basic &b) nogil
233
- bool is_a_Mul "SymEngine::is_a<SymEngine::Mul>"(const Basic &b) nogil
234
- bool is_a_Pow "SymEngine::is_a<SymEngine::Pow>"(const Basic &b) nogil
235
- bool is_a_Integer "SymEngine::is_a<SymEngine::Integer>"(const Basic &b) nogil
236
- bool is_a_Rational "SymEngine::is_a<SymEngine::Rational>"(const Basic &b) nogil
237
- bool is_a_Complex "SymEngine::is_a<SymEngine::Complex>"(const Basic &b) nogil
238
- bool is_a_Symbol "SymEngine::is_a<SymEngine::Symbol>"(const Basic &b) nogil
239
- bool is_a_Dummy "SymEngine::is_a<SymEngine::Dummy>"(const Basic &b) nogil
240
- bool is_a_Constant "SymEngine::is_a<SymEngine::Constant>"(const Basic &b) nogil
241
- bool is_a_Infty "SymEngine::is_a<SymEngine::Infty>"(const Basic &b) nogil
242
- bool is_a_NaN "SymEngine::is_a<SymEngine::NaN>"(const Basic &b) nogil
243
- bool is_a_Sin "SymEngine::is_a<SymEngine::Sin>"(const Basic &b) nogil
244
- bool is_a_Cos "SymEngine::is_a<SymEngine::Cos>"(const Basic &b) nogil
245
- bool is_a_Tan "SymEngine::is_a<SymEngine::Tan>"(const Basic &b) nogil
246
- bool is_a_Cot "SymEngine::is_a<SymEngine::Cot>"(const Basic &b) nogil
247
- bool is_a_Csc "SymEngine::is_a<SymEngine::Csc>"(const Basic &b) nogil
248
- bool is_a_Sec "SymEngine::is_a<SymEngine::Sec>"(const Basic &b) nogil
249
- bool is_a_ASin "SymEngine::is_a<SymEngine::ASin>"(const Basic &b) nogil
250
- bool is_a_ACos "SymEngine::is_a<SymEngine::ACos>"(const Basic &b) nogil
251
- bool is_a_ATan "SymEngine::is_a<SymEngine::ATan>"(const Basic &b) nogil
252
- bool is_a_ACot "SymEngine::is_a<SymEngine::ACot>"(const Basic &b) nogil
253
- bool is_a_ACsc "SymEngine::is_a<SymEngine::ACsc>"(const Basic &b) nogil
254
- bool is_a_ASec "SymEngine::is_a<SymEngine::ASec>"(const Basic &b) nogil
255
- bool is_a_Sinh "SymEngine::is_a<SymEngine::Sinh>"(const Basic &b) nogil
256
- bool is_a_Cosh "SymEngine::is_a<SymEngine::Cosh>"(const Basic &b) nogil
257
- bool is_a_Tanh "SymEngine::is_a<SymEngine::Tanh>"(const Basic &b) nogil
258
- bool is_a_Coth "SymEngine::is_a<SymEngine::Coth>"(const Basic &b) nogil
259
- bool is_a_Csch "SymEngine::is_a<SymEngine::Csch>"(const Basic &b) nogil
260
- bool is_a_Sech "SymEngine::is_a<SymEngine::Sech>"(const Basic &b) nogil
261
- bool is_a_ASinh "SymEngine::is_a<SymEngine::ASinh>"(const Basic &b) nogil
262
- bool is_a_ACosh "SymEngine::is_a<SymEngine::ACosh>"(const Basic &b) nogil
263
- bool is_a_ATanh "SymEngine::is_a<SymEngine::ATanh>"(const Basic &b) nogil
264
- bool is_a_ACoth "SymEngine::is_a<SymEngine::ACoth>"(const Basic &b) nogil
265
- bool is_a_ACsch "SymEngine::is_a<SymEngine::ACsch>"(const Basic &b) nogil
266
- bool is_a_ASech "SymEngine::is_a<SymEngine::ASech>"(const Basic &b) nogil
267
- bool is_a_FunctionSymbol "SymEngine::is_a<SymEngine::FunctionSymbol>"(const Basic &b) nogil
268
- bool is_a_Abs "SymEngine::is_a<SymEngine::Abs>"(const Basic &b) nogil
269
- bool is_a_Max "SymEngine::is_a<SymEngine::Max>"(const Basic &b) nogil
270
- bool is_a_Min "SymEngine::is_a<SymEngine::Min>"(const Basic &b) nogil
271
- bool is_a_Gamma "SymEngine::is_a<SymEngine::Gamma>"(const Basic &b) nogil
272
- bool is_a_Derivative "SymEngine::is_a<SymEngine::Derivative>"(const Basic &b) nogil
273
- bool is_a_Subs "SymEngine::is_a<SymEngine::Subs>"(const Basic &b) nogil
274
- bool is_a_PyFunction "SymEngine::is_a<SymEngine::FunctionWrapper>"(const Basic &b) nogil
275
- bool is_a_RealDouble "SymEngine::is_a<SymEngine::RealDouble>"(const Basic &b) nogil
276
- bool is_a_ComplexDouble "SymEngine::is_a<SymEngine::ComplexDouble>"(const Basic &b) nogil
277
- bool is_a_RealMPFR "SymEngine::is_a<SymEngine::RealMPFR>"(const Basic &b) nogil
278
- bool is_a_ComplexMPC "SymEngine::is_a<SymEngine::ComplexMPC>"(const Basic &b) nogil
279
- bool is_a_Log "SymEngine::is_a<SymEngine::Log>"(const Basic &b) nogil
280
- bool is_a_BooleanAtom "SymEngine::is_a<SymEngine::BooleanAtom>"(const Basic &b) nogil
281
- bool is_a_Equality "SymEngine::is_a<SymEngine::Equality>"(const Basic &b) nogil
282
- bool is_a_Unequality "SymEngine::is_a<SymEngine::Unequality>"(const Basic &b) nogil
283
- bool is_a_LessThan "SymEngine::is_a<SymEngine::LessThan>"(const Basic &b) nogil
284
- bool is_a_StrictLessThan "SymEngine::is_a<SymEngine::StrictLessThan>"(const Basic &b) nogil
285
- bool is_a_PyNumber "SymEngine::is_a<SymEngine::PyNumber>"(const Basic &b) nogil
286
- bool is_a_ATan2 "SymEngine::is_a<SymEngine::ATan2>"(const Basic &b) nogil
287
- bool is_a_LambertW "SymEngine::is_a<SymEngine::LambertW>"(const Basic &b) nogil
288
- bool is_a_Zeta "SymEngine::is_a<SymEngine::Zeta>"(const Basic &b) nogil
289
- bool is_a_DirichletEta "SymEngine::is_a<SymEngine::Dirichlet_eta>"(const Basic &b) nogil
290
- bool is_a_KroneckerDelta "SymEngine::is_a<SymEngine::KroneckerDelta>"(const Basic &b) nogil
291
- bool is_a_LeviCivita "SymEngine::is_a<SymEngine::LeviCivita>"(const Basic &b) nogil
292
- bool is_a_Erf "SymEngine::is_a<SymEngine::Erf>"(const Basic &b) nogil
293
- bool is_a_Erfc "SymEngine::is_a<SymEngine::Erfc>"(const Basic &b) nogil
294
- bool is_a_LowerGamma "SymEngine::is_a<SymEngine::LowerGamma>"(const Basic &b) nogil
295
- bool is_a_UpperGamma "SymEngine::is_a<SymEngine::UpperGamma>"(const Basic &b) nogil
296
- bool is_a_LogGamma "SymEngine::is_a<SymEngine::LogGamma>"(const Basic &b) nogil
297
- bool is_a_Beta "SymEngine::is_a<SymEngine::Beta>"(const Basic &b) nogil
298
- bool is_a_PolyGamma "SymEngine::is_a<SymEngine::PolyGamma>"(const Basic &b) nogil
299
- bool is_a_PySymbol "SymEngine::is_a_sub<SymEngine::PySymbol>"(const Basic &b) nogil
300
- bool is_a_Sign "SymEngine::is_a<SymEngine::Sign>"(const Basic &b) nogil
301
- bool is_a_Floor "SymEngine::is_a<SymEngine::Floor>"(const Basic &b) nogil
302
- bool is_a_Ceiling "SymEngine::is_a<SymEngine::Ceiling>"(const Basic &b) nogil
303
- bool is_a_Conjugate "SymEngine::is_a<SymEngine::Conjugate>"(const Basic &b) nogil
304
- bool is_a_Interval "SymEngine::is_a<SymEngine::Interval>"(const Basic &b) nogil
305
- bool is_a_EmptySet "SymEngine::is_a<SymEngine::EmptySet>"(const Basic &b) nogil
306
- bool is_a_Reals "SymEngine::is_a<SymEngine::Reals>"(const Basic &b) nogil
307
- bool is_a_Rationals "SymEngine::is_a<SymEngine::Rationals>"(const Basic &b) nogil
308
- bool is_a_Integers "SymEngine::is_a<SymEngine::Integers>"(const Basic &b) nogil
309
- bool is_a_UniversalSet "SymEngine::is_a<SymEngine::UniversalSet>"(const Basic &b) nogil
310
- bool is_a_FiniteSet "SymEngine::is_a<SymEngine::FiniteSet>"(const Basic &b) nogil
311
- bool is_a_Union "SymEngine::is_a<SymEngine::Union>"(const Basic &b) nogil
312
- bool is_a_Complement "SymEngine::is_a<SymEngine::Complement>"(const Basic &b) nogil
313
- bool is_a_ConditionSet "SymEngine::is_a<SymEngine::ConditionSet>"(const Basic &b) nogil
314
- bool is_a_ImageSet "SymEngine::is_a<SymEngine::ImageSet>"(const Basic &b) nogil
315
- bool is_a_UnevaluatedExpr "SymEngine::is_a<SymEngine::UnevaluatedExpr>"(const Basic &b) nogil
316
- bool is_a_Piecewise "SymEngine::is_a<SymEngine::Piecewise>"(const Basic &b) nogil
317
- bool is_a_Contains "SymEngine::is_a<SymEngine::Contains>"(const Basic &b) nogil
318
- bool is_a_And "SymEngine::is_a<SymEngine::And>"(const Basic &b) nogil
319
- bool is_a_Not "SymEngine::is_a<SymEngine::Not>"(const Basic &b) nogil
320
- bool is_a_Or "SymEngine::is_a<SymEngine::Or>"(const Basic &b) nogil
321
- bool is_a_Xor "SymEngine::is_a<SymEngine::Xor>"(const Basic &b) nogil
322
- rcp_const_basic expand(rcp_const_basic &o, bool deep) nogil except +
163
+ bool is_a[T] (const Basic &b) nogil
164
+ bool is_a_sub[T] (const Basic &b) nogil
165
+ rcp_const_basic expand(rcp_const_basic &o, bool deep) except+ nogil
323
166
  void as_numer_denom(rcp_const_basic &x, const Ptr[RCP[Basic]] &numer, const Ptr[RCP[Basic]] &denom) nogil
324
167
  void as_real_imag(rcp_const_basic &x, const Ptr[RCP[Basic]] &real, const Ptr[RCP[Basic]] &imag) nogil
325
- void cse(vec_pair &replacements, vec_basic &reduced_exprs, const vec_basic &exprs) nogil except +
168
+ void cse(vec_pair &replacements, vec_basic &reduced_exprs, const vec_basic &exprs) except+ nogil
326
169
 
327
170
  cdef extern from "<symengine/subs.h>" namespace "SymEngine":
328
- rcp_const_basic msubs (rcp_const_basic &x, const map_basic_basic &x) nogil
329
- rcp_const_basic ssubs (rcp_const_basic &x, const map_basic_basic &x) nogil
330
- rcp_const_basic xreplace (rcp_const_basic &x, const map_basic_basic &x) nogil
171
+ rcp_const_basic msubs (rcp_const_basic &x, const map_basic_basic &x) except+ nogil
172
+ rcp_const_basic ssubs (rcp_const_basic &x, const map_basic_basic &x) except+ nogil
173
+ rcp_const_basic xreplace (rcp_const_basic &x, const map_basic_basic &x) except+ nogil
331
174
 
332
175
  cdef extern from "<symengine/derivative.h>" namespace "SymEngine":
333
- rcp_const_basic diff "SymEngine::sdiff"(rcp_const_basic &arg, rcp_const_basic &x) nogil except +
176
+ rcp_const_basic diff "SymEngine::sdiff"(rcp_const_basic &arg, rcp_const_basic &x) except+ nogil
334
177
 
335
178
  cdef extern from "<symengine/symbol.h>" namespace "SymEngine":
336
179
  cdef cppclass Symbol(Basic):
@@ -372,8 +215,8 @@ cdef extern from "pywrapper.h" namespace "SymEngine":
372
215
  PySymbol(string name, PyObject* pyobj, bool use_pickle) except +
373
216
  PyObject* get_py_object() except +
374
217
 
375
- string wrapper_dumps(const Basic &x) nogil except +
376
- rcp_const_basic wrapper_loads(const string &s) nogil except +
218
+ string wrapper_dumps(const Basic &x) except+ nogil
219
+ rcp_const_basic wrapper_loads(const string &s) except+ nogil
377
220
 
378
221
  cdef extern from "<symengine/integer.h>" namespace "SymEngine":
379
222
  cdef cppclass Integer(Number):
@@ -443,9 +286,9 @@ cdef extern from "<symengine/nan.h>" namespace "SymEngine":
443
286
  pass
444
287
 
445
288
  cdef extern from "<symengine/add.h>" namespace "SymEngine":
446
- cdef rcp_const_basic add(rcp_const_basic &a, rcp_const_basic &b) nogil except+
447
- cdef rcp_const_basic sub(rcp_const_basic &a, rcp_const_basic &b) nogil except+
448
- cdef rcp_const_basic add(const vec_basic &a) nogil except+
289
+ cdef rcp_const_basic add(rcp_const_basic &a, rcp_const_basic &b) except+ nogil
290
+ cdef rcp_const_basic sub(rcp_const_basic &a, rcp_const_basic &b) except+ nogil
291
+ cdef rcp_const_basic add(const vec_basic &a) except+ nogil
449
292
 
450
293
  cdef cppclass Add(Basic):
451
294
  void as_two_terms(const Ptr[RCP[Basic]] &a, const Ptr[RCP[Basic]] &b)
@@ -453,21 +296,21 @@ cdef extern from "<symengine/add.h>" namespace "SymEngine":
453
296
  const umap_basic_num &get_dict()
454
297
 
455
298
  cdef extern from "<symengine/mul.h>" namespace "SymEngine":
456
- cdef rcp_const_basic mul(rcp_const_basic &a, rcp_const_basic &b) nogil except+
457
- cdef rcp_const_basic div(rcp_const_basic &a, rcp_const_basic &b) nogil except+
458
- cdef rcp_const_basic neg(rcp_const_basic &a) nogil except+
459
- cdef rcp_const_basic mul(const vec_basic &a) nogil except+
299
+ cdef rcp_const_basic mul(rcp_const_basic &a, rcp_const_basic &b) except+ nogil
300
+ cdef rcp_const_basic div(rcp_const_basic &a, rcp_const_basic &b) except+ nogil
301
+ cdef rcp_const_basic neg(rcp_const_basic &a) except+ nogil
302
+ cdef rcp_const_basic mul(const vec_basic &a) except+ nogil
460
303
 
461
304
  cdef cppclass Mul(Basic):
462
305
  void as_two_terms(const Ptr[RCP[Basic]] &a, const Ptr[RCP[Basic]] &b)
463
306
  RCP[const Number] get_coef()
464
307
  const map_basic_basic &get_dict()
465
- cdef RCP[const Mul] mul_from_dict "SymEngine::Mul::from_dict"(RCP[const Number] coef, map_basic_basic &&d) nogil
308
+ cdef RCP[const Mul] mul_from_dict "SymEngine::Mul::from_dict"(RCP[const Number] coef, map_basic_basic &d) nogil
466
309
 
467
310
  cdef extern from "<symengine/pow.h>" namespace "SymEngine":
468
- cdef rcp_const_basic pow(rcp_const_basic &a, rcp_const_basic &b) nogil except+
469
- cdef rcp_const_basic sqrt(rcp_const_basic &x) nogil except+
470
- cdef rcp_const_basic exp(rcp_const_basic &x) nogil except+
311
+ cdef rcp_const_basic pow(rcp_const_basic &a, rcp_const_basic &b) except+ nogil
312
+ cdef rcp_const_basic sqrt(rcp_const_basic &x) except+ nogil
313
+ cdef rcp_const_basic exp(rcp_const_basic &x) except+ nogil
471
314
 
472
315
  cdef cppclass Pow(Basic):
473
316
  rcp_const_basic get_base() nogil
@@ -491,9 +334,9 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
491
334
  void (*dec_ref)(void *), int (*comp)(void *, void *)) nogil
492
335
  rcp_const_basic make_rcp_RealDouble "SymEngine::make_rcp<const SymEngine::RealDouble>"(double x) nogil
493
336
  rcp_const_basic make_rcp_ComplexDouble "SymEngine::make_rcp<const SymEngine::ComplexDouble>"(double complex x) nogil
494
- RCP[const PyModule] make_rcp_PyModule "SymEngine::make_rcp<const SymEngine::PyModule>"(PyObject* (*) (rcp_const_basic x), \
495
- rcp_const_basic (*)(PyObject*), RCP[const Number] (*)(PyObject*, long bits),
496
- rcp_const_basic (*)(PyObject*, rcp_const_basic)) nogil
337
+ RCP[const PyModule] make_rcp_PyModule "SymEngine::make_rcp<const SymEngine::PyModule>"(PyObject* (*) (rcp_const_basic x) except +, \
338
+ rcp_const_basic (*)(PyObject*) except +, RCP[const Number] (*)(PyObject*, long bits) except +,
339
+ rcp_const_basic (*)(PyObject*, rcp_const_basic) except +) except +
497
340
  rcp_const_basic make_rcp_PyNumber "SymEngine::make_rcp<const SymEngine::PyNumber>"(PyObject*, RCP[const PyModule] x) nogil
498
341
  RCP[const PyFunctionClass] make_rcp_PyFunctionClass "SymEngine::make_rcp<const SymEngine::PyFunctionClass>"(PyObject* pyobject,
499
342
  string name, RCP[const PyModule] pymodule) nogil
@@ -501,58 +344,58 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
501
344
  RCP[const PyFunctionClass] pyfunc_class, const PyObject* pyobject) nogil
502
345
 
503
346
  cdef extern from "<symengine/functions.h>" namespace "SymEngine":
504
- cdef rcp_const_basic sin(rcp_const_basic &arg) nogil except+
505
- cdef rcp_const_basic cos(rcp_const_basic &arg) nogil except+
506
- cdef rcp_const_basic tan(rcp_const_basic &arg) nogil except+
507
- cdef rcp_const_basic cot(rcp_const_basic &arg) nogil except+
508
- cdef rcp_const_basic csc(rcp_const_basic &arg) nogil except+
509
- cdef rcp_const_basic sec(rcp_const_basic &arg) nogil except+
510
- cdef rcp_const_basic asin(rcp_const_basic &arg) nogil except+
511
- cdef rcp_const_basic acos(rcp_const_basic &arg) nogil except+
512
- cdef rcp_const_basic atan(rcp_const_basic &arg) nogil except+
513
- cdef rcp_const_basic acot(rcp_const_basic &arg) nogil except+
514
- cdef rcp_const_basic acsc(rcp_const_basic &arg) nogil except+
515
- cdef rcp_const_basic asec(rcp_const_basic &arg) nogil except+
516
- cdef rcp_const_basic sinh(rcp_const_basic &arg) nogil except+
517
- cdef rcp_const_basic cosh(rcp_const_basic &arg) nogil except+
518
- cdef rcp_const_basic tanh(rcp_const_basic &arg) nogil except+
519
- cdef rcp_const_basic coth(rcp_const_basic &arg) nogil except+
520
- cdef rcp_const_basic csch(rcp_const_basic &arg) nogil except+
521
- cdef rcp_const_basic sech(rcp_const_basic &arg) nogil except+
522
- cdef rcp_const_basic asinh(rcp_const_basic &arg) nogil except+
523
- cdef rcp_const_basic acosh(rcp_const_basic &arg) nogil except+
524
- cdef rcp_const_basic atanh(rcp_const_basic &arg) nogil except+
525
- cdef rcp_const_basic acoth(rcp_const_basic &arg) nogil except+
526
- cdef rcp_const_basic acsch(rcp_const_basic &arg) nogil except+
527
- cdef rcp_const_basic asech(rcp_const_basic &arg) nogil except+
528
- cdef rcp_const_basic function_symbol(string name, const vec_basic &arg) nogil except+
529
- cdef rcp_const_basic abs(rcp_const_basic &arg) nogil except+
530
- cdef rcp_const_basic max(const vec_basic &arg) nogil except+
531
- cdef rcp_const_basic min(const vec_basic &arg) nogil except+
532
- cdef rcp_const_basic gamma(rcp_const_basic &arg) nogil except+
533
- cdef rcp_const_basic atan2(rcp_const_basic &num, rcp_const_basic &den) nogil except+
534
- cdef rcp_const_basic lambertw(rcp_const_basic &arg) nogil except+
535
- cdef rcp_const_basic zeta(rcp_const_basic &s) nogil except+
536
- cdef rcp_const_basic zeta(rcp_const_basic &s, rcp_const_basic &a) nogil except+
537
- cdef rcp_const_basic dirichlet_eta(rcp_const_basic &s) nogil except+
538
- cdef rcp_const_basic kronecker_delta(rcp_const_basic &i, rcp_const_basic &j) nogil except+
539
- cdef rcp_const_basic levi_civita(const vec_basic &arg) nogil except+
540
- cdef rcp_const_basic erf(rcp_const_basic &arg) nogil except+
541
- cdef rcp_const_basic erfc(rcp_const_basic &arg) nogil except+
542
- cdef rcp_const_basic lowergamma(rcp_const_basic &s, rcp_const_basic &x) nogil except+
543
- cdef rcp_const_basic uppergamma(rcp_const_basic &s, rcp_const_basic &x) nogil except+
544
- cdef rcp_const_basic loggamma(rcp_const_basic &arg) nogil except+
545
- cdef rcp_const_basic beta(rcp_const_basic &x, rcp_const_basic &y) nogil except+
546
- cdef rcp_const_basic polygamma(rcp_const_basic &n, rcp_const_basic &x) nogil except+
547
- cdef rcp_const_basic digamma(rcp_const_basic &x) nogil except+
548
- cdef rcp_const_basic trigamma(rcp_const_basic &x) nogil except+
549
- cdef rcp_const_basic sign(rcp_const_basic &x) nogil except+
550
- cdef rcp_const_basic floor(rcp_const_basic &x) nogil except+
551
- cdef rcp_const_basic ceiling(rcp_const_basic &x) nogil except+
552
- cdef rcp_const_basic conjugate(rcp_const_basic &x) nogil except+
553
- cdef rcp_const_basic log(rcp_const_basic &x) nogil except+
554
- cdef rcp_const_basic log(rcp_const_basic &x, rcp_const_basic &y) nogil except+
555
- cdef rcp_const_basic unevaluated_expr(rcp_const_basic &x) nogil except+
347
+ cdef rcp_const_basic sin(rcp_const_basic &arg) except+ nogil
348
+ cdef rcp_const_basic cos(rcp_const_basic &arg) except+ nogil
349
+ cdef rcp_const_basic tan(rcp_const_basic &arg) except+ nogil
350
+ cdef rcp_const_basic cot(rcp_const_basic &arg) except+ nogil
351
+ cdef rcp_const_basic csc(rcp_const_basic &arg) except+ nogil
352
+ cdef rcp_const_basic sec(rcp_const_basic &arg) except+ nogil
353
+ cdef rcp_const_basic asin(rcp_const_basic &arg) except+ nogil
354
+ cdef rcp_const_basic acos(rcp_const_basic &arg) except+ nogil
355
+ cdef rcp_const_basic atan(rcp_const_basic &arg) except+ nogil
356
+ cdef rcp_const_basic acot(rcp_const_basic &arg) except+ nogil
357
+ cdef rcp_const_basic acsc(rcp_const_basic &arg) except+ nogil
358
+ cdef rcp_const_basic asec(rcp_const_basic &arg) except+ nogil
359
+ cdef rcp_const_basic sinh(rcp_const_basic &arg) except+ nogil
360
+ cdef rcp_const_basic cosh(rcp_const_basic &arg) except+ nogil
361
+ cdef rcp_const_basic tanh(rcp_const_basic &arg) except+ nogil
362
+ cdef rcp_const_basic coth(rcp_const_basic &arg) except+ nogil
363
+ cdef rcp_const_basic csch(rcp_const_basic &arg) except+ nogil
364
+ cdef rcp_const_basic sech(rcp_const_basic &arg) except+ nogil
365
+ cdef rcp_const_basic asinh(rcp_const_basic &arg) except+ nogil
366
+ cdef rcp_const_basic acosh(rcp_const_basic &arg) except+ nogil
367
+ cdef rcp_const_basic atanh(rcp_const_basic &arg) except+ nogil
368
+ cdef rcp_const_basic acoth(rcp_const_basic &arg) except+ nogil
369
+ cdef rcp_const_basic acsch(rcp_const_basic &arg) except+ nogil
370
+ cdef rcp_const_basic asech(rcp_const_basic &arg) except+ nogil
371
+ cdef rcp_const_basic function_symbol(string name, const vec_basic &arg) except+ nogil
372
+ cdef rcp_const_basic abs(rcp_const_basic &arg) except+ nogil
373
+ cdef rcp_const_basic max(const vec_basic &arg) except+ nogil
374
+ cdef rcp_const_basic min(const vec_basic &arg) except+ nogil
375
+ cdef rcp_const_basic gamma(rcp_const_basic &arg) except+ nogil
376
+ cdef rcp_const_basic atan2(rcp_const_basic &num, rcp_const_basic &den) except+ nogil
377
+ cdef rcp_const_basic lambertw(rcp_const_basic &arg) except+ nogil
378
+ cdef rcp_const_basic zeta(rcp_const_basic &s) except+ nogil
379
+ cdef rcp_const_basic zeta(rcp_const_basic &s, rcp_const_basic &a) except+ nogil
380
+ cdef rcp_const_basic dirichlet_eta(rcp_const_basic &s) except+ nogil
381
+ cdef rcp_const_basic kronecker_delta(rcp_const_basic &i, rcp_const_basic &j) except+ nogil
382
+ cdef rcp_const_basic levi_civita(const vec_basic &arg) except+ nogil
383
+ cdef rcp_const_basic erf(rcp_const_basic &arg) except+ nogil
384
+ cdef rcp_const_basic erfc(rcp_const_basic &arg) except+ nogil
385
+ cdef rcp_const_basic lowergamma(rcp_const_basic &s, rcp_const_basic &x) except+ nogil
386
+ cdef rcp_const_basic uppergamma(rcp_const_basic &s, rcp_const_basic &x) except+ nogil
387
+ cdef rcp_const_basic loggamma(rcp_const_basic &arg) except+ nogil
388
+ cdef rcp_const_basic beta(rcp_const_basic &x, rcp_const_basic &y) except+ nogil
389
+ cdef rcp_const_basic polygamma(rcp_const_basic &n, rcp_const_basic &x) except+ nogil
390
+ cdef rcp_const_basic digamma(rcp_const_basic &x) except+ nogil
391
+ cdef rcp_const_basic trigamma(rcp_const_basic &x) except+ nogil
392
+ cdef rcp_const_basic sign(rcp_const_basic &x) except+ nogil
393
+ cdef rcp_const_basic floor(rcp_const_basic &x) except+ nogil
394
+ cdef rcp_const_basic ceiling(rcp_const_basic &x) except+ nogil
395
+ cdef rcp_const_basic conjugate(rcp_const_basic &x) except+ nogil
396
+ cdef rcp_const_basic log(rcp_const_basic &x) except+ nogil
397
+ cdef rcp_const_basic log(rcp_const_basic &x, rcp_const_basic &y) except+ nogil
398
+ cdef rcp_const_basic unevaluated_expr(rcp_const_basic &x) except+ nogil
556
399
 
557
400
  cdef cppclass Function(Basic):
558
401
  pass
@@ -720,71 +563,68 @@ cdef extern from "<symengine/functions.h>" namespace "SymEngine":
720
563
  cdef cppclass Conjugate(OneArgFunction):
721
564
  pass
722
565
 
566
+ cdef cppclass UnevaluatedExpr(OneArgFunction):
567
+ pass
568
+
723
569
  cdef cppclass Log(Function):
724
570
  pass
725
571
 
726
- IF HAVE_SYMENGINE_MPFR:
727
- cdef extern from "mpfr.h":
728
- ctypedef struct __mpfr_struct:
729
- pass
730
- ctypedef __mpfr_struct mpfr_t[1]
731
- ctypedef __mpfr_struct* mpfr_ptr
732
- ctypedef const __mpfr_struct* mpfr_srcptr
733
- ctypedef long mpfr_prec_t
734
- ctypedef enum mpfr_rnd_t:
735
- MPFR_RNDN
736
- MPFR_RNDZ
737
- MPFR_RNDU
738
- MPFR_RNDD
739
- MPFR_RNDA
740
- MPFR_RNDF
741
- MPFR_RNDNA
742
-
743
- cdef extern from "<symengine/real_mpfr.h>" namespace "SymEngine":
744
- cdef cppclass mpfr_class:
745
- mpfr_class() nogil
746
- mpfr_class(mpfr_prec_t prec) nogil
747
- mpfr_class(string s, mpfr_prec_t prec, unsigned base) nogil
748
- mpfr_class(mpfr_t m) nogil
749
- mpfr_ptr get_mpfr_t() nogil
750
-
751
- cdef cppclass RealMPFR(Number):
752
- RealMPFR(mpfr_class) nogil
753
- mpfr_class as_mpfr() nogil
754
- mpfr_prec_t get_prec() nogil
755
-
756
- RCP[const RealMPFR] real_mpfr(mpfr_class t) nogil
757
- ELSE:
758
- cdef extern from "<symengine/real_mpfr.h>" namespace "SymEngine":
759
- cdef cppclass RealMPFR(Number):
760
- pass
761
-
762
- IF HAVE_SYMENGINE_MPC:
763
- cdef extern from "mpc.h":
764
- ctypedef struct __mpc_struct:
765
- pass
766
- ctypedef __mpc_struct mpc_t[1]
767
- ctypedef __mpc_struct* mpc_ptr
768
- ctypedef const __mpc_struct* mpc_srcptr
769
-
770
- cdef extern from "<symengine/complex_mpc.h>" namespace "SymEngine":
771
- cdef cppclass mpc_class:
772
- mpc_class() nogil
773
- mpc_class(mpfr_prec_t prec) nogil
774
- mpc_class(mpc_t m) nogil
775
- mpc_ptr get_mpc_t() nogil
776
- mpc_class(string s, mpfr_prec_t prec, unsigned base) nogil
777
-
778
- cdef cppclass ComplexMPC(ComplexBase):
779
- ComplexMPC(mpc_class) nogil
780
- mpc_class as_mpc() nogil
781
- mpfr_prec_t get_prec() nogil
782
-
783
- RCP[const ComplexMPC] complex_mpc(mpc_class t) nogil
784
- ELSE:
785
- cdef extern from "<symengine/complex_mpc.h>" namespace "SymEngine":
786
- cdef cppclass ComplexMPC(Number):
787
- pass
572
+ cdef extern from "<symengine/real_mpfr.h>":
573
+ # These come from mpfr.h, but don't include mpfr.h to not break
574
+ # builds without mpfr
575
+ ctypedef struct __mpfr_struct:
576
+ pass
577
+ ctypedef __mpfr_struct mpfr_t[1]
578
+ ctypedef __mpfr_struct* mpfr_ptr
579
+ ctypedef const __mpfr_struct* mpfr_srcptr
580
+ ctypedef long mpfr_prec_t
581
+ ctypedef enum mpfr_rnd_t:
582
+ MPFR_RNDN
583
+ MPFR_RNDZ
584
+ MPFR_RNDU
585
+ MPFR_RNDD
586
+ MPFR_RNDA
587
+ MPFR_RNDF
588
+ MPFR_RNDNA
589
+
590
+ cdef extern from "<symengine/real_mpfr.h>" namespace "SymEngine":
591
+ cdef cppclass mpfr_class:
592
+ mpfr_class() nogil
593
+ mpfr_class(mpfr_prec_t prec) nogil
594
+ mpfr_class(string s, mpfr_prec_t prec, unsigned base) nogil
595
+ mpfr_class(mpfr_t m) nogil
596
+ mpfr_ptr get_mpfr_t() nogil
597
+
598
+ cdef cppclass RealMPFR(Number):
599
+ RealMPFR(mpfr_class) nogil
600
+ mpfr_class as_mpfr() nogil
601
+ mpfr_prec_t get_prec() nogil
602
+
603
+ RCP[const RealMPFR] real_mpfr(mpfr_class t) nogil
604
+
605
+ cdef extern from "<symengine/complex_mpc.h>":
606
+ # These come from mpc.h, but don't include mpc.h to not break
607
+ # builds without mpc
608
+ ctypedef struct __mpc_struct:
609
+ pass
610
+ ctypedef __mpc_struct mpc_t[1]
611
+ ctypedef __mpc_struct* mpc_ptr
612
+ ctypedef const __mpc_struct* mpc_srcptr
613
+
614
+ cdef extern from "<symengine/complex_mpc.h>" namespace "SymEngine":
615
+ cdef cppclass mpc_class:
616
+ mpc_class() nogil
617
+ mpc_class(mpfr_prec_t prec) nogil
618
+ mpc_class(mpc_t m) nogil
619
+ mpc_ptr get_mpc_t() nogil
620
+ mpc_class(string s, mpfr_prec_t prec, unsigned base) nogil
621
+
622
+ cdef cppclass ComplexMPC(ComplexBase):
623
+ ComplexMPC(mpc_class) nogil
624
+ mpc_class as_mpc() nogil
625
+ mpfr_prec_t get_prec() nogil
626
+
627
+ RCP[const ComplexMPC] complex_mpc(mpc_class t) nogil
788
628
 
789
629
  cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
790
630
  cdef cppclass MatrixBase:
@@ -792,7 +632,7 @@ cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
792
632
  const unsigned ncols() nogil
793
633
  rcp_const_basic get(unsigned i, unsigned j) nogil
794
634
  rcp_const_basic set(unsigned i, unsigned j, rcp_const_basic e) nogil
795
- string __str__() nogil except+
635
+ string __str__() except+ nogil
796
636
  bool eq(const MatrixBase &) nogil
797
637
  rcp_const_basic det() nogil
798
638
  void inv(MatrixBase &)
@@ -839,23 +679,22 @@ cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
839
679
  tribool is_positive_definite() nogil
840
680
  tribool is_negative_definite() nogil
841
681
 
842
- bool is_a_DenseMatrix "SymEngine::is_a<SymEngine::DenseMatrix>"(const MatrixBase &b) nogil
843
682
  DenseMatrix* static_cast_DenseMatrix "static_cast<SymEngine::DenseMatrix*>"(const MatrixBase *a)
844
683
  void inverse_FFLU "SymEngine::inverse_fraction_free_LU"(const DenseMatrix &A,
845
- DenseMatrix &B) nogil except +
846
- void pivoted_LU_solve (const DenseMatrix &A, const DenseMatrix &b, DenseMatrix &x) nogil except +
684
+ DenseMatrix &B) except+ nogil
685
+ void pivoted_LU_solve (const DenseMatrix &A, const DenseMatrix &b, DenseMatrix &x) except+ nogil
847
686
  void inverse_GJ "SymEngine::inverse_gauss_jordan"(const DenseMatrix &A,
848
- DenseMatrix &B) nogil except +
687
+ DenseMatrix &B) except+ nogil
849
688
  void FFLU_solve "SymEngine::fraction_free_LU_solve"(const DenseMatrix &A,
850
- const DenseMatrix &b, DenseMatrix &x) nogil except +
689
+ const DenseMatrix &b, DenseMatrix &x) except+ nogil
851
690
  void FFGJ_solve "SymEngine::fraction_free_gauss_jordan_solve"(const DenseMatrix &A,
852
- const DenseMatrix &b, DenseMatrix &x) nogil except +
691
+ const DenseMatrix &b, DenseMatrix &x) except+ nogil
853
692
  void LDL_solve "SymEngine::LDL_solve"(const DenseMatrix &A, const DenseMatrix &b,
854
- DenseMatrix &x) nogil except +
693
+ DenseMatrix &x) except+ nogil
855
694
  void jacobian "SymEngine::sjacobian"(const DenseMatrix &A,
856
- const DenseMatrix &x, DenseMatrix &result) nogil except +
695
+ const DenseMatrix &x, DenseMatrix &result) except+ nogil
857
696
  void diff "SymEngine::sdiff"(const DenseMatrix &A,
858
- rcp_const_basic &x, DenseMatrix &result) nogil except +
697
+ rcp_const_basic &x, DenseMatrix &result) except+ nogil
859
698
  void eye (DenseMatrix &A, int k) nogil
860
699
  void diag(DenseMatrix &A, vec_basic &v, int k) nogil
861
700
  void ones(DenseMatrix &A) nogil
@@ -868,7 +707,7 @@ cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
868
707
  void cross(const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C) nogil
869
708
 
870
709
  cdef extern from "<symengine/matrix.h>":
871
- void pivoted_LU (const DenseMatrix &A, DenseMatrix &L, DenseMatrix &U, vector[pair[int, int]] &P) nogil except +
710
+ void pivoted_LU (const DenseMatrix &A, DenseMatrix &L, DenseMatrix &U, vector[pair[int, int]] &P) except+ nogil
872
711
 
873
712
  cdef extern from "<symengine/ntheory.h>" namespace "SymEngine":
874
713
  int probab_prime_p(const Integer &a, int reps)
@@ -877,10 +716,10 @@ cdef extern from "<symengine/ntheory.h>" namespace "SymEngine":
877
716
  RCP[const Integer] lcm(const Integer &a, const Integer &b) nogil
878
717
  void gcd_ext(const Ptr[RCP[Integer]] &g, const Ptr[RCP[Integer]] &s,
879
718
  const Ptr[RCP[Integer]] &t, const Integer &a, const Integer &b) nogil
880
- RCP[const Integer] mod "SymEngine::mod_f"(const Integer &n, const Integer &d) nogil except +
881
- RCP[const Integer] quotient "SymEngine::quotient_f"(const Integer &n, const Integer &d) nogil except +
719
+ RCP[const Integer] mod "SymEngine::mod_f"(const Integer &n, const Integer &d) except+ nogil
720
+ RCP[const Integer] quotient "SymEngine::quotient_f"(const Integer &n, const Integer &d) except+ nogil
882
721
  void quotient_mod "SymEngine::quotient_mod_f"(const Ptr[RCP[Integer]] &q, const Ptr[RCP[Integer]] &mod,
883
- const Integer &n, const Integer &d) nogil except +
722
+ const Integer &n, const Integer &d) except+ nogil
884
723
  int mod_inverse(const Ptr[RCP[Integer]] &b, const Integer &a,
885
724
  const Integer &m) nogil
886
725
  bool crt(const Ptr[RCP[Integer]] &R, const vec_integer &rem,
@@ -900,9 +739,9 @@ cdef extern from "<symengine/ntheory.h>" namespace "SymEngine":
900
739
  unsigned B, unsigned retries) nogil
901
740
  int factor_pollard_rho_method(const Ptr[RCP[Integer]] &f, const Integer &n,
902
741
  unsigned retries) nogil
903
- void prime_factors(vec_integer &primes, const Integer &n) nogil except +
904
- void prime_factor_multiplicities(map_integer_uint &primes, const Integer &n) nogil except +
905
- RCP[const Number] bernoulli(unsigned long n) nogil except +
742
+ void prime_factors(vec_integer &primes, const Integer &n) except+ nogil
743
+ void prime_factor_multiplicities(map_integer_uint &primes, const Integer &n) except+ nogil
744
+ RCP[const Number] bernoulli(unsigned long n) except+ nogil
906
745
  bool primitive_root(const Ptr[RCP[Integer]] &g, const Integer &n) nogil
907
746
  void primitive_root_list(vec_integer &roots, const Integer &n) nogil
908
747
  RCP[const Integer] totient(RCP[const Integer] n) nogil
@@ -930,15 +769,15 @@ cdef extern from "<symengine/prime_sieve.h>" namespace "SymEngine":
930
769
  unsigned next_prime() nogil
931
770
 
932
771
  cdef extern from "<symengine/visitor.h>" namespace "SymEngine":
933
- bool has_symbol(const Basic &b, const Symbol &x) nogil except +
934
- rcp_const_basic coeff(const Basic &b, const Basic &x, const Basic &n) nogil except +
935
- set_basic free_symbols(const Basic &b) nogil except +
936
- set_basic free_symbols(const MatrixBase &b) nogil except +
772
+ bool has_symbol(const Basic &b, const Basic &x) except+ nogil
773
+ rcp_const_basic coeff(const Basic &b, const Basic &x, const Basic &n) except+ nogil
774
+ set_basic free_symbols(const Basic &b) except+ nogil
775
+ set_basic free_symbols(const MatrixBase &b) except+ nogil
937
776
  unsigned count_ops(const vec_basic &a) nogil
938
777
 
939
778
  cdef extern from "<symengine/logic.h>" namespace "SymEngine":
940
779
  cdef cppclass Boolean(Basic):
941
- RCP[const Boolean] logical_not() nogil except+
780
+ RCP[const Boolean] logical_not() except+ nogil
942
781
  cdef cppclass BooleanAtom(Boolean):
943
782
  bool get_val() nogil
944
783
  cdef cppclass Relational(Boolean):
@@ -966,64 +805,54 @@ cdef extern from "<symengine/logic.h>" namespace "SymEngine":
966
805
 
967
806
  rcp_const_basic boolTrue
968
807
  rcp_const_basic boolFalse
969
- bool is_a_Relational(const Basic &b) nogil
970
- cdef RCP[const Boolean] Eq(rcp_const_basic &lhs) nogil except+
971
- cdef RCP[const Boolean] Eq(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
972
- cdef RCP[const Boolean] Ne(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
973
- cdef RCP[const Boolean] Ge(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
974
- cdef RCP[const Boolean] Gt(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
975
- cdef RCP[const Boolean] Le(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
976
- cdef RCP[const Boolean] Lt(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
808
+ cdef RCP[const Boolean] Eq(rcp_const_basic &lhs) except+ nogil
809
+ cdef RCP[const Boolean] Eq(rcp_const_basic &lhs, rcp_const_basic &rhs) except+ nogil
810
+ cdef RCP[const Boolean] Ne(rcp_const_basic &lhs, rcp_const_basic &rhs) except+ nogil
811
+ cdef RCP[const Boolean] Ge(rcp_const_basic &lhs, rcp_const_basic &rhs) except+ nogil
812
+ cdef RCP[const Boolean] Gt(rcp_const_basic &lhs, rcp_const_basic &rhs) except+ nogil
813
+ cdef RCP[const Boolean] Le(rcp_const_basic &lhs, rcp_const_basic &rhs) except+ nogil
814
+ cdef RCP[const Boolean] Lt(rcp_const_basic &lhs, rcp_const_basic &rhs) except+ nogil
977
815
  ctypedef Boolean const_Boolean "const SymEngine::Boolean"
978
816
  ctypedef vector[pair[rcp_const_basic, RCP[const_Boolean]]] PiecewiseVec;
979
817
  ctypedef vector[RCP[Boolean]] vec_boolean "SymEngine::vec_boolean"
980
- ctypedef set[RCP[Boolean], RCPBasicKeyLess] set_boolean "SymEngine::set_boolean"
981
- cdef RCP[const Boolean] logical_and(set_boolean &s) nogil except+
982
- cdef RCP[const Boolean] logical_nand(set_boolean &s) nogil except+
983
- cdef RCP[const Boolean] logical_or(set_boolean &s) nogil except+
984
- cdef RCP[const Boolean] logical_not(RCP[const Boolean] &s) nogil except+
985
- cdef RCP[const Boolean] logical_nor(set_boolean &s) nogil except+
986
- cdef RCP[const Boolean] logical_xor(vec_boolean &s) nogil except+
987
- cdef RCP[const Boolean] logical_xnor(vec_boolean &s) nogil except+
988
- cdef rcp_const_basic piecewise(PiecewiseVec vec) nogil except +
818
+ ctypedef set[RCP[Boolean]] set_boolean "SymEngine::set_boolean"
819
+ cdef RCP[const Boolean] logical_and(set_boolean &s) except+ nogil
820
+ cdef RCP[const Boolean] logical_nand(set_boolean &s) except+ nogil
821
+ cdef RCP[const Boolean] logical_or(set_boolean &s) except+ nogil
822
+ cdef RCP[const Boolean] logical_not(RCP[const Boolean] &s) except+ nogil
823
+ cdef RCP[const Boolean] logical_nor(set_boolean &s) except+ nogil
824
+ cdef RCP[const Boolean] logical_xor(vec_boolean &s) except+ nogil
825
+ cdef RCP[const Boolean] logical_xnor(vec_boolean &s) except+ nogil
826
+ cdef rcp_const_basic piecewise(PiecewiseVec vec) except+ nogil
989
827
  cdef RCP[const Boolean] contains(rcp_const_basic &expr,
990
828
  RCP[const Set] &set) nogil
991
829
 
992
- cdef extern from "<utility>" namespace "std":
993
- cdef integer_class std_move_mpz "std::move" (integer_class) nogil
994
- IF HAVE_SYMENGINE_MPFR:
995
- cdef mpfr_class std_move_mpfr "std::move" (mpfr_class) nogil
996
- IF HAVE_SYMENGINE_MPC:
997
- cdef mpc_class std_move_mpc "std::move" (mpc_class) nogil
998
- cdef map_basic_basic std_move_map_basic_basic "std::move" (map_basic_basic) nogil
999
- cdef PiecewiseVec std_move_PiecewiseVec "std::move" (PiecewiseVec) nogil
1000
-
1001
830
  cdef extern from "<symengine/eval.h>" namespace "SymEngine":
1002
831
  cdef cppclass EvalfDomain:
1003
832
  pass
1004
833
  cdef EvalfDomain EvalfComplex "SymEngine::EvalfDomain::Complex"
1005
834
  cdef EvalfDomain EvalfReal "SymEngine::EvalfDomain::Real"
1006
835
  cdef EvalfDomain EvalfSymbolic "SymEngine::EvalfDomain::Symbolic"
1007
- rcp_const_basic evalf(const Basic &b, unsigned long bits, EvalfDomain domain) nogil except +
836
+ rcp_const_basic evalf(const Basic &b, unsigned long bits, EvalfDomain domain) except+ nogil
1008
837
 
1009
838
  cdef extern from "<symengine/eval_double.h>" namespace "SymEngine":
1010
- double eval_double(const Basic &b) nogil except +
1011
- double complex eval_complex_double(const Basic &b) nogil except +
839
+ double eval_double(const Basic &b) except+ nogil
840
+ double complex eval_complex_double(const Basic &b) except+ nogil
1012
841
 
1013
842
  cdef extern from "<symengine/lambda_double.h>" namespace "SymEngine":
1014
843
  cdef cppclass LambdaRealDoubleVisitor:
1015
844
  LambdaRealDoubleVisitor() nogil
1016
- void init(const vec_basic &x, const vec_basic &b, bool cse) nogil except +
845
+ void init(const vec_basic &x, const vec_basic &b, bool cse) except+ nogil
1017
846
  void call(double *r, const double *x) nogil
1018
847
  cdef cppclass LambdaComplexDoubleVisitor:
1019
848
  LambdaComplexDoubleVisitor() nogil
1020
- void init(const vec_basic &x, const vec_basic &b, bool cse) nogil except +
849
+ void init(const vec_basic &x, const vec_basic &b, bool cse) except+ nogil
1021
850
  void call(double complex *r, const double complex *x) nogil
1022
851
 
1023
852
  cdef extern from "<symengine/llvm_double.h>" namespace "SymEngine":
1024
853
  cdef cppclass LLVMVisitor:
1025
854
  LLVMVisitor() nogil
1026
- void init(const vec_basic &x, const vec_basic &b, bool cse, int opt_level) nogil except +
855
+ void init(const vec_basic &x, const vec_basic &b, bool cse, int opt_level) except+ nogil
1027
856
  const string& dumps() nogil
1028
857
  void loads(const string&) nogil
1029
858
 
@@ -1039,29 +868,27 @@ cdef extern from "<symengine/llvm_double.h>" namespace "SymEngine":
1039
868
 
1040
869
  cdef extern from "<symengine/series.h>" namespace "SymEngine":
1041
870
  cdef cppclass SeriesCoeffInterface:
1042
- rcp_const_basic as_basic() nogil except +
1043
- umap_int_basic as_dict() nogil except +
1044
- rcp_const_basic get_coeff(int) nogil except +
871
+ rcp_const_basic as_basic() except+ nogil
872
+ umap_int_basic as_dict() except+ nogil
873
+ rcp_const_basic get_coeff(int) except+ nogil
1045
874
  ctypedef RCP[const SeriesCoeffInterface] rcp_const_seriescoeffinterface "SymEngine::RCP<const SymEngine::SeriesCoeffInterface>"
1046
- rcp_const_seriescoeffinterface series "SymEngine::series"(rcp_const_basic &ex, RCP[const Symbol] &var, unsigned int prec) nogil except +
875
+ rcp_const_seriescoeffinterface series "SymEngine::series"(rcp_const_basic &ex, RCP[const Symbol] &var, unsigned int prec) except+ nogil
1047
876
 
1048
- IF HAVE_SYMENGINE_MPFR:
1049
- cdef extern from "<symengine/eval_mpfr.h>" namespace "SymEngine":
1050
- void eval_mpfr(mpfr_t result, const Basic &b, mpfr_rnd_t rnd) nogil except +
877
+ cdef extern from "<symengine/eval_mpfr.h>" namespace "SymEngine":
878
+ void eval_mpfr(mpfr_t result, const Basic &b, mpfr_rnd_t rnd) except+ nogil
1051
879
 
1052
- IF HAVE_SYMENGINE_MPC:
1053
- cdef extern from "<symengine/eval_mpc.h>" namespace "SymEngine":
1054
- void eval_mpc(mpc_t result, const Basic &b, mpfr_rnd_t rnd) nogil except +
880
+ cdef extern from "<symengine/eval_mpc.h>" namespace "SymEngine":
881
+ void eval_mpc(mpc_t result, const Basic &b, mpfr_rnd_t rnd) except+ nogil
1055
882
 
1056
883
  cdef extern from "<symengine/parser.h>" namespace "SymEngine":
1057
- rcp_const_basic parse(const string &n) nogil except +
884
+ rcp_const_basic parse(const string &n) except+ nogil
1058
885
 
1059
886
  cdef extern from "<symengine/sets.h>" namespace "SymEngine":
1060
887
  cdef cppclass Set(Basic):
1061
- RCP[const Set] set_intersection(RCP[const Set] &o) nogil except +
1062
- RCP[const Set] set_union(RCP[const Set] &o) nogil except +
1063
- RCP[const Set] set_complement(RCP[const Set] &o) nogil except +
1064
- RCP[const Boolean] contains(rcp_const_basic &a) nogil except +
888
+ RCP[const Set] set_intersection(RCP[const Set] &o) except+ nogil
889
+ RCP[const Set] set_union(RCP[const Set] &o) except+ nogil
890
+ RCP[const Set] set_complement(RCP[const Set] &o) except+ nogil
891
+ RCP[const Boolean] contains(rcp_const_basic &a) except+ nogil
1065
892
  cdef cppclass Interval(Set):
1066
893
  pass
1067
894
  cdef cppclass EmptySet(Set):
@@ -1084,25 +911,25 @@ cdef extern from "<symengine/sets.h>" namespace "SymEngine":
1084
911
  pass
1085
912
  cdef cppclass ImageSet(Set):
1086
913
  pass
1087
- ctypedef set[RCP[Set], RCPBasicKeyLess] set_set "SymEngine::set_set"
1088
- cdef rcp_const_basic interval(RCP[const Number] &start, RCP[const Number] &end, bool l, bool r) nogil except +
1089
- cdef RCP[const EmptySet] emptyset() nogil except +
1090
- cdef RCP[const Reals] reals() nogil except +
1091
- cdef RCP[const Rationals] rationals() nogil except +
1092
- cdef RCP[const Integers] integers() nogil except +
1093
- cdef RCP[const UniversalSet] universalset() nogil except +
1094
- cdef RCP[const Set] finiteset(set_basic &container) nogil except +
1095
- cdef RCP[const Set] set_union(set_set &a) nogil except +
1096
- cdef RCP[const Set] set_intersection(set_set &a) nogil except +
1097
- cdef RCP[const Set] set_complement_helper(RCP[const Set] &container, RCP[const Set] &universe) nogil except +
1098
- cdef RCP[const Set] set_complement(RCP[const Set] &universe, RCP[const Set] &container) nogil except +
1099
- cdef RCP[const Set] conditionset(rcp_const_basic &sym, RCP[const Boolean] &condition) nogil except +
1100
- cdef RCP[const Set] imageset(rcp_const_basic &sym, rcp_const_basic &expr, RCP[const Set] &base) nogil except +
914
+ ctypedef set[RCP[Set]] set_set "SymEngine::set_set"
915
+ cdef rcp_const_basic interval(RCP[const Number] &start, RCP[const Number] &end, bool l, bool r) except+ nogil
916
+ cdef RCP[const EmptySet] emptyset() except+ nogil
917
+ cdef RCP[const Reals] reals() except+ nogil
918
+ cdef RCP[const Rationals] rationals() except+ nogil
919
+ cdef RCP[const Integers] integers() except+ nogil
920
+ cdef RCP[const UniversalSet] universalset() except+ nogil
921
+ cdef RCP[const Set] finiteset(set_basic &container) except+ nogil
922
+ cdef RCP[const Set] set_union(set_set &a) except+ nogil
923
+ cdef RCP[const Set] set_intersection(set_set &a) except+ nogil
924
+ cdef RCP[const Set] set_complement_helper(RCP[const Set] &container, RCP[const Set] &universe) except+ nogil
925
+ cdef RCP[const Set] set_complement(RCP[const Set] &universe, RCP[const Set] &container) except+ nogil
926
+ cdef RCP[const Set] conditionset(rcp_const_basic &sym, RCP[const Boolean] &condition) except+ nogil
927
+ cdef RCP[const Set] imageset(rcp_const_basic &sym, rcp_const_basic &expr, RCP[const Set] &base) except+ nogil
1101
928
 
1102
929
  cdef extern from "<symengine/solve.h>" namespace "SymEngine":
1103
- cdef RCP[const Set] solve(rcp_const_basic &f, RCP[const Symbol] &sym) nogil except +
1104
- cdef RCP[const Set] solve(rcp_const_basic &f, RCP[const Symbol] &sym, RCP[const Set] &domain) nogil except +
1105
- cdef vec_basic linsolve(const vec_basic &eqs, const vec_sym &syms) nogil except +
930
+ cdef RCP[const Set] solve(rcp_const_basic &f, RCP[const Symbol] &sym) except+ nogil
931
+ cdef RCP[const Set] solve(rcp_const_basic &f, RCP[const Symbol] &sym, RCP[const Set] &domain) except+ nogil
932
+ cdef vec_basic linsolve(const vec_basic &eqs, const vec_sym &syms) except+ nogil
1106
933
 
1107
934
  cdef extern from "symengine/tribool.h" namespace "SymEngine":
1108
935
  cdef cppclass tribool:
@@ -1118,10 +945,10 @@ cdef extern from "symengine/tribool.h" namespace "SymEngine::tribool":
1118
945
  cdef tribool tritrue
1119
946
 
1120
947
  cdef extern from "<symengine/printers.h>" namespace "SymEngine":
1121
- string ccode(const Basic &x) nogil except +
1122
- string latex(const Basic &x) nogil except +
1123
- string latex(const DenseMatrix &x, unsigned max_rows, unsigned max_cols) nogil except +
1124
- string unicode(const Basic &x) nogil except +
948
+ string ccode(const Basic &x) except+ nogil
949
+ string latex(const Basic &x) except+ nogil
950
+ string latex(const DenseMatrix &x, unsigned max_rows, unsigned max_cols) except+ nogil
951
+ string unicode(const Basic &x) except+ nogil
1125
952
 
1126
953
  ## Defined in 'symengine/cwrapper.cpp'
1127
954
  cdef struct CRCPBasic: