diff --git a/grudge/symbolic/compiler.py b/grudge/symbolic/compiler.py index 8c1c5925b03a6e278f1eb3b91d962021a31aed59..864bbed5d4911c26339d36281928cb7569413c54 100644 --- a/grudge/symbolic/compiler.py +++ b/grudge/symbolic/compiler.py @@ -31,7 +31,7 @@ from six.moves import zip, reduce from pytools import Record, memoize_method, memoize from grudge import sym import grudge.symbolic.mappers as mappers -from pymbolic.primitives import Variable, Subscript, Call +from pymbolic.primitives import Variable, Subscript from six.moves import intern from loopy.version import LOOPY_USE_LANGUAGE_VERSION_2018_1 # noqa: F401 @@ -828,13 +828,15 @@ def aggregate_assignments(inf_mapper, instructions, result, # {{{ to-loopy mapper def is_external_call(expr, function_registry): + from pymbolic.primitives import Call if not isinstance(expr, Call): return False return not is_function_loopyable(expr.function, function_registry) def is_function_loopyable(function, function_registry): - assert isinstance(function, Variable) + from grudge.primitives import FunctionSymbol + assert isinstance(function, FunctionSymbol) return function_registry[function.name].supports_codegen