We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent a1b9b61 commit a21171cCopy full SHA for a21171c
1 file changed
devito/finite_differences/differentiable.py
@@ -263,7 +263,16 @@ def __neg__(self):
263
return Mul(sympy.S.NegativeOne, self)
264
265
def __eq__(self, other):
266
- ret = super().__eq__(other)
+ from devito.finite_differences import Derivative
267
+ # Prevent recustion if other is also of derivative type
268
+ if type(self) is type(other) is Derivative:
269
+ # `sympy.Derivative.__eq__(self, other)` also recurses
270
+ ret = self.expr == other.expr
271
+ ret &= self.dimensions == other.dimensions
272
+ ret &= self.derivative_count == other.derivative_count
273
+ ret &= self.deriv_order == other.deriv_order
274
+ else:
275
+ ret = super().__eq__(other)
276
if ret is NotImplemented or not ret:
277
# Non comparable or not equal as sympy objects
278
return False
0 commit comments