From ef26e40f45d01d7d290ab9f421053c6d8f10fae7 Mon Sep 17 00:00:00 2001 From: Fabio Luporini Date: Wed, 22 Apr 2026 14:49:32 +0100 Subject: [PATCH] compiler: Add symbolic_strides property --- devito/types/basic.py | 11 +++++++++++ 1 file changed, 11 insertions(+) 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)