[pypy-commit] pypy default: numpy merge for ndim and size
justinpeel
noreply at buildbot.pypy.org
Wed Jul 13 23:45:11 CEST 2011
Author: Justin Peel <notmuchtotell at gmail.com>
Branch:
Changeset: r45574:df41087675e6
Date: 2011-07-13 15:45 -0600
http://bitbucket.org/pypy/pypy/changeset/df41087675e6/
Log: numpy merge for ndim and size
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_get_size(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,11 @@
def descr_len(self, space):
return space.wrap(self.size)
+ descr_get_size = descr_len
+
+ def descr_get_ndim(self, space):
+ return space.wrap(1)
+
def getitem(self, item):
return self.storage[item]
@@ -507,6 +518,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))
More information about the pypy-commit
mailing list