Author: Timo Paulssen <timona...@perpetuum-immobile.de> Branch: numpy-singledim Changeset: r45572:35414c5cfac1 Date: 2011-07-13 18:08 +0200 http://bitbucket.org/pypy/pypy/changeset/35414c5cfac1/
Log: added size and ndim properties to numpy array. diff --git a/pypy/module/micronumpy/interp_numarray.py b/pypy/module/micronumpy/interp_numarray.py --- a/pypy/module/micronumpy/interp_numarray.py +++ b/pypy/module/micronumpy/interp_numarray.py @@ -244,6 +244,12 @@ def descr_len(self, space): return self.get_concrete().descr_len(space) + def descr_get_size(self, space): + return self.get_concrete().descr_len(space) + + def descr_get_ndim(self, space): + return self.get_concrete().descr_get_ndim(space) + def descr_getitem(self, space, w_idx): # TODO: indexing by tuples start, stop, step, slice_length = space.decode_index4(w_idx, self.find_size()) @@ -467,6 +473,9 @@ def descr_len(self, space): return space.wrap(self.size) + def descr_get_ndim(self, space): + return space.wrap(1) + def getitem(self, item): return self.storage[item] @@ -507,6 +516,8 @@ __new__ = interp2app(descr_new_numarray), shape = GetSetProperty(BaseArray.descr_get_shape), + size = GetSetProperty(BaseArray.descr_get_size), + ndim = GetSetProperty(BaseArray.descr_get_ndim), __len__ = interp2app(BaseArray.descr_len), __getitem__ = interp2app(BaseArray.descr_getitem), diff --git a/pypy/module/micronumpy/test/test_numarray.py b/pypy/module/micronumpy/test/test_numarray.py --- a/pypy/module/micronumpy/test/test_numarray.py +++ b/pypy/module/micronumpy/test/test_numarray.py @@ -66,6 +66,18 @@ assert len(a) == 5 assert len(a + a) == 5 + def test_ndim(self): + from numpy import array + a = array(range(4)) + assert a.ndim == 1 + assert (a + a).ndim == 1 + + def test_size(self): + from numpy import array + a = array(range(4)) + assert a.size == 4 + assert (a + a).size == 4 + def test_shape(self): from numpy import array a = array(range(5)) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit