From c7ddbea551a90942c926ec0f941d3efdcaf6696e Mon Sep 17 00:00:00 2001 From: Nicolas Nykto Date: Tue, 11 Jul 2023 17:18:15 -0500 Subject: [PATCH] add scalar minimum/maximum to loopy function mapper --- loopy/symbolic.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/loopy/symbolic.py b/loopy/symbolic.py index fd6013416..085f5176f 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 -- GitLab