From efa27df271a2486930101ae3dea75440b63b2f03 Mon Sep 17 00:00:00 2001 From: Fabio Luporini Date: Wed, 3 Jul 2024 12:39:55 +0000 Subject: [PATCH] compiler: Polish code --- devito/symbolics/manipulation.py | 2 +- devito/types/basic.py | 5 ++--- tests/test_dimension.py | 4 ++++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/devito/symbolics/manipulation.py b/devito/symbolics/manipulation.py index 7f44befb74..776415a3f6 100644 --- a/devito/symbolics/manipulation.py +++ b/devito/symbolics/manipulation.py @@ -287,7 +287,7 @@ def pow_to_mul(expr): # E.g., a Symbol, or possibly a generic expression return expr if exp > 10 or exp < -10 or exp == 0: - # Large and non-integer powers remain untouched + # Large powers remain untouched return expr elif exp == -1 or int(exp) != exp: # Reciprocals and fractional powers also remain untouched, diff --git a/devito/types/basic.py b/devito/types/basic.py index 962c19bfad..e21bae6453 100644 --- a/devito/types/basic.py +++ b/devito/types/basic.py @@ -1017,10 +1017,9 @@ def __padding_setup_smart__(self, **kwargs): return nopadding # The padded Dimension - candidates = self.space_dimensions - if not candidates: + if not self.space_dimensions: return nopadding - d = candidates[-1] + d = self.space_dimensions[-1] mmts = configuration['platform'].max_mem_trans_size(self.__padding_dtype__) remainder = self._size_nopad[d] % mmts diff --git a/tests/test_dimension.py b/tests/test_dimension.py index f4a87a20f9..18482ca65d 100644 --- a/tests/test_dimension.py +++ b/tests/test_dimension.py @@ -211,6 +211,10 @@ def test_modulo_dims_generation_v2(self): assert np.all(f.data[4] == 4) def test_degenerate_to_zero(self): + """ + Check that if `save=Buffer(1)` is used, then the TimeFunction doesn't + need any ModuloDimension for indexing. + """ grid = Grid(shape=(10, 10)) u = TimeFunction(name='u', grid=grid, save=Buffer(1))