symengine 0.9.2__cp38-cp38-win_amd64.whl → 0.11.0__cp38-cp38-win_amd64.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 (79) hide show
  1. symengine/lib/{flint-16.dll → flint-17.dll} +0 -0
  2. symengine/lib/mpc.dll +0 -0
  3. symengine/lib/mpfr.dll +0 -0
  4. symengine/lib/pywrapper.h +22 -5
  5. symengine/lib/symengine.pxd +274 -432
  6. symengine/lib/symengine_wrapper.cp38-win_amd64.lib +0 -0
  7. symengine/lib/symengine_wrapper.cp38-win_amd64.pyd +0 -0
  8. symengine/lib/symengine_wrapper.pxd +77 -86
  9. symengine/lib/zlib.dll +0 -0
  10. symengine/lib/zstd.dll +0 -0
  11. {symengine → symengine-0.11.0.data/purelib/symengine}/__init__.py +9 -3
  12. {symengine → symengine-0.11.0.data/purelib/symengine}/printing.py +3 -3
  13. symengine-0.11.0.data/purelib/symengine/test_utilities.py +95 -0
  14. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_arit.py +21 -10
  15. symengine-0.11.0.data/purelib/symengine/tests/test_cse.py +17 -0
  16. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_dict_basic.py +4 -4
  17. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_eval.py +2 -2
  18. symengine-0.11.0.data/purelib/symengine/tests/test_expr.py +28 -0
  19. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_functions.py +2 -1
  20. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_lambdify.py +1 -6
  21. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_logic.py +4 -2
  22. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_matrices.py +22 -10
  23. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_ntheory.py +1 -1
  24. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_number.py +1 -1
  25. symengine-0.11.0.data/purelib/symengine/tests/test_pickling.py +59 -0
  26. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_printing.py +1 -1
  27. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_series_expansion.py +1 -1
  28. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_sets.py +1 -1
  29. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_solve.py +1 -1
  30. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_subs.py +1 -1
  31. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_symbol.py +5 -5
  32. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_sympify.py +2 -2
  33. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_sympy_compat.py +2 -2
  34. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_sympy_conv.py +40 -3
  35. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_var.py +1 -1
  36. {symengine → symengine-0.11.0.data/purelib/symengine}/utilities.py +0 -93
  37. {symengine-0.9.2.dist-info → symengine-0.11.0.dist-info}/AUTHORS +1 -0
  38. {symengine-0.9.2.dist-info → symengine-0.11.0.dist-info}/METADATA +31 -33
  39. symengine-0.11.0.dist-info/RECORD +49 -0
  40. {symengine-0.9.2.dist-info → symengine-0.11.0.dist-info}/WHEEL +1 -1
  41. symengine-0.11.0.dist-info/top_level.txt +1 -0
  42. symengine/__pycache__/__init__.cpython-38.pyc +0 -0
  43. symengine/__pycache__/functions.cpython-38.pyc +0 -0
  44. symengine/__pycache__/printing.cpython-38.pyc +0 -0
  45. symengine/__pycache__/sympy_compat.cpython-38.pyc +0 -0
  46. symengine/__pycache__/utilities.cpython-38.pyc +0 -0
  47. symengine/lib/__pycache__/__init__.cpython-38.pyc +0 -0
  48. symengine/lib/config.pxi +0 -6
  49. symengine/tests/__pycache__/__init__.cpython-38.pyc +0 -0
  50. symengine/tests/__pycache__/test_arit.cpython-38.pyc +0 -0
  51. symengine/tests/__pycache__/test_dict_basic.cpython-38.pyc +0 -0
  52. symengine/tests/__pycache__/test_eval.cpython-38.pyc +0 -0
  53. symengine/tests/__pycache__/test_expr.cpython-38.pyc +0 -0
  54. symengine/tests/__pycache__/test_functions.cpython-38.pyc +0 -0
  55. symengine/tests/__pycache__/test_lambdify.cpython-38.pyc +0 -0
  56. symengine/tests/__pycache__/test_logic.cpython-38.pyc +0 -0
  57. symengine/tests/__pycache__/test_matrices.cpython-38.pyc +0 -0
  58. symengine/tests/__pycache__/test_ntheory.cpython-38.pyc +0 -0
  59. symengine/tests/__pycache__/test_number.cpython-38.pyc +0 -0
  60. symengine/tests/__pycache__/test_printing.cpython-38.pyc +0 -0
  61. symengine/tests/__pycache__/test_sage.cpython-38.pyc +0 -0
  62. symengine/tests/__pycache__/test_series_expansion.cpython-38.pyc +0 -0
  63. symengine/tests/__pycache__/test_sets.cpython-38.pyc +0 -0
  64. symengine/tests/__pycache__/test_solve.cpython-38.pyc +0 -0
  65. symengine/tests/__pycache__/test_subs.cpython-38.pyc +0 -0
  66. symengine/tests/__pycache__/test_symbol.cpython-38.pyc +0 -0
  67. symengine/tests/__pycache__/test_sympify.cpython-38.pyc +0 -0
  68. symengine/tests/__pycache__/test_sympy_compat.cpython-38.pyc +0 -0
  69. symengine/tests/__pycache__/test_sympy_conv.cpython-38.pyc +0 -0
  70. symengine/tests/__pycache__/test_var.cpython-38.pyc +0 -0
  71. symengine/tests/test_expr.py +0 -14
  72. symengine-0.9.2.dist-info/RECORD +0 -74
  73. symengine-0.9.2.dist-info/top_level.txt +0 -1
  74. {symengine → symengine-0.11.0.data/purelib/symengine}/functions.py +0 -0
  75. {symengine → symengine-0.11.0.data/purelib/symengine}/lib/__init__.py +0 -0
  76. {symengine → symengine-0.11.0.data/purelib/symengine}/sympy_compat.py +0 -0
  77. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/__init__.py +0 -0
  78. {symengine → symengine-0.11.0.data/purelib/symengine}/tests/test_sage.py +0 -0
  79. {symengine-0.9.2.dist-info → symengine-0.11.0.dist-info}/LICENSE +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
@@ -24,99 +37,13 @@ cdef extern from 'symengine/mp_class.h' namespace "SymEngine":
24
37
  integer_class(const string &s) except +
25
38
  mpz_t get_mpz_t(integer_class &a)
26
39
  const mpz_t get_mpz_t(const integer_class &a)
40
+ string mp_get_hex_str(const integer_class &a)
41
+ void mp_set_str(integer_class &a, const string &s)
27
42
  cdef cppclass rational_class:
28
43
  rational_class()
29
44
  rational_class(mpq_t)
30
45
  const mpq_t get_mpq_t(const rational_class &a)
31
46
 
