From b9d654aef0fe39886043a76cae2900911a843615 Mon Sep 17 00:00:00 2001 From: Markus Holzer <markus.holzer@fau.de> Date: Mon, 23 May 2022 17:28:23 +0200 Subject: [PATCH] Revision3 --- pystencils/transformations.py | 1 + pystencils_tests/test_move_constant_before_loop.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pystencils/transformations.py b/pystencils/transformations.py index 06005cbf7..09c2e0976 100644 --- a/pystencils/transformations.py +++ b/pystencils/transformations.py @@ -638,6 +638,7 @@ def move_constants_before_loop(ast_node): new_symbol = TypedSymbol(sp.Dummy().name, child.lhs.dtype) target.insert_before(ast.SympyAssignment(new_symbol, child.rhs, is_const=child.is_const), child_to_insert_before) + block.append(ast.SympyAssignment(child.lhs, new_symbol, is_const=child.is_const)) def split_inner_loop(ast_node: ast.Node, symbol_groups): diff --git a/pystencils_tests/test_move_constant_before_loop.py b/pystencils_tests/test_move_constant_before_loop.py index bec180dee..ea736dd18 100644 --- a/pystencils_tests/test_move_constant_before_loop.py +++ b/pystencils_tests/test_move_constant_before_loop.py @@ -25,7 +25,9 @@ def test_symbol_renaming(): loops = block.atoms(LoopOverCoordinate) assert len(loops) == 2 + assert len(block.args[2].body.args) == 1 + assert len(block.args[3].body.args) == 2 + for loop in loops: - assert len(loop.body.args) == 1 assert len(loop.parent.args) == 4 # 2 loops + 2 subexpressions assert loop.parent.args[0].lhs.name != loop.parent.args[1].lhs.name -- GitLab