diff --git a/pymbolic/mapper/distributor.py b/pymbolic/mapper/distributor.py index fd324053933609736f6452c71c5e7497e49e4151..7b6efa31c3dc73652a6483cec3a28207446bf6ae 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))