32
- cdef extern from "<set>" namespace "std":
33
- # Cython's libcpp.set does not support two template arguments to set.
34
- # Methods to declare and iterate a set with a custom compare are given here
35
- cdef cppclass set[T, U]:
36
- cppclass iterator:
37
- T& operator*()
38
- iterator operator++() nogil
39
- iterator operator--() nogil
40
- bint operator==(iterator) nogil
41
- bint operator!=(iterator) nogil
42
- iterator begin() nogil
43
- iterator end() nogil
44
- iterator insert(T&) nogil
45
-
46
- cdef cppclass multiset[T, U]:
47
- cppclass iterator:
48
- T& operator*()
49
- iterator operator++() nogil
50
- iterator operator--() nogil
51
- bint operator==(iterator) nogil
52
- bint operator!=(iterator) nogil
53
- iterator begin() nogil
54
- iterator end() nogil
55
- iterator insert(T&) nogil
56
-
57
- cdef extern from "<unordered_map>" namespace "std" nogil:
58
- cdef cppclass unordered_map[T, U]:
59
- cppclass iterator:
60
- pair[T, U]& operator*()
61
- iterator operator++()
62
- iterator operator--()
63
- bint operator==(iterator)
64
- bint operator!=(iterator)
65
- cppclass reverse_iterator:
66
- pair[T, U]& operator*()
67
- iterator operator++()
68
- iterator operator--()
69
- bint operator==(reverse_iterator)
70
- bint operator!=(reverse_iterator)
71
- cppclass const_iterator(iterator):
72
- pass
73
- cppclass const_reverse_iterator(reverse_iterator):
74
- pass
75
- unordered_map() except +
76
- unordered_map(unordered_map&) except +
77
- #unordered_map(key_compare&)
78
- U& operator[](T&)
79
- #unordered_map& operator=(unordered_map&)
80
- bint operator==(unordered_map&, unordered_map&)
81
- bint operator!=(unordered_map&, 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
- U& at(T&)
87
- iterator begin()
88
- const_iterator const_begin "begin"()
89
- void clear()
90
- size_t count(T&)
91
- bint empty()
92
- iterator end()
93
- const_iterator const_end "end"()
94
- pair[iterator, iterator] equal_range(T&)
95
- #pair[const_iterator, const_iterator] equal_range(key_type&)
96
- void erase(iterator)
97
- void erase(iterator, iterator)
98
- size_t erase(T&)
99
- iterator find(T&)
100
- const_iterator const_find "find"(T&)
101
- pair[iterator, bint] insert(pair[T, U]) # XXX pair[T,U]&
102
- iterator insert(iterator, pair[T, U]) # XXX pair[T,U]&
103
- #void insert(input_iterator, input_iterator)
104
- #key_compare key_comp()
105
- iterator lower_bound(T&)
106
- const_iterator const_lower_bound "lower_bound"(T&)
107
- size_t max_size()
108
- reverse_iterator rbegin()
109
- const_reverse_iterator const_rbegin "rbegin"()
110
- reverse_iterator rend()
111
- const_reverse_iterator const_rend "rend"()
112
- size_t size()
113
- void swap(unordered_map&)
114
- iterator upper_bound(T&)
115
- const_iterator const_upper_bound "upper_bound"(T&)
116
- #value_compare value_comp()
117
- void max_load_factor(float)
118
- float max_load_factor()
119
-
120
47
  cdef extern from "<symengine/symengine_rcp.h>" namespace "SymEngine":
121
48
  cdef enum ENull:
122
49
  null
@@ -124,17 +51,22 @@ cdef extern from "<symengine/symengine_rcp.h>" namespace "SymEngine":
124
51
  cdef cppclass RCP[T]:
125
52
  T& operator*() nogil
126
53
  # Not yet supported in Cython:
127
- # RCP[T]& operator=(RCP[T] &r_ptr) nogil except +
128
- void reset() nogil except +
54
+ # RCP[T]& operator=(RCP[T] &r_ptr) except+ nogil
55
+ void reset() except+ nogil
129
56
 
130
57
  cdef cppclass Ptr[T]:
131
- T& operator*() nogil except +
58
+ T& operator*() except+ nogil
132
59
 
133
60
  void print_stack_on_segfault() nogil
134
61
 
135
62
  cdef extern from "<symengine/basic.h>" namespace "SymEngine":
136
63
  ctypedef Basic const_Basic "const SymEngine::Basic"
137
- 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
138
70
  # Cython has broken support for the following:
139
71
  # ctypedef map[rcp_const_basic, rcp_const_basic] map_basic_basic
140
72
  # So instead we replicate the map features we need here
@@ -176,11 +108,12 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
176
108
  ctypedef map[RCP[Integer], unsigned] map_integer_uint "SymEngine::map_integer_uint"
177
109
  cdef struct RCPIntegerKeyLess
178
110
  cdef struct RCPBasicKeyLess
179
- ctypedef set[rcp_const_basic, RCPBasicKeyLess] set_basic "SymEngine::set_basic"
180
- 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
+
181
114
  cdef cppclass Basic:
182
- string __str__() nogil except +
183
- unsigned int hash() nogil except +
115
+ string __str__() except+ nogil
116
+ unsigned int hash() except+ nogil
184
117
  vec_basic get_args() nogil
185
118
  int __cmp__(const Basic &o) nogil
186
119
 
@@ -191,11 +124,11 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
191
124
  ctypedef unordered_map[rcp_const_basic, rcp_const_number].iterator umap_basic_num_iterator "SymEngine::umap_basic_num::iterator"
192
125
  ctypedef vector[pair[rcp_const_basic, rcp_const_basic]] vec_pair "SymEngine::vec_pair"
193
126
 
194
- bool eq(const Basic &a, const Basic &b) nogil except +
195
- 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
196
129
 
197
130
  RCP[const Symbol] rcp_static_cast_Symbol "SymEngine::rcp_static_cast<const SymEngine::Symbol>"(rcp_const_basic &b) nogil
198
- RCP[const PySymbol] rcp_static_cast_PySymbol "SymEngine::rcp_static_cast<const SymEngine::PySymbol>"(rcp_const_basic &b) nogil
131
+ RCP[const PySymbol] rcp_static_cast_PySymbol "SymEngine::rcp_static_cast<const SymEngine::PySymbol>"(rcp_const_basic &b) except+ nogil
199
132
  RCP[const Integer] rcp_static_cast_Integer "SymEngine::rcp_static_cast<const SymEngine::Integer>"(rcp_const_basic &b) nogil
200
133
  RCP[const Rational] rcp_static_cast_Rational "SymEngine::rcp_static_cast<const SymEngine::Rational>"(rcp_const_basic &b) nogil
201
134
  RCP[const Complex] rcp_static_cast_Complex "SymEngine::rcp_static_cast<const SymEngine::Complex>"(rcp_const_basic &b) nogil
@@ -227,100 +160,12 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
227
160
  Ptr[RCP[Basic]] outArg(rcp_const_basic &arg) nogil
228
161
  Ptr[RCP[Integer]] outArg_Integer "SymEngine::outArg<SymEngine::RCP<const SymEngine::Integer>>"(RCP[const Integer] &arg) nogil
229
162
 
230
- bool is_a_Add "SymEngine::is_a<SymEngine::Add>"(const Basic &b) nogil
231
- bool is_a_Mul "SymEngine::is_a<SymEngine::Mul>"(const Basic &b) nogil
232
- bool is_a_Pow "SymEngine::is_a<SymEngine::Pow>"(const Basic &b) nogil
233
- bool is_a_Integer "SymEngine::is_a<SymEngine::Integer>"(const Basic &b) nogil
234
- bool is_a_Rational "SymEngine::is_a<SymEngine::Rational>"(const Basic &b) nogil
235
- bool is_a_Complex "SymEngine::is_a<SymEngine::Complex>"(const Basic &b) nogil
236
- bool is_a_Symbol "SymEngine::is_a<SymEngine::Symbol>"(const Basic &b) nogil
237
- bool is_a_Dummy "SymEngine::is_a<SymEngine::Dummy>"(const Basic &b) nogil
238
- bool is_a_Constant "SymEngine::is_a<SymEngine::Constant>"(const Basic &b) nogil
239
- bool is_a_Infty "SymEngine::is_a<SymEngine::Infty>"(const Basic &b) nogil
240
- bool is_a_NaN "SymEngine::is_a<SymEngine::NaN>"(const Basic &b) nogil
241
- bool is_a_Sin "SymEngine::is_a<SymEngine::Sin>"(const Basic &b) nogil
242
- bool is_a_Cos "SymEngine::is_a<SymEngine::Cos>"(const Basic &b) nogil
243
- bool is_a_Tan "SymEngine::is_a<SymEngine::Tan>"(const Basic &b) nogil
244
- bool is_a_Cot "SymEngine::is_a<SymEngine::Cot>"(const Basic &b) nogil
245
- bool is_a_Csc "SymEngine::is_a<SymEngine::Csc>"(const Basic &b) nogil
246
- bool is_a_Sec "SymEngine::is_a<SymEngine::Sec>"(const Basic &b) nogil
247
- bool is_a_ASin "SymEngine::is_a<SymEngine::ASin>"(const Basic &b) nogil
248
- bool is_a_ACos "SymEngine::is_a<SymEngine::ACos>"(const Basic &b) nogil
249
- bool is_a_ATan "SymEngine::is_a<SymEngine::ATan>"(const Basic &b) nogil
250
- bool is_a_ACot "SymEngine::is_a<SymEngine::ACot>"(const Basic &b) nogil
251
- bool is_a_ACsc "SymEngine::is_a<SymEngine::ACsc>"(const Basic &b) nogil
252
- bool is_a_ASec "SymEngine::is_a<SymEngine::ASec>"(const Basic &b) nogil
253
- bool is_a_Sinh "SymEngine::is_a<SymEngine::Sinh>"(const Basic &b) nogil
254
- bool is_a_Cosh "SymEngine::is_a<SymEngine::Cosh>"(const Basic &b) nogil
255
- bool is_a_Tanh "SymEngine::is_a<SymEngine::Tanh>"(const Basic &b) nogil
256
- bool is_a_Coth "SymEngine::is_a<SymEngine::Coth>"(const Basic &b) nogil
257
- bool is_a_Csch "SymEngine::is_a<SymEngine::Csch>"(const Basic &b) nogil
258
- bool is_a_Sech "SymEngine::is_a<SymEngine::Sech>"(const Basic &b) nogil
259
- bool is_a_ASinh "SymEngine::is_a<SymEngine::ASinh>"(const Basic &b) nogil
260
- bool is_a_ACosh "SymEngine::is_a<SymEngine::ACosh>"(const Basic &b) nogil
261
- bool is_a_ATanh "SymEngine::is_a<SymEngine::ATanh>"(const Basic &b) nogil
262
- bool is_a_ACoth "SymEngine::is_a<SymEngine::ACoth>"(const Basic &b) nogil
263
- bool is_a_ACsch "SymEngine::is_a<SymEngine::ACsch>"(const Basic &b) nogil
264
- bool is_a_ASech "SymEngine::is_a<SymEngine::ASech>"(const Basic &b) nogil
265
- bool is_a_FunctionSymbol "SymEngine::is_a<SymEngine::FunctionSymbol>"(const Basic &b) nogil
266
- bool is_a_Abs "SymEngine::is_a<SymEngine::Abs>"(const Basic &b) nogil
267
- bool is_a_Max "SymEngine::is_a<SymEngine::Max>"(const Basic &b) nogil
268
- bool is_a_Min "SymEngine::is_a<SymEngine::Min>"(const Basic &b) nogil
269
- bool is_a_Gamma "SymEngine::is_a<SymEngine::Gamma>"(const Basic &b) nogil
270
- bool is_a_Derivative "SymEngine::is_a<SymEngine::Derivative>"(const Basic &b) nogil
271
- bool is_a_Subs "SymEngine::is_a<SymEngine::Subs>"(const Basic &b) nogil
272
- bool is_a_PyFunction "SymEngine::is_a<SymEngine::FunctionWrapper>"(const Basic &b) nogil
273
- bool is_a_RealDouble "SymEngine::is_a<SymEngine::RealDouble>"(const Basic &b) nogil
274
- bool is_a_ComplexDouble "SymEngine::is_a<SymEngine::ComplexDouble>"(const Basic &b) nogil
275
- bool is_a_RealMPFR "SymEngine::is_a<SymEngine::RealMPFR>"(const Basic &b) nogil
276
- bool is_a_ComplexMPC "SymEngine::is_a<SymEngine::ComplexMPC>"(const Basic &b) nogil
277
- bool is_a_Log "SymEngine::is_a<SymEngine::Log>"(const Basic &b) nogil
278
- bool is_a_BooleanAtom "SymEngine::is_a<SymEngine::BooleanAtom>"(const Basic &b) nogil
279
- bool is_a_Equality "SymEngine::is_a<SymEngine::Equality>"(const Basic &b) nogil
280
- bool is_a_Unequality "SymEngine::is_a<SymEngine::Unequality>"(const Basic &b) nogil
281
- bool is_a_LessThan "SymEngine::is_a<SymEngine::LessThan>"(const Basic &b) nogil
282
- bool is_a_StrictLessThan "SymEngine::is_a<SymEngine::StrictLessThan>"(const Basic &b) nogil
283
- bool is_a_PyNumber "SymEngine::is_a<SymEngine::PyNumber>"(const Basic &b) nogil
284
- bool is_a_ATan2 "SymEngine::is_a<SymEngine::ATan2>"(const Basic &b) nogil
285
- bool is_a_LambertW "SymEngine::is_a<SymEngine::LambertW>"(const Basic &b) nogil
286
- bool is_a_Zeta "SymEngine::is_a<SymEngine::Zeta>"(const Basic &b) nogil
287
- bool is_a_DirichletEta "SymEngine::is_a<SymEngine::Dirichlet_eta>"(const Basic &b) nogil
288
- bool is_a_KroneckerDelta "SymEngine::is_a<SymEngine::KroneckerDelta>"(const Basic &b) nogil
289
- bool is_a_LeviCivita "SymEngine::is_a<SymEngine::LeviCivita>"(const Basic &b) nogil
290
- bool is_a_Erf "SymEngine::is_a<SymEngine::Erf>"(const Basic &b) nogil
291
- bool is_a_Erfc "SymEngine::is_a<SymEngine::Erfc>"(const Basic &b) nogil
292
- bool is_a_LowerGamma "SymEngine::is_a<SymEngine::LowerGamma>"(const Basic &b) nogil
293
- bool is_a_UpperGamma "SymEngine::is_a<SymEngine::UpperGamma>"(const Basic &b) nogil
294
- bool is_a_LogGamma "SymEngine::is_a<SymEngine::LogGamma>"(const Basic &b) nogil
295
- bool is_a_Beta "SymEngine::is_a<SymEngine::Beta>"(const Basic &b) nogil
296
- bool is_a_PolyGamma "SymEngine::is_a<SymEngine::PolyGamma>"(const Basic &b) nogil
297
- bool is_a_PySymbol "SymEngine::is_a_sub<SymEngine::PySymbol>"(const Basic &b) nogil
298
- bool is_a_Sign "SymEngine::is_a<SymEngine::Sign>"(const Basic &b) nogil
299
- bool is_a_Floor "SymEngine::is_a<SymEngine::Floor>"(const Basic &b) nogil
300
- bool is_a_Ceiling "SymEngine::is_a<SymEngine::Ceiling>"(const Basic &b) nogil
301
- bool is_a_Conjugate "SymEngine::is_a<SymEngine::Conjugate>"(const Basic &b) nogil
302
- bool is_a_Interval "SymEngine::is_a<SymEngine::Interval>"(const Basic &b) nogil
303
- bool is_a_EmptySet "SymEngine::is_a<SymEngine::EmptySet>"(const Basic &b) nogil
304
- bool is_a_Reals "SymEngine::is_a<SymEngine::Reals>"(const Basic &b) nogil
305
- bool is_a_Rationals "SymEngine::is_a<SymEngine::Rationals>"(const Basic &b) nogil
306
- bool is_a_Integers "SymEngine::is_a<SymEngine::Integers>"(const Basic &b) nogil
307
- bool is_a_UniversalSet "SymEngine::is_a<SymEngine::UniversalSet>"(const Basic &b) nogil
308
- bool is_a_FiniteSet "SymEngine::is_a<SymEngine::FiniteSet>"(const Basic &b) nogil
309
- bool is_a_Union "SymEngine::is_a<SymEngine::Union>"(const Basic &b) nogil
310
- bool is_a_Complement "SymEngine::is_a<SymEngine::Complement>"(const Basic &b) nogil
311
- bool is_a_ConditionSet "SymEngine::is_a<SymEngine::ConditionSet>"(const Basic &b) nogil
312
- bool is_a_ImageSet "SymEngine::is_a<SymEngine::ImageSet>"(const Basic &b) nogil
313
- bool is_a_UnevaluatedExpr "SymEngine::is_a<SymEngine::UnevaluatedExpr>"(const Basic &b) nogil
314
- bool is_a_Piecewise "SymEngine::is_a<SymEngine::Piecewise>"(const Basic &b) nogil
315
- bool is_a_Contains "SymEngine::is_a<SymEngine::Contains>"(const Basic &b) nogil
316
- bool is_a_And "SymEngine::is_a<SymEngine::And>"(const Basic &b) nogil
317
- bool is_a_Not "SymEngine::is_a<SymEngine::Not>"(const Basic &b) nogil
318
- bool is_a_Or "SymEngine::is_a<SymEngine::Or>"(const Basic &b) nogil
319
- bool is_a_Xor "SymEngine::is_a<SymEngine::Xor>"(const Basic &b) nogil
320
- 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
321
166
  void as_numer_denom(rcp_const_basic &x, const Ptr[RCP[Basic]] &numer, const Ptr[RCP[Basic]] &denom) nogil
322
167
  void as_real_imag(rcp_const_basic &x, const Ptr[RCP[Basic]] &real, const Ptr[RCP[Basic]] &imag) nogil
323
- 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
324
169
 
325
170
  cdef extern from "<symengine/subs.h>" namespace "SymEngine":
326
171
  rcp_const_basic msubs (rcp_const_basic &x, const map_basic_basic &x) nogil
@@ -328,7 +173,7 @@ cdef extern from "<symengine/subs.h>" namespace "SymEngine":
328
173
  rcp_const_basic xreplace (rcp_const_basic &x, const map_basic_basic &x) nogil
329
174
 
330
175
  cdef extern from "<symengine/derivative.h>" namespace "SymEngine":
331
- 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
332
177
 
333
178
  cdef extern from "<symengine/symbol.h>" namespace "SymEngine":
334
179
  cdef cppclass Symbol(Basic):
@@ -348,12 +193,12 @@ cdef extern from "<symengine/number.h>" namespace "SymEngine":
348
193
  pass
349
194
  cdef cppclass NumberWrapper(Basic):
350
195
  pass
351
- cdef int is_zero(const Basic &x) nogil
352
- cdef int is_positive(const Basic &x) nogil
353
- cdef int is_negative(const Basic &x) nogil
354
- cdef int is_nonnegative(const Basic &x) nogil
355
- cdef int is_nonpositive(const Basic &x) nogil
356
- cdef int is_real(const Basic &x) nogil
196
+ cdef tribool is_zero(const Basic &x) nogil
197
+ cdef tribool is_positive(const Basic &x) nogil
198
+ cdef tribool is_negative(const Basic &x) nogil
199
+ cdef tribool is_nonnegative(const Basic &x) nogil
200
+ cdef tribool is_nonpositive(const Basic &x) nogil
201
+ cdef tribool is_real(const Basic &x) nogil
357
202
 
358
203
  cdef extern from "pywrapper.h" namespace "SymEngine":
359
204
  cdef cppclass PyNumber(NumberWrapper):
@@ -367,11 +212,11 @@ cdef extern from "pywrapper.h" namespace "SymEngine":
367
212
 
368
213
  cdef extern from "pywrapper.h" namespace "SymEngine":
369
214
  cdef cppclass PySymbol(Symbol):
370
- PySymbol(string name, PyObject* pyobj)
371
- PyObject* get_py_object()
215
+ PySymbol(string name, PyObject* pyobj, bool use_pickle) except +
216
+ PyObject* get_py_object() except +
372
217
 
373
- string wrapper_dumps(const Basic &x) nogil except +
374
- 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
375
220
 
376
221
  cdef extern from "<symengine/integer.h>" namespace "SymEngine":
377
222
  cdef cppclass Integer(Number):
@@ -441,9 +286,9 @@ cdef extern from "<symengine/nan.h>" namespace "SymEngine":
441
286
  pass
442
287
 
443
288
  cdef extern from "<symengine/add.h>" namespace "SymEngine":
444
- cdef rcp_const_basic add(rcp_const_basic &a, rcp_const_basic &b) nogil except+
445
- cdef rcp_const_basic sub(rcp_const_basic &a, rcp_const_basic &b) nogil except+
446
- 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
447
292
 
448
293
  cdef cppclass Add(Basic):
449
294
  void as_two_terms(const Ptr[RCP[Basic]] &a, const Ptr[RCP[Basic]] &b)
@@ -451,21 +296,21 @@ cdef extern from "<symengine/add.h>" namespace "SymEngine":
451
296
  const umap_basic_num &get_dict()
452
297
 
453
298
  cdef extern from "<symengine/mul.h>" namespace "SymEngine":
454
- cdef rcp_const_basic mul(rcp_const_basic &a, rcp_const_basic &b) nogil except+
455
- cdef rcp_const_basic div(rcp_const_basic &a, rcp_const_basic &b) nogil except+
456
- cdef rcp_const_basic neg(rcp_const_basic &a) nogil except+
457
- 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
458
303
 
459
304
  cdef cppclass Mul(Basic):
460
305
  void as_two_terms(const Ptr[RCP[Basic]] &a, const Ptr[RCP[Basic]] &b)
461
306
  RCP[const Number] get_coef()
462
307
  const map_basic_basic &get_dict()
463
- 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
464
309
 
465
310
  cdef extern from "<symengine/pow.h>" namespace "SymEngine":
466
- cdef rcp_const_basic pow(rcp_const_basic &a, rcp_const_basic &b) nogil except+
467
- cdef rcp_const_basic sqrt(rcp_const_basic &x) nogil except+
468
- 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
469
314
 
470
315
  cdef cppclass Pow(Basic):
471
316
  rcp_const_basic get_base() nogil
@@ -477,7 +322,7 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
477
322
  rcp_const_basic make_rcp_Symbol "SymEngine::make_rcp<const SymEngine::Symbol>"(string name) nogil
478
323
  rcp_const_basic make_rcp_Dummy "SymEngine::make_rcp<const SymEngine::Dummy>"() nogil
479
324
  rcp_const_basic make_rcp_Dummy "SymEngine::make_rcp<const SymEngine::Dummy>"(string name) nogil
480
- rcp_const_basic make_rcp_PySymbol "SymEngine::make_rcp<const SymEngine::PySymbol>"(string name, PyObject * pyobj) nogil
325
+ rcp_const_basic make_rcp_PySymbol "SymEngine::make_rcp<const SymEngine::PySymbol>"(string name, PyObject * pyobj, bool use_pickle) except +
481
326
  rcp_const_basic make_rcp_Constant "SymEngine::make_rcp<const SymEngine::Constant>"(string name) nogil
482
327
  rcp_const_basic make_rcp_Infty "SymEngine::make_rcp<const SymEngine::Infty>"(RCP[const Number] i) nogil
483
328
  rcp_const_basic make_rcp_NaN "SymEngine::make_rcp<const SymEngine::NaN>"() nogil
@@ -489,9 +334,9 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
489
334
  void (*dec_ref)(void *), int (*comp)(void *, void *)) nogil
