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