From b8d22efbaecc76d77a2b5ff44e38485ed3ddc757 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 9 Feb 2015 12:08:46 -0600 Subject: [PATCH] Adapt complex_mangler to loopy-with-targets --- sumpy/codegen.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sumpy/codegen.py b/sumpy/codegen.py index 74b1a279..20c48667 100644 --- a/sumpy/codegen.py +++ b/sumpy/codegen.py @@ -65,15 +65,20 @@ class SympyToPymbolicMapper(SympyToPymbolicMapperBase): # }}} + # {{{ complex handling -def complex_mangler(identifier, arg_dtypes): +def complex_mangler(target, identifier, arg_dtypes): """A function "mangler" to make casting to complex values digestible for :mod:`loopy`. See argument *function_manglers* to :func:`loopy.make_kernel`. """ + from loopy.target.pyopencl import PyOpenCLTarget + if not isinstance(target, PyOpenCLTarget): + raise NotImplementedError("Only the PyOpenCLTarget is supported as of now") + if identifier == "complex" and arg_dtypes == (np.dtype(np.float64),): return (np.dtype(np.complex128), "cdouble_fromreal", (np.dtype(np.float64),)) -- GitLab