490
335
  rcp_const_basic make_rcp_RealDouble "SymEngine::make_rcp<const SymEngine::RealDouble>"(double x) nogil
491
336
  rcp_const_basic make_rcp_ComplexDouble "SymEngine::make_rcp<const SymEngine::ComplexDouble>"(double complex x) nogil
492
- RCP[const PyModule] make_rcp_PyModule "SymEngine::make_rcp<const SymEngine::PyModule>"(PyObject* (*) (rcp_const_basic x), \
493
- rcp_const_basic (*)(PyObject*), RCP[const Number] (*)(PyObject*, long bits),
494
- 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 +
495
340
  rcp_const_basic make_rcp_PyNumber "SymEngine::make_rcp<const SymEngine::PyNumber>"(PyObject*, RCP[const PyModule] x) nogil
496
341
  RCP[const PyFunctionClass] make_rcp_PyFunctionClass "SymEngine::make_rcp<const SymEngine::PyFunctionClass>"(PyObject* pyobject,
497
342
  string name, RCP[const PyModule] pymodule) nogil
@@ -499,58 +344,58 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
499
344
  RCP[const PyFunctionClass] pyfunc_class, const PyObject* pyobject) nogil
500
345
 
501
346
  cdef extern from "<symengine/functions.h>" namespace "SymEngine":
