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