From ad03e739cac63a54ef5a11e6c2f6ccb9a3bc0b54 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sat, 25 Oct 2014 21:21:32 -0500
Subject: [PATCH] Make IdentityMapper respect multivector

---
 pymbolic/mapper/__init__.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/pymbolic/mapper/__init__.py b/pymbolic/mapper/__init__.py
index 6d0a159..1d7c1e9 100644
--- a/pymbolic/mapper/__init__.py
+++ b/pymbolic/mapper/__init__.py
@@ -588,6 +588,13 @@ class WalkMapper(RecursiveMapper):
         for i in indices_in_shape(expr.shape):
             self.rec(expr[i], *args)
 
+    def map_multivector(self, expr, *args):
+        if not self.visit(expr, *args):
+            return
+
+        for bits, coeff in expr.data.iteritems():
+            self.rec(coeff)
+
     def map_common_subexpression(self, expr, *args, **kwargs):
         if not self.visit(expr, *args):
             return
-- 
GitLab