502
- cdef rcp_const_basic sin(rcp_const_basic &arg) nogil except+
503
- cdef rcp_const_basic cos(rcp_const_basic &arg) nogil except+
504
- cdef rcp_const_basic tan(rcp_const_basic &arg) nogil except+
505
- cdef rcp_const_basic cot(rcp_const_basic &arg) nogil except+
506
- cdef rcp_const_basic csc(rcp_const_basic &arg) nogil except+
507
- cdef rcp_const_basic sec(rcp_const_basic &arg) nogil except+
508
- cdef rcp_const_basic asin(rcp_const_basic &arg) nogil except+
509
- cdef rcp_const_basic acos(rcp_const_basic &arg) nogil except+
510
- cdef rcp_const_basic atan(rcp_const_basic &arg) nogil except+
511
- cdef rcp_const_basic acot(rcp_const_basic &arg) nogil except+
512
- cdef rcp_const_basic acsc(rcp_const_basic &arg) nogil except+
513
- cdef rcp_const_basic asec(rcp_const_basic &arg) nogil except+
514
- cdef rcp_const_basic sinh(rcp_const_basic &arg) nogil except+
515
- cdef rcp_const_basic cosh(rcp_const_basic &arg) nogil except+
516
- cdef rcp_const_basic tanh(rcp_const_basic &arg) nogil except+
517
- cdef rcp_const_basic coth(rcp_const_basic &arg) nogil except+
518
- cdef rcp_const_basic csch(rcp_const_basic &arg) nogil except+
519
- cdef rcp_const_basic sech(rcp_const_basic &arg) nogil except+
520
- cdef rcp_const_basic asinh(rcp_const_basic &arg) nogil except+
521
- cdef rcp_const_basic acosh(rcp_const_basic &arg) nogil except+
522
- cdef rcp_const_basic atanh(rcp_const_basic &arg) nogil except+
523
- cdef rcp_const_basic acoth(rcp_const_basic &arg) nogil except+
524
- cdef rcp_const_basic acsch(rcp_const_basic &arg) nogil except+
525
- cdef rcp_const_basic asech(rcp_const_basic &arg) nogil except+
526
- cdef rcp_const_basic function_symbol(string name, const vec_basic &arg) nogil except+
527
- cdef rcp_const_basic abs(rcp_const_basic &arg) nogil except+
528
- cdef rcp_const_basic max(const vec_basic &arg) nogil except+
529
- cdef rcp_const_basic min(const vec_basic &arg) nogil except+
530
- cdef rcp_const_basic gamma(rcp_const_basic &arg) nogil except+
531
- cdef rcp_const_basic atan2(rcp_const_basic &num, rcp_const_basic &den) nogil except+
532
- cdef rcp_const_basic lambertw(rcp_const_basic &arg) nogil except+
533
- cdef rcp_const_basic zeta(rcp_const_basic &s) nogil except+
534
- cdef rcp_const_basic zeta(rcp_const_basic &s, rcp_const_basic &a) nogil except+
535
- cdef rcp_const_basic dirichlet_eta(rcp_const_basic &s) nogil except+
536
- cdef rcp_const_basic kronecker_delta(rcp_const_basic &i, rcp_const_basic &j) nogil except+
537
- cdef rcp_const_basic levi_civita(const vec_basic &arg) nogil except+
538
- cdef rcp_const_basic erf(rcp_const_basic &arg) nogil except+
539
- cdef rcp_const_basic erfc(rcp_const_basic &arg) nogil except+
540
- cdef rcp_const_basic lowergamma(rcp_const_basic &s, rcp_const_basic &x) nogil except+
541
- cdef rcp_const_basic uppergamma(rcp_const_basic &s, rcp_const_basic &x) nogil except+
542
- cdef rcp_const_basic loggamma(rcp_const_basic &arg) nogil except+
543
- cdef rcp_const_basic beta(rcp_const_basic &x, rcp_const_basic &y) nogil except+
544
- cdef rcp_const_basic polygamma(rcp_const_basic &n, rcp_const_basic &x) nogil except+
545
- cdef rcp_const_basic digamma(rcp_const_basic &x) nogil except+
546
- cdef rcp_const_basic trigamma(rcp_const_basic &x) nogil except+
547
- cdef rcp_const_basic sign(rcp_const_basic &x) nogil except+
548
- cdef rcp_const_basic floor(rcp_const_basic &x) nogil except+
549
- cdef rcp_const_basic ceiling(rcp_const_basic &x) nogil except+
550
- cdef rcp_const_basic conjugate(rcp_const_basic &x) nogil except+
551
- cdef rcp_const_basic log(rcp_const_basic &x) nogil except+
552
- cdef rcp_const_basic log(rcp_const_basic &x, rcp_const_basic &y) nogil except+
553
- 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
554
399
 
