From afa987d374c770da24e3baebe81c2152a6a8f0e9 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Tue, 15 Nov 2016 14:09:12 +0100
Subject: [PATCH] Issue operator/ for integer division

---
 python/dune/perftool/loopy/target.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/python/dune/perftool/loopy/target.py b/python/dune/perftool/loopy/target.py
index 9acfb073..948e935c 100644
--- a/python/dune/perftool/loopy/target.py
+++ b/python/dune/perftool/loopy/target.py
@@ -38,6 +38,14 @@ class DuneExpressionToCExpressionMapper(ExpressionToCExpressionMapper):
         else:
             return ExpressionToCExpressionMapper.map_subscript(self, expr, type_context)
 
+    def map_floor_div(self, expr, enclosing_prec):
+        # Loopy generates floor divs via a macro int_floor_div_pos_b
+        # I have no idea why it does this and would like to generate
+        # operator/ instead. At some point, I should ask Andreas about
+        # the intention of that macro. Returning expr will pass this into
+        # the CExpressionToCodeMapper as is => operator/.
+        return expr
+
 
 class DuneCExpressionToCodeMapper(CExpressionToCodeMapper):
     def map_remainder(self, expr, enclosing_prec):
-- 
GitLab