From 5d8207423ffd2c5ff8465cc69a4dcf52173c8c44 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Tue, 19 Jun 2012 12:58:14 -0400 Subject: [PATCH] Fix array *= array. (reported by Andrew Miller) --- pyopencl/array.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pyopencl/array.py b/pyopencl/array.py index 999c4544..6ccb093f 100644 --- a/pyopencl/array.py +++ b/pyopencl/array.py @@ -627,8 +627,13 @@ class Array(object): self._axpbz(result, common_dtype.type(scalar), self, self.dtype.type(0)) return result - def __imul__(self, scalar): - self._axpbz(self, scalar, self, self.dtype.type(0)) + def __imul__(self, other): + if isinstance(other, Array): + self._elwise_multiply(self, self, other) + else: + # scalar + self._axpbz(self, other, self, self.dtype.type(0)) + return self def __div__(self, other): -- GitLab