From ebb2791f8252a34451ddea21b7ed425365031371 Mon Sep 17 00:00:00 2001 From: Fabio Luporini Date: Fri, 17 Apr 2026 08:54:11 +0100 Subject: [PATCH 1/3] compiler: Tweak RoundUP --- devito/symbolics/extended_sympy.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devito/symbolics/extended_sympy.py b/devito/symbolics/extended_sympy.py index be79fba3a4..46d2c5a43a 100644 --- a/devito/symbolics/extended_sympy.py +++ b/devito/symbolics/extended_sympy.py @@ -634,10 +634,10 @@ def __new__(cls, value, step, **kwargs): value = sympify(value) step = sympify(step) - if step < 1: - raise ValueError("Cannot round up with negative `step`") if not is_integer(step): raise ValueError("`step` must be an integer") + if step < 1: + raise ValueError("Cannot round up with negative `step`") if value.is_number and step.is_number: remainder = value % step From 22910a3432d6c2694bf7540106202cc57c8dff98 Mon Sep 17 00:00:00 2001 From: Fabio Luporini Date: Fri, 17 Apr 2026 08:59:37 +0100 Subject: [PATCH 2/3] tests: Tweak check_array --- conftest.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/conftest.py b/conftest.py index edf83799ef..b2d49697fb 100644 --- a/conftest.py +++ b/conftest.py @@ -467,11 +467,11 @@ def check_array(array, exp_halo, exp_shape, rotate=False): shape = [] for i in array.symbolic_shape: - if i.is_Number or i.is_Symbol: - shape.append(i) - else: - assert i.is_Add + if i.is_Add: + # Ensure it's a plain sympy.Add and not a subclass shape.append(Add(*i.args)) + else: + shape.append(i) if rotate: exp_shape = (sum(exp_halo[0]) + 1,) + tuple(exp_shape[1:]) From b255cca643eb11013d0a15fd9496e77d0c4abad0 Mon Sep 17 00:00:00 2001 From: Fabio Luporini Date: Fri, 17 Apr 2026 09:24:28 +0100 Subject: [PATCH 3/3] compiler: Use python int when padding, if possible --- devito/types/basic.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/devito/types/basic.py b/devito/types/basic.py index babd3eaf76..e2af17bd97 100644 --- a/devito/types/basic.py +++ b/devito/types/basic.py @@ -930,6 +930,8 @@ def __padding_setup_smart__(self, **kwargs): else: from devito.symbolics import RoundUp # noqa v = RoundUp(snp, mmts) - snp + if v.is_Integer: + v = int(v) dpadding = (0, v) padding = [(0, 0)]*self.ndim