From c66d8970d0f57bcac75c31d1d9fa11b4975b1923 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Thu, 31 Aug 2017 11:40:09 +0200 Subject: [PATCH] Automatically optimize quotients in pymbolic --- python/dune/perftool/ufl/visitor.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/python/dune/perftool/ufl/visitor.py b/python/dune/perftool/ufl/visitor.py index d3c4ebe7..e31ad9f2 100644 --- a/python/dune/perftool/ufl/visitor.py +++ b/python/dune/perftool/ufl/visitor.py @@ -256,8 +256,7 @@ class UFL2LoopyVisitor(ModifiedTerminalTracker): # def product(self, o): - from pymbolic import flattened_product - return flattened_product(tuple(self.call(op) for op in o.ufl_operands)) + return prim.flattened_product(tuple(self.call(op) for op in o.ufl_operands)) def float_value(self, o): return o.value() @@ -266,11 +265,10 @@ class UFL2LoopyVisitor(ModifiedTerminalTracker): return o.value() def division(self, o): - return Quotient(self.call(o.ufl_operands[0]), self.call(o.ufl_operands[1])) + return prim.quotient(self.call(o.ufl_operands[0]), self.call(o.ufl_operands[1])) def sum(self, o): - from pymbolic import flattened_sum - return flattened_sum(tuple(self.call(op) for op in o.ufl_operands)) + return prim.flattened_sum(tuple(self.call(op) for op in o.ufl_operands)) def zero(self, o): # UFL has Zeroes with shape. We ignore those indices. -- GitLab