555
400
  cdef cppclass Function(Basic):
556
401
  pass
@@ -718,71 +563,68 @@ cdef extern from "<symengine/functions.h>" namespace "SymEngine":
718
563
  cdef cppclass Conjugate(OneArgFunction):
719
564
  pass
720
565
 
566
+ cdef cppclass UnevaluatedExpr(OneArgFunction):
567
+ pass
568
+
721
569
  cdef cppclass Log(Function):
722
570
  pass
723
571
 
724
- IF HAVE_SYMENGINE_MPFR:
725
- cdef extern from "mpfr.h":
726
- ctypedef struct __mpfr_struct:
727
- pass
728
- ctypedef __mpfr_struct mpfr_t[1]
729
- ctypedef __mpfr_struct* mpfr_ptr
730
- ctypedef const __mpfr_struct* mpfr_srcptr
731
- ctypedef long mpfr_prec_t
732
- ctypedef enum mpfr_rnd_t:
733
- MPFR_RNDN
734
- MPFR_RNDZ
735
- MPFR_RNDU
736
- MPFR_RNDD
737
- MPFR_RNDA
738
- MPFR_RNDF
739
- MPFR_RNDNA
740
-
741
- cdef extern from "<symengine/real_mpfr.h>" namespace "SymEngine":
742
- cdef cppclass mpfr_class:
743
- mpfr_class() nogil
744
- mpfr_class(mpfr_prec_t prec) nogil
745
- mpfr_class(string s, mpfr_prec_t prec, unsigned base) nogil
746
- mpfr_class(mpfr_t m) nogil
747
- mpfr_ptr get_mpfr_t() nogil
748
-
749
- cdef cppclass RealMPFR(Number):
750
- RealMPFR(mpfr_class) nogil
751
- mpfr_class as_mpfr() nogil
752
- mpfr_prec_t get_prec() nogil
753
-
754
- RCP[const RealMPFR] real_mpfr(mpfr_class t) nogil
755
- ELSE:
756
- cdef extern from "<symengine/real_mpfr.h>" namespace "SymEngine":
757
- cdef cppclass RealMPFR(Number):
758
- pass
759
-
760
- IF HAVE_SYMENGINE_MPC:
761
- cdef extern from "mpc.h":
762
- ctypedef struct __mpc_struct:
763
- pass
764
- ctypedef __mpc_struct mpc_t[1]
765
- ctypedef __mpc_struct* mpc_ptr
766
- ctypedef const __mpc_struct* mpc_srcptr
767
-
768
- cdef extern from "<symengine/complex_mpc.h>" namespace "SymEngine":
769
- cdef cppclass mpc_class:
770
- mpc_class() nogil
771
- mpc_class(mpfr_prec_t prec) nogil
772
- mpc_class(mpc_t m) nogil
773
- mpc_ptr get_mpc_t() nogil
774
- mpc_class(string s, mpfr_prec_t prec, unsigned base) nogil
775
-
776
- cdef cppclass ComplexMPC(ComplexBase):
777
- ComplexMPC(mpc_class) nogil
778
- mpc_class as_mpc() nogil
779
- mpfr_prec_t get_prec() nogil
780
-
781
- RCP[const ComplexMPC] complex_mpc(mpc_class t) nogil
782
- ELSE:
783
- cdef extern from "<symengine/complex_mpc.h>" namespace "SymEngine":
784
- cdef cppclass ComplexMPC(Number):
785
- 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
786
628
 
