Skip to content

Commit 4c330f7

Browse files
committed
sympy: Move diffify to __new__
1 parent a21171c commit 4c330f7

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

devito/finite_differences/derivative.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,10 @@ def __new__(cls, expr, *dims, **kwargs):
9595
if type(expr) is sympy.Derivative:
9696
raise ValueError("Cannot nest sympy.Derivative with devito.Derivative")
9797
if not isinstance(expr, Differentiable):
98-
raise ValueError("`expr` must be a Differentiable object")
98+
try:
99+
expr = diffify(expr)
100+
except Exception as e:
101+
raise ValueError("`expr` must be a Differentiable object") from e
99102

100103
new_dims, orders, fd_o, var_count = cls._process_kwargs(expr, *dims, **kwargs)
101104

@@ -262,10 +265,7 @@ def __call__(self, x0=None, fd_order=None, side=None, method=None, **kwargs):
262265

263266
def _rebuild(self, *args, **kwargs):
264267
kwargs['preprocessed'] = True
265-
if args:
266-
return super()._rebuild(diffify(args[0]), *args[1:], **kwargs)
267-
else:
268-
return super()._rebuild(**kwargs)
268+
return super()._rebuild(**kwargs)
269269

270270
func = _rebuild
271271

0 commit comments

Comments
 (0)