From 3664c9daae9242bc158a04824c6f74ca0c07a5a1 Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Tue, 3 Dec 2019 13:12:55 +0100 Subject: [PATCH] Fix CBackends _print_Function for functions that don't have names Like LLVM backend's pointer_arithmetic_func --- pystencils/backends/cbackend.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py index 59d9011d..70e2814f 100644 --- a/pystencils/backends/cbackend.py +++ b/pystencils/backends/cbackend.py @@ -5,6 +5,7 @@ import numpy as np import sympy as sp from sympy.core import S from sympy.printing.ccode import C89CodePrinter + from pystencils.astnodes import KernelFunction, Node from pystencils.cpu.vectorization import vec_all, vec_any from pystencils.data_types import ( @@ -385,8 +386,9 @@ class CustomSympyPrinter(CCodePrinter): elif expr.func == int_div: return "((%s) / (%s))" % (self._print(expr.args[0]), self._print(expr.args[1])) else: + name = expr.name if hasattr(expr, 'name') else expr.__class__.__name__ arg_str = ', '.join(self._print(a) for a in expr.args) - return f'{expr.name}({arg_str})' + return f'{name}({arg_str})' def _typed_number(self, number, dtype): res = self._print(number) -- GitLab