Skip to content
Snippets Groups Projects
Commit 37650bc9 authored by Nils Kohl's avatar Nils Kohl :full_moon_with_face:
Browse files

Added new sympy integer function: integer modulo, extended cbackend

parent 102f07f8
No related branches found
No related tags found
No related merge requests found
......@@ -13,7 +13,7 @@ except ImportError:
from sympy.printing.ccode import CCodePrinter # for sympy versions < 1.1
from pystencils.integer_functions import bitwise_xor, bit_shift_right, bit_shift_left, bitwise_and, \
bitwise_or, modulo_ceil, int_div, int_power_of_2
bitwise_or, modulo_ceil, int_div, int_power_of_2, int_mod
from pystencils.astnodes import Node, KernelFunction
from pystencils.data_types import create_type, PointerType, get_type_of_expression, VectorType, cast_func, \
vector_memory_access, reinterpret_cast_func
......@@ -308,6 +308,8 @@ class CustomSympyPrinter(CCodePrinter):
return "(1 << (%s))" % (self._print(expr.args[0]))
elif expr.func == int_div:
return "((%s) / (%s))" % (self._print(expr.args[0]), self._print(expr.args[1]))
elif expr.func == int_mod:
return "((%s) %% (%s))" % (self._print(expr.args[0]), self._print(expr.args[1]))
else:
return super(CustomSympyPrinter, self)._print_Function(expr)
......
......@@ -10,6 +10,7 @@ bitwise_and = sp.Function("bitwise_and")
bitwise_or = sp.Function("bitwise_or")
int_div = sp.Function("int_div")
int_power_of_2 = sp.Function("int_power_of_2")
int_mod = sp.Function("int_mod")
# noinspection PyPep8Naming
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment