From fd921b4d8d93ee6ed201db3eb6aa6630e6873726 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Sun, 24 Apr 2011 02:36:01 -0400 Subject: [PATCH] Memoize flags access. --- pyopencl/array.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyopencl/array.py b/pyopencl/array.py index 981e5f24..a93c947e 100644 --- a/pyopencl/array.py +++ b/pyopencl/array.py @@ -33,7 +33,7 @@ OTHER DEALINGS IN THE SOFTWARE. import numpy as np import pyopencl.elementwise as elementwise import pyopencl as cl -#from pytools import memoize_method +from pytools import memoize_method # {{{ vector types @@ -216,16 +216,19 @@ class _ArrayFlags: self.array = ary @property + @memoize_method def f_contiguous(self): return self.array.strides == _f_contiguous_strides( self.array.dtype.itemsize, self.array.shape) @property + @memoize_method def c_contiguous(self): return self.array.strides == _c_contiguous_strides( self.array.dtype.itemsize, self.array.shape) @property + @memoize_method def forc(self): return self.f_contiguous or self.c_contiguous @@ -332,6 +335,7 @@ class Array(object): self.context = self.data.context @property + @memoize_method def flags(self): return _ArrayFlags(self) -- GitLab