Skip to content
Snippets Groups Projects

cbackend: short-cut _print_Conditional if condition is a boolean atom

Merged Michael Kuron requested to merge cbackend_conditional into master
1 file
+ 4
0
Compare changes
  • Side-by-side
  • Inline
@@ -292,6 +292,10 @@ class CBackend:
@@ -292,6 +292,10 @@ class CBackend:
return ""
return ""
def _print_Conditional(self, node):
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)
cond_type = get_type_of_expression(node.condition_expr)
if isinstance(cond_type, VectorType):
if isinstance(cond_type, VectorType):
raise ValueError("Problem with Conditional inside vectorized loop - use vec_any or vec_all")
raise ValueError("Problem with Conditional inside vectorized loop - use vec_any or vec_all")
Loading