From ca21993139c44dd0d6f6ef9f3edb21e62f7740c6 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Wed, 21 Nov 2018 16:11:01 +0100 Subject: [PATCH] Implement operation counting for special loopy functions by delegating Using the same concept we use for visiting with hasattr. --- python/dune/codegen/sumfact/vectorization.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python/dune/codegen/sumfact/vectorization.py b/python/dune/codegen/sumfact/vectorization.py index 2ac0ffb5..38996a90 100644 --- a/python/dune/codegen/sumfact/vectorization.py +++ b/python/dune/codegen/sumfact/vectorization.py @@ -144,6 +144,12 @@ class PrimitiveApproximateOpcounter(FlopCounter): def map_tagged_variable(self, expr): return self.map_variable(expr) + def map_loopy_function_identifier(self, expr): + if hasattr(expr, "operations"): + return expr.operations() + + raise NotImplementedError("The class {} should implement a symbolic flopcounter.".format(type(expr))) + @kernel_cached def store_operation_count(expr, count): -- GitLab