787
629
  cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
788
630
  cdef cppclass MatrixBase:
@@ -790,7 +632,7 @@ cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
790
632
  const unsigned ncols() nogil
791
633
  rcp_const_basic get(unsigned i, unsigned j) nogil
792
634
  rcp_const_basic set(unsigned i, unsigned j, rcp_const_basic e) nogil
793
- string __str__() nogil except+
635
+ string __str__() except+ nogil
794
636
  bool eq(const MatrixBase &) nogil
795
637
  rcp_const_basic det() nogil
796
638
  void inv(MatrixBase &)
@@ -827,33 +669,32 @@ cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
827
669
  void row_del(unsigned k) nogil
828
670
  void col_del(unsigned k) nogil
829
671
  rcp_const_basic trace() nogil
830
- int is_zero() nogil
831
- int is_real() nogil
832
- int is_diagonal() nogil
833
- int is_symmetric() nogil
834
- int is_hermitian() nogil
835
- int is_weakly_diagonally_dominant() nogil
836
- int is_strictly_diagonally_dominant() nogil
837
- int is_positive_definite() nogil
838
- int is_negative_definite() nogil
839
-
840
- bool is_a_DenseMatrix "SymEngine::is_a<SymEngine::DenseMatrix>"(const MatrixBase &b) nogil
672
+ tribool is_zero() nogil
673
+ tribool is_real() nogil
674
+ tribool is_diagonal() nogil
675
+ tribool is_symmetric() nogil
676
+ tribool is_hermitian() nogil
677
+ tribool is_weakly_diagonally_dominant() nogil
678
+ tribool is_strictly_diagonally_dominant() nogil
679
+ tribool is_positive_definite() nogil
680
+ tribool is_negative_definite() nogil
681
+
841
682
  DenseMatrix* static_cast_DenseMatrix "static_cast<SymEngine::DenseMatrix*>"(const MatrixBase *a)
