From 12569d59cb548c15094d11b2a1cc1bd36ebe4895 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Fri, 23 Sep 2022 15:02:57 -0500 Subject: [PATCH] Don't flatten in IdentityMapper --- pymbolic/mapper/__init__.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pymbolic/mapper/__init__.py b/pymbolic/mapper/__init__.py index bac3b58..0b59c97 100644 --- a/pymbolic/mapper/__init__.py +++ b/pymbolic/mapper/__init__.py @@ -500,17 +500,9 @@ class IdentityMapper(Mapper): for child, orig_child in zip(children, expr.children)): return expr - from pymbolic.primitives import flattened_sum - return flattened_sum(children) - - def map_product(self, expr, *args, **kwargs): - children = [self.rec(child, *args, **kwargs) for child in expr.children] - if all(child is orig_child - for child, orig_child in zip(children, expr.children)): - return expr + return type(expr)(tuple(children)) - from pymbolic.primitives import flattened_product - return flattened_product(children) + map_product = map_sum def map_quotient(self, expr, *args, **kwargs): numerator = self.rec(expr.numerator, *args, **kwargs) -- GitLab