Skip to content

Commit 2b580a2

Browse files
Merge pull request #2752 from devitocodes/eval-fallback
compiler: Enable late evaluation
2 parents e8b621f + 5fd1749 commit 2b580a2

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

devito/finite_differences/differentiable.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -750,7 +750,12 @@ def dimensions(self):
750750
return self._dimensions
751751

752752
def _evaluate(self, **kwargs):
753-
expr = self.expr._evaluate(**kwargs)
753+
try:
754+
expr = self.expr._evaluate(**kwargs)
755+
except AttributeError:
756+
# There are rare circumstances in which `self.expr` is a plain
757+
# SymPy object rather than an Evaluable
758+
expr = Evaluable._evaluate_maybe_nested(self.expr, **kwargs)
754759

755760
if not kwargs.get('expand', True):
756761
return self._rebuild(expr)
@@ -770,7 +775,10 @@ def free_symbols(self):
770775

771776

772777
class WeightsIndexed(Indexed):
773-
pass
778+
779+
@property
780+
def dimension(self):
781+
return self.function.dimension
774782

775783

776784
class Weights(Array):

0 commit comments

Comments
 (0)