diff --git a/src/mapper/evaluator.py b/src/mapper/evaluator.py index 48cb683b75ca093d27d268b1123cc5c2d896df81..d5b35979add66da93147cabdd4aa354f91722002 100644 --- a/src/mapper/evaluator.py +++ b/src/mapper/evaluator.py @@ -36,12 +36,8 @@ class EvaluationMapper(RecursiveMapper): return sum(self.rec(child) for child in expr.children) def map_product(self, expr): - if len(expr.children) == 0: - return 1 # FIXME? - result = self.rec(expr.children[0]) - for child in expr.children[1:]: - result *= self.rec(child) - return result + from pytools import product + return product(self.rec(child) for child in expr.children) def map_quotient(self, expr): return self.rec(expr.numerator) / self.rec(expr.denominator)