File tree Expand file tree Collapse file tree 3 files changed +15
-3
lines changed Expand file tree Collapse file tree 3 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -133,6 +133,7 @@ cdef extern from "<symengine/basic.h>" namespace "SymEngine":
133
133
RCP[const Rational] rcp_static_cast_Rational " SymEngine::rcp_static_cast<const SymEngine::Rational>" (rcp_const_basic & b) nogil
134
134
RCP[const Complex] rcp_static_cast_Complex " SymEngine::rcp_static_cast<const SymEngine::Complex>" (rcp_const_basic & b) nogil
135
135
RCP[const Number] rcp_static_cast_Number " SymEngine::rcp_static_cast<const SymEngine::Number>" (rcp_const_basic & b) nogil
136
+ RCP[const Dummy] rcp_static_cast_Dummy " SymEngine::rcp_static_cast<const SymEngine::Dummy>" (rcp_const_basic & b) nogil
136
137
RCP[const Add] rcp_static_cast_Add " SymEngine::rcp_static_cast<const SymEngine::Add>" (rcp_const_basic & b) nogil
137
138
RCP[const Mul] rcp_static_cast_Mul " SymEngine::rcp_static_cast<const SymEngine::Mul>" (rcp_const_basic & b) nogil
138
139
RCP[const Pow] rcp_static_cast_Pow " SymEngine::rcp_static_cast<const SymEngine::Pow>" (rcp_const_basic & b) nogil
@@ -180,7 +181,7 @@ cdef extern from "<symengine/symbol.h>" namespace "SymEngine":
180
181
Symbol(string name) nogil
181
182
string get_name() nogil
182
183
cdef cppclass Dummy(Symbol):
183
- pass
184
+ size_t get_index()
184
185
185
186
cdef extern from " <symengine/number.h>" namespace " SymEngine" :
186
187
cdef cppclass Number(Basic):
Original file line number Diff line number Diff line change @@ -1343,9 +1343,13 @@ cdef class Dummy(Symbol):
1343
1343
else :
1344
1344
self .thisptr = symengine.make_rcp_Dummy(name.encode(" utf-8" ))
1345
1345
1346
+ @property
1347
+ def name (self ):
1348
+ return self .__str__ ()[1 :]
1349
+
1346
1350
def _sympy_ (self ):
1347
1351
import sympy
1348
- return sympy.Dummy(str ( self )[ 1 :] )
1352
+ return sympy.Dummy(name = self .name, dummy_index = self .dummy_index )
1349
1353
1350
1354
@property
1351
1355
def is_Dummy (self ):
@@ -1355,6 +1359,12 @@ cdef class Dummy(Symbol):
1355
1359
def func (self ):
1356
1360
return self .__class__
1357
1361
1362
+ @property
1363
+ def dummy_index (self ):
1364
+ cdef RCP[const symengine.Dummy] this = \
1365
+ symengine.rcp_static_cast_Dummy(self .thisptr)
1366
+ cdef size_t index = deref(this).get_index()
1367
+ return index
1358
1368
1359
1369
def symarray (prefix , shape , **kwargs ):
1360
1370
""" Creates an nd-array of symbols
Original file line number Diff line number Diff line change 2
2
from symengine .test_utilities import raises
3
3
import unittest
4
4
import platform
5
-
5
+ import sympy
6
6
7
7
def test_symbol ():
8
8
x = Symbol ("x" )
@@ -156,6 +156,7 @@ def test_dummy():
156
156
x2 = Symbol ('x' )
157
157
xdummy1 = Dummy ('x' )
158
158
xdummy2 = Dummy ('x' )
159
+ assert xdummy1 .dummy_index != xdummy2 .dummy_index # maybe test using "less than"?
159
160
160
161
assert x1 == x2
161
162
assert x1 != xdummy1
You can’t perform that action at this time.
0 commit comments