@@ -108,7 +108,7 @@ cdef class Term:
108108
109109 def __init__ (self , *vartuple: Variable ):
110110 self .vartuple = tuple (sorted (vartuple, key = lambda v : v.getIndex()))
111- self .hashval = < Py_ssize_t> hash (self .vartuple)
111+ self .hashval = < Py_ssize_t> hash (v.ptr() for v in self .vartuple)
112112
113113 def __getitem__ (self , idx ):
114114 return self .vartuple[idx]
@@ -132,7 +132,7 @@ cdef class Term:
132132 for i in range(n ):
133133 var1 = < Variable> PyTuple_GET_ITEM(self .vartuple, i)
134134 var2 = < Variable> PyTuple_GET_ITEM(_other.vartuple, i)
135- if hash ( var1) != hash ( var2):
135+ if var1.ptr( ) != var2.ptr( ):
136136 return False
137137 return True
138138
@@ -153,7 +153,7 @@ cdef class Term:
153153 while i < n1 and j < n2:
154154 var1 = < Variable> PyTuple_GET_ITEM(self .vartuple, i)
155155 var2 = < Variable> PyTuple_GET_ITEM(other.vartuple, j)
156- if var1.ptr () <= var2.ptr ():
156+ if var1.getIndex () <= var2.getIndex ():
157157 vartuple[k] = var1
158158 i += 1
159159 else :
@@ -171,7 +171,7 @@ cdef class Term:
171171
172172 cdef Term res = Term.__new__ (Term)
173173 res.vartuple = tuple (vartuple)
174- res.hashval = < Py_ssize_t> hash (res.vartuple)
174+ res.hashval = < Py_ssize_t> hash (v.ptr() for v in res.vartuple)
175175 return res
176176
177177 def __repr__ (self ):
0 commit comments