842
683
  void inverse_FFLU "SymEngine::inverse_fraction_free_LU"(const DenseMatrix &A,
843
- DenseMatrix &B) nogil except +
844
- 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
845
686
  void inverse_GJ "SymEngine::inverse_gauss_jordan"(const DenseMatrix &A,
846
- DenseMatrix &B) nogil except +
687
+ DenseMatrix &B) except+ nogil
847
688
  void FFLU_solve "SymEngine::fraction_free_LU_solve"(const DenseMatrix &A,
848
- const DenseMatrix &b, DenseMatrix &x) nogil except +
689
+ const DenseMatrix &b, DenseMatrix &x) except+ nogil
849
690
  void FFGJ_solve "SymEngine::fraction_free_gauss_jordan_solve"(const DenseMatrix &A,
850
- const DenseMatrix &b, DenseMatrix &x) nogil except +
691
+ const DenseMatrix &b, DenseMatrix &x) except+ nogil
851
692
  void LDL_solve "SymEngine::LDL_solve"(const DenseMatrix &A, const DenseMatrix &b,
852
- DenseMatrix &x) nogil except +
693
+ DenseMatrix &x) except+ nogil
853
694
  void jacobian "SymEngine::sjacobian"(const DenseMatrix &A,
854
- const DenseMatrix &x, DenseMatrix &result) nogil except +
695
+ const DenseMatrix &x, DenseMatrix &result) except+ nogil
855
696
  void diff "SymEngine::sdiff"(const DenseMatrix &A,
856
- rcp_const_basic &x, DenseMatrix &result) nogil except +
697
+ rcp_const_basic &x, DenseMatrix &result) except+ nogil
857
698
  void eye (DenseMatrix &A, int k) nogil
858
699
  void diag(DenseMatrix &A, vec_basic &v, int k) nogil
859
700
  void ones(DenseMatrix &A) nogil
@@ -866,7 +707,7 @@ cdef extern from "<symengine/matrix.h>" namespace "SymEngine":
866
707
  void cross(const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C) nogil
867
708
 
868
709
  cdef extern from "<symengine/matrix.h>":
869
- 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
870
711
 
871
712
  cdef extern from "<symengine/ntheory.h>" namespace "SymEngine":
872
713
  int probab_prime_p(const Integer &a, int reps)
@@ -875,10 +716,10 @@ cdef extern from "<symengine/ntheory.h>" namespace "SymEngine":
875
716
  RCP[const Integer] lcm(const Integer &a, const Integer &b) nogil
876
717
  void gcd_ext(const Ptr[RCP[Integer]] &g, const Ptr[RCP[Integer]] &s,
877
718
  const Ptr[RCP[Integer]] &t, const Integer &a, const Integer &b) nogil
878
- RCP[const Integer] mod "SymEngine::mod_f"(const Integer &n, const Integer &d) nogil except +
879
- 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
880
721
  void quotient_mod "SymEngine::quotient_mod_f"(const Ptr[RCP[Integer]] &q, const Ptr[RCP[Integer]] &mod,
881
- const Integer &n, const Integer &d) nogil except +
722
+ const Integer &n, const Integer &d) except+ nogil
882
723
  int mod_inverse(const Ptr[RCP[Integer]] &b, const Integer &a,
883
724
  const Integer &m) nogil
884
725
  bool crt(const Ptr[RCP[Integer]] &R, const vec_integer &rem,
@@ -898,9 +739,9 @@ cdef extern from "<symengine/ntheory.h>" namespace "SymEngine":
898
739
  unsigned B, unsigned retries) nogil
899
740
  int factor_pollard_rho_method(const Ptr[RCP[Integer]] &f, const Integer &n,
900
741
  unsigned retries) nogil
901
- void prime_factors(vec_integer &primes, const Integer &n) nogil except +
902
- void prime_factor_multiplicities(map_integer_uint &primes, const Integer &n) nogil except +
903
- 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
904
745
  bool primitive_root(const Ptr[RCP[Integer]] &g, const Integer &n) nogil
905
746
  void primitive_root_list(vec_integer &roots, const Integer &n) nogil
906
747
  RCP[const Integer] totient(RCP[const Integer] n) nogil
@@ -928,15 +769,15 @@ cdef extern from "<symengine/prime_sieve.h>" namespace "SymEngine":
928
769
  unsigned next_prime() nogil
929
770
 
930
771
  cdef extern from "<symengine/visitor.h>" namespace "SymEngine":
931
- bool has_symbol(const Basic &b, const Symbol &x) nogil except +
932
- rcp_const_basic coeff(const Basic &b, const Basic &x, const Basic &n) nogil except +
933
- set_basic free_symbols(const Basic &b) nogil except +
934
- 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
935
776
  unsigned count_ops(const vec_basic &a) nogil
936
777
 
937
778
  cdef extern from "<symengine/logic.h>" namespace "SymEngine":
938
779
  cdef cppclass Boolean(Basic):
939
- RCP[const Boolean] logical_not() nogil except+
780
+ RCP[const Boolean] logical_not() except+ nogil
940
781
  cdef cppclass BooleanAtom(Boolean):
941
782
  bool get_val() nogil
942
783
  cdef cppclass Relational(Boolean):
@@ -964,64 +805,54 @@ cdef extern from "<symengine/logic.h>" namespace "SymEngine":
964
805
 
965
806
  rcp_const_basic boolTrue
966
807
  rcp_const_basic boolFalse
