From 52fbf4edbfca9aef393c5551098a06ec84819bb2 Mon Sep 17 00:00:00 2001
From: Alexandru Fikl <alexfikl@gmail.com>
Date: Mon, 11 May 2020 15:52:13 -0500
Subject: [PATCH] operators: use pymbolic.is_constant

---
 grudge/function_registry.py  | 1 +
 grudge/symbolic/operators.py | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/grudge/function_registry.py b/grudge/function_registry.py
index 2f56eba4..4d521560 100644
--- a/grudge/function_registry.py
+++ b/grudge/function_registry.py
@@ -136,6 +136,7 @@ class CElementwiseBinaryFunction(Function):
             return func(arg0, arg1)
 
         from pymbolic.primitives import Variable
+
         @memoize_in(self, "map_call_knl_%s" % func_name)
         def knl():
             i = Variable("i")
diff --git a/grudge/symbolic/operators.py b/grudge/symbolic/operators.py
index cb88fa64..5f5cd5c9 100644
--- a/grudge/symbolic/operators.py
+++ b/grudge/symbolic/operators.py
@@ -152,9 +152,10 @@ class InterpolationOperator(Operator):
         from pytools.obj_array import with_object_array_or_scalar
 
         def interp_one(subexpr):
+            from pymbolic.primitives import is_constant
             if self.dd_in == self.dd_out:
                 return subexpr
-            elif isinstance(subexpr, (int, float, complex, np.number)):
+            elif is_constant(subexpr):
                 return subexpr
             else:
                 from grudge.symbolic.primitives import OperatorBinding
-- 
GitLab