From f1fc341a36051f2efdaa4a9c477f4dc8f03fc704 Mon Sep 17 00:00:00 2001 From: Michael Kuron <mkuron@icp.uni-stuttgart.de> Date: Wed, 20 Nov 2019 17:42:59 +0100 Subject: [PATCH] cbackend: short-cut _print_Conditional if condition is a boolean atom --- pystencils/backends/cbackend.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py index 76ee03f58..5160fafd4 100644 --- a/pystencils/backends/cbackend.py +++ b/pystencils/backends/cbackend.py @@ -292,6 +292,10 @@ class CBackend: return "" def _print_Conditional(self, node): + if type(node.condition_expr) is sp.boolalg.BooleanTrue: + return self._print_Block(node.true_block) + elif type(node.condition_expr) is sp.boolalg.BooleanFalse: + return self._print_Block(node.false_block) cond_type = get_type_of_expression(node.condition_expr) if isinstance(cond_type, VectorType): raise ValueError("Problem with Conditional inside vectorized loop - use vec_any or vec_all") -- GitLab