967
- bool is_a_Relational(const Basic &b) nogil
968
- cdef RCP[const Boolean] Eq(rcp_const_basic &lhs) nogil except+
969
- cdef RCP[const Boolean] Eq(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
970
- cdef RCP[const Boolean] Ne(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
971
- cdef RCP[const Boolean] Ge(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
972
- cdef RCP[const Boolean] Gt(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
973
- cdef RCP[const Boolean] Le(rcp_const_basic &lhs, rcp_const_basic &rhs) nogil except+
974
- 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
975
815
  ctypedef Boolean const_Boolean "const SymEngine::Boolean"
976
816
  ctypedef vector[pair[rcp_const_basic, RCP[const_Boolean]]] PiecewiseVec;
977
817
  ctypedef vector[RCP[Boolean]] vec_boolean "SymEngine::vec_boolean"
978
- ctypedef set[RCP[Boolean], RCPBasicKeyLess] set_boolean "SymEngine::set_boolean"
979
- cdef RCP[const Boolean] logical_and(set_boolean &s) nogil except+
980
- cdef RCP[const Boolean] logical_nand(set_boolean &s) nogil except+
981
- cdef RCP[const Boolean] logical_or(set_boolean &s) nogil except+
982
- cdef RCP[const Boolean] logical_not(RCP[const Boolean] &s) nogil except+
983
- cdef RCP[const Boolean] logical_nor(set_boolean &s) nogil except+
984
- cdef RCP[const Boolean] logical_xor(vec_boolean &s) nogil except+
985
- cdef RCP[const Boolean] logical_xnor(vec_boolean &s) nogil except+
986
- 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
987
827
  cdef RCP[const Boolean] contains(rcp_const_basic &expr,
988
828
  RCP[const Set] &set) nogil
989
829
 
990
- cdef extern from "<utility>" namespace "std":
991
- cdef integer_class std_move_mpz "std::move" (integer_class) nogil
992
- IF HAVE_SYMENGINE_MPFR:
993
- cdef mpfr_class std_move_mpfr "std::move" (mpfr_class) nogil
994
- IF HAVE_SYMENGINE_MPC:
995
- cdef mpc_class std_move_mpc "std::move" (mpc_class) nogil
996
- cdef map_basic_basic std_move_map_basic_basic "std::move" (map_basic_basic) nogil
997
- cdef PiecewiseVec std_move_PiecewiseVec "std::move" (PiecewiseVec) nogil
998
-
999
830
  cdef extern from "<symengine/eval.h>" namespace "SymEngine":
1000
831
  cdef cppclass EvalfDomain:
1001
832
  pass
1002
833
  cdef EvalfDomain EvalfComplex "SymEngine::EvalfDomain::Complex"
1003
834
  cdef EvalfDomain EvalfReal "SymEngine::EvalfDomain::Real"
1004
835
  cdef EvalfDomain EvalfSymbolic "SymEngine::EvalfDomain::Symbolic"
1005
- 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
1006
837
 
1007
838
  cdef extern from "<symengine/eval_double.h>" namespace "SymEngine":
1008
- double eval_double(const Basic &b) nogil except +
1009
- 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
1010
841
 
1011
842
  cdef extern from "<symengine/lambda_double.h>" namespace "SymEngine":
1012
843
  cdef cppclass LambdaRealDoubleVisitor:
1013
844
  LambdaRealDoubleVisitor() nogil
1014
- 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
1015
846
  void call(double *r, const double *x) nogil
1016
847
  cdef cppclass LambdaComplexDoubleVisitor:
1017
848
  LambdaComplexDoubleVisitor() nogil
1018
- 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
1019
850
  void call(double complex *r, const double complex *x) nogil
1020
851
 
1021
852
  cdef extern from "<symengine/llvm_double.h>" namespace "SymEngine":
1022
853
  cdef cppclass LLVMVisitor:
1023
854
  LLVMVisitor() nogil
1024
- 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
1025
856
  const string& dumps() nogil
1026
857
  void loads(const string&) nogil
1027
858
 
@@ -1037,29 +868,27 @@ cdef extern from "<symengine/llvm_double.h>" namespace "SymEngine":
1037
868
 
1038
869
  cdef extern from "<symengine/series.h>" namespace "SymEngine":
1039
870
  cdef cppclass SeriesCoeffInterface:
1040
- rcp_const_basic as_basic() nogil except +
1041
- umap_int_basic as_dict() nogil except +
1042
- 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
1043
874
  ctypedef RCP[const SeriesCoeffInterface] rcp_const_seriescoeffinterface "SymEngine::RCP<const SymEngine::SeriesCoeffInterface>"
1044
- 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
1045
876
 
1046
- IF HAVE_SYMENGINE_MPFR:
1047
- cdef extern from "<symengine/eval_mpfr.h>" namespace "SymEngine":
1048
- 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
1049
879
 
1050
- IF HAVE_SYMENGINE_MPC:
1051
- cdef extern from "<symengine/eval_mpc.h>" namespace "SymEngine":
1052
- 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
1053
882
 
1054
883
  cdef extern from "<symengine/parser.h>" namespace "SymEngine":
1055
- rcp_const_basic parse(const string &n) nogil except +
884
+ rcp_const_basic parse(const string &n) except+ nogil
1056
885
 
1057
886
  cdef extern from "<symengine/sets.h>" namespace "SymEngine":
1058
887
  cdef cppclass Set(Basic):
1059
- RCP[const Set] set_intersection(RCP[const Set] &o) nogil except +
1060
- RCP[const Set] set_union(RCP[const Set] &o) nogil except +
1061
- RCP[const Set] set_complement(RCP[const Set] &o) nogil except +
1062
- 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
1063
892
  cdef cppclass Interval(Set):
1064
893
  pass
1065
894
  cdef cppclass EmptySet(Set):
@@ -1082,31 +911,44 @@ cdef extern from "<symengine/sets.h>" namespace "SymEngine":
1082
911
  pass
1083
912
  cdef cppclass ImageSet(Set):
1084
913
  pass
1085
- ctypedef set[RCP[Set], RCPBasicKeyLess] set_set "SymEngine::set_set"
1086
- cdef rcp_const_basic interval(RCP[const Number] &start, RCP[const Number] &end, bool l, bool r) nogil except +
1087
- cdef RCP[const EmptySet] emptyset() nogil except +
1088
- cdef RCP[const Reals] reals() nogil except +
1089
- cdef RCP[const Rationals] rationals() nogil except +
1090
- cdef RCP[const Integers] integers() nogil except +
1091
- cdef RCP[const UniversalSet] universalset() nogil except +
1092
- cdef RCP[const Set] finiteset(set_basic &container) nogil except +
1093
- cdef RCP[const Set] set_union(set_set &a) nogil except +
1094
- cdef RCP[const Set] set_intersection(set_set &a) nogil except +
1095
- cdef RCP[const Set] set_complement_helper(RCP[const Set] &container, RCP[const Set] &universe) nogil except +
1096
- cdef RCP[const Set] set_complement(RCP[const Set] &universe, RCP[const Set] &container) nogil except +
1097
- cdef RCP[const Set] conditionset(rcp_const_basic &sym, RCP[const Boolean] &condition) nogil except +
1098
- 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
1099
928
 
1100
929
  cdef extern from "<symengine/solve.h>" namespace "SymEngine":
1101
- cdef RCP[const Set] solve(rcp_const_basic &f, RCP[const Symbol] &sym) nogil except +
1102
- cdef RCP[const Set] solve(rcp_const_basic &f, RCP[const Symbol] &sym, RCP[const Set] &domain) nogil except +
1103
- 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
933
+
934
+ cdef extern from "symengine/tribool.h" namespace "SymEngine":
935
+ cdef cppclass tribool:
936
+ pass # tribool is an enum class
937
+
938
+ cdef bool is_true(tribool) nogil
939
+ cdef bool is_false(tribool) nogil
940
+ cdef bool is_indeterminate(tribool) nogil
941
+
942
+ cdef extern from "symengine/tribool.h" namespace "SymEngine::tribool":
943
+ cdef tribool indeterminate
944
+ cdef tribool trifalse
945
+ cdef tribool tritrue
1104
946
 
1105
947
  cdef extern from "<symengine/printers.h>" namespace "SymEngine":
1106
- string ccode(const Basic &x) nogil except +
1107
- string latex(const Basic &x) nogil except +
1108
- string latex(const DenseMatrix &x, unsigned max_rows, unsigned max_cols) nogil except +
1109
- 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
1110
952
 
1111
953
  ## Defined in 'symengine/cwrapper.cpp'
1112
954
  cdef struct CRCPBasic: