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