diff --git a/devito/types/basic.py b/devito/types/basic.py index 32ad48ab51..cc0477bea9 100644 --- a/devito/types/basic.py +++ b/devito/types/basic.py @@ -1142,6 +1142,17 @@ def symbolic_shape(self): for i, j, k in zip(domain, halo, padding, strict=True)) return DimensionTuple(*ret, getters=self.dimensions) + @cached_property + def symbolic_strides(self): + """ + The symbolic strides of the object, expressed in number of elements. + """ + strides = [sympy.Mul(*self.symbolic_shape[i+1:], evaluate=False) + for i in range(self.ndim - 1)] + strides.append(sympy.S.One) + + return DimensionTuple(*strides, getters=self.dimensions) + @property def symbolic_size(self): return np.prod(self.symbolic_shape)