Skip to content
Snippets Groups Projects
Commit a1c374cc authored by Stephan Seitz's avatar Stephan Seitz
Browse files

Add own implementation for printing an unknown function

Using the SymPy implementation for printing a `sympy.Function` has some issues:

 - you cannot use `cast_func` as an argument -> SymPy prints
 `cast_func(2,float)
 - typed numbers are not typed any more -> e.g. pow(x, 0.25) instead of
 pow(x, 0.25f)
parent c4e92d45
Branches
Tags
1 merge request!96Add own implementation for printing an unknown function
...@@ -385,7 +385,8 @@ class CustomSympyPrinter(CCodePrinter): ...@@ -385,7 +385,8 @@ class CustomSympyPrinter(CCodePrinter):
elif expr.func == int_div: elif expr.func == int_div:
return "((%s) / (%s))" % (self._print(expr.args[0]), self._print(expr.args[1])) return "((%s) / (%s))" % (self._print(expr.args[0]), self._print(expr.args[1]))
else: else:
return super(CustomSympyPrinter, self)._print_Function(expr) arg_str = ', '.join(self._print(a) for a in expr.args)
return f'{expr.name}({arg_str})'
def _typed_number(self, number, dtype): def _typed_number(self, number, dtype):
res = self._print(number) res = self._print(number)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment