From d6bcf99324f21e8a056df8d1679a009b10ddeea5 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Wed, 6 Jan 2016 17:45:45 -0600 Subject: [PATCH] Make constant folder in distributor customizable --- pymbolic/mapper/distributor.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pymbolic/mapper/distributor.py b/pymbolic/mapper/distributor.py index fd32405..7b6efa3 100644 --- a/pymbolic/mapper/distributor.py +++ b/pymbolic/mapper/distributor.py @@ -42,9 +42,14 @@ class DistributeMapper(IdentityMapper): 7*x**6 + 21*x**5 + 21*x**2 + 35*x**3 + 1 + 35*x**4 + 7*x + x**7 """ - def __init__(self, collector=TermCollector()): + def __init__(self, collector=None, const_folder=None): + if collector is None: + collector = TermCollector() + if const_folder is None: + const_folder = CommutativeConstantFoldingMapper() + self.collector = collector - self.const_folder = CommutativeConstantFoldingMapper() + self.const_folder = const_folder def collect(self, expr): return self.collector(self.const_folder(expr)) -- GitLab