From af8b88566cea53707f6d7f8f6ae446aec7c436bc Mon Sep 17 00:00:00 2001
From: Yichao Yu <yyc1992@gmail.com>
Date: Sun, 18 May 2014 08:28:23 -0400
Subject: [PATCH] small optimization for unary kernel generator

---
 pyopencl/elementwise.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/pyopencl/elementwise.py b/pyopencl/elementwise.py
index 5878b89c..0ec202ff 100644
--- a/pyopencl/elementwise.py
+++ b/pyopencl/elementwise.py
@@ -863,13 +863,12 @@ def get_unary_func_kernel(context, func_name, in_dtype, out_dtype=None):
     if out_dtype is None:
         out_dtype = in_dtype
 
-    return get_elwise_kernel(context,
-            "%(tp_out)s *z, %(tp_in)s *y" % {
-                "tp_in": dtype_to_ctype(in_dtype),
-                "tp_out": dtype_to_ctype(out_dtype),
-                },
-            "z[i] = %s(y[i])" % func_name,
-            name="%s_kernel" % func_name)
+    return get_elwise_kernel(context, [
+        VectorArg(out_dtype, "z", with_offset=True),
+        VectorArg(in_dtype, "y", with_offset=True),
+        ],
+        "z[i] = %s(y[i])" % func_name,
+        name="%s_kernel" % func_name)
 
 
 @context_dependent_memoize
-- 
GitLab