From 099c281a7b64a9a2827ccd7d7367e3b7486e990a Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Mon, 5 Aug 2019 21:03:26 +0200 Subject: [PATCH] Determine undefined_symbols of SympyAssignment by free_symbols instead of atoms (needed for Sum,Product: Symbol is used and defined in rhs) This filters out symbols that have arguments. sp.Indexed should not be considered only its arguments. --- pystencils/astnodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pystencils/astnodes.py b/pystencils/astnodes.py index d9867fed..e3dca67d 100644 --- a/pystencils/astnodes.py +++ b/pystencils/astnodes.py @@ -517,7 +517,7 @@ class SympyAssignment(Node): @property def undefined_symbols(self): - result = self.rhs.atoms(sp.Symbol) + result = {s for s in self.rhs.free_symbols if not isinstance(s, sp.Indexed)} # Add loop counters if there a field accesses loop_counters = set() for symbol in result: -- GitLab