From cebe5ba8754842917c4f2ab17587c23e8871e709 Mon Sep 17 00:00:00 2001
From: Alexander Harvey Nitz <ahnitz@syr.edu>
Date: Sun, 30 Jun 2013 16:27:07 -0400
Subject: [PATCH] Copy kernel handles mixed complex precision

---
 pyopencl/elementwise.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pyopencl/elementwise.py b/pyopencl/elementwise.py
index 8bcd174d..8d6941d5 100644
--- a/pyopencl/elementwise.py
+++ b/pyopencl/elementwise.py
@@ -440,6 +440,9 @@ def get_copy_kernel(context, dtype_dest, dtype_src):
     if dtype_dest.kind == "c" != dtype_src.kind:
         src = "%s_fromreal(%s)" % (complex_dtype_to_name(dtype_dest), src)
 
+    if dtype_dest.kind == "c" and dtype_src != dtype_dest:
+        src = "%s_cast(%s)" % (complex_dtype_to_name(dtype_dest), src),
+
     return get_elwise_kernel(context,
             "%(tp_dest)s *dest, %(tp_src)s *src" % {
                 "tp_dest": dtype_to_ctype(dtype_dest),
-- 
GitLab