Skip to content

Commit d9dd186

Browse files
authored
Merge pull request #2897 from devitocodes/symbolic-strides
compiler: Add symbolic_strides property
2 parents bab9aae + ef26e40 commit d9dd186

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

devito/types/basic.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,6 +1142,17 @@ def symbolic_shape(self):
11421142
for i, j, k in zip(domain, halo, padding, strict=True))
11431143
return DimensionTuple(*ret, getters=self.dimensions)
11441144

1145+
@cached_property
1146+
def symbolic_strides(self):
1147+
"""
1148+
The symbolic strides of the object, expressed in number of elements.
1149+
"""
1150+
strides = [sympy.Mul(*self.symbolic_shape[i+1:], evaluate=False)
1151+
for i in range(self.ndim - 1)]
1152+
strides.append(sympy.S.One)
1153+
1154+
return DimensionTuple(*strides, getters=self.dimensions)
1155+
11451156
@property
11461157
def symbolic_size(self):
11471158
return np.prod(self.symbolic_shape)

0 commit comments

Comments
 (0)