diff --git a/loopy/symbolic.py b/loopy/symbolic.py index fd601341616d8716503f1d66b0955f635596111c..085f5176f4c427fa07dbc458a0410c0413369ac1 100644 --- a/loopy/symbolic.py +++ b/loopy/symbolic.py @@ -1601,6 +1601,16 @@ class FunctionToPrimitiveMapper(UncachedIdentityMapper): else: raise TypeError("if takes three arguments") + elif name in ["minimum", "maximum"]: + if len(expr.parameters) == 2: + from pymbolic.primitives import Min, Max + return { + "minimum": Min, + "maximum": Max + }[name](tuple(self.rec(p) for p in expr.parameters)) + else: + raise TypeError(f"{name} takes two arguments") + else: # see if 'name' is an existing reduction op