From c80d6c7221d3e4c6e682ab77c49c9ef0f8039a50 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Wed, 19 Jun 2013 16:44:17 -0400 Subject: [PATCH] Expose Array.setitem --- pyopencl/array.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pyopencl/array.py b/pyopencl/array.py index 73696b03..d8f14fe3 100644 --- a/pyopencl/array.py +++ b/pyopencl/array.py @@ -350,6 +350,8 @@ class Array(object): .. automethod :: __getitem__ .. automethod :: __setitem__ + .. automethod :: setitem + """ __array_priority__ = 10 @@ -1171,7 +1173,13 @@ class Array(object): shape=tuple(new_shape), strides=tuple(new_strides)) - def _setitem(self, subscript, value, queue=None): + def setitem(self, subscript, value, queue=None): + """Like :meth:`__setitem__`, but with the ability to specify + a *queue* for execution. + + .. versionadded:: 2013.1 + """ + queue = queue or self.queue or value.queue subarray = self[subscript] @@ -1217,7 +1225,7 @@ class Array(object): .. versionadded:: 2013.1 """ - self._setitem(subscript, value) + self.setitem(subscript, value) # }}} @@ -1656,7 +1664,7 @@ def concatenate(arrays, axis=0, queue=None, allocator=None): base_idx = 0 for ary in arrays: my_len = ary.shape[axis] - result._setitem( + result.setitem( full_slice[:axis] + (slice(base_idx, base_idx+my_len),) + full_slice[axis+1:], -- GitLab