Author: Brian Kearns <bdkea...@gmail.com>
Branch: 
Changeset: r67818:923d5e1fe253
Date: 2013-11-03 20:10 -0500
http://bitbucket.org/pypy/pypy/changeset/923d5e1fe253/

Log:    add shape/ndim attributes to scalars

diff --git a/pypy/module/micronumpy/interp_boxes.py 
b/pypy/module/micronumpy/interp_boxes.py
--- a/pypy/module/micronumpy/interp_boxes.py
+++ b/pypy/module/micronumpy/interp_boxes.py
@@ -265,6 +265,12 @@
     def descr_get_itemsize(self, space):
         return self.get_dtype(space).descr_get_itemsize(space)
 
+    def descr_get_shape(self, space):
+        return space.newtuple([])
+
+    def descr_get_ndim(self, space):
+        return space.wrap(0)
+
 class W_BoolBox(W_GenericBox, PrimitiveBox):
     descr__new__, _get_dtype, descr_reduce = new_dtype_getter("bool")
 
@@ -514,6 +520,8 @@
 
     dtype = GetSetProperty(W_GenericBox.descr_get_dtype),
     itemsize = GetSetProperty(W_GenericBox.descr_get_itemsize),
+    shape = GetSetProperty(W_GenericBox.descr_get_shape),
+    ndim = GetSetProperty(W_GenericBox.descr_get_ndim),
 )
 
 W_BoolBox.typedef = TypeDef("bool_", W_GenericBox.typedef,
diff --git a/pypy/module/micronumpy/test/test_scalar.py 
b/pypy/module/micronumpy/test/test_scalar.py
--- a/pypy/module/micronumpy/test/test_scalar.py
+++ b/pypy/module/micronumpy/test/test_scalar.py
@@ -61,3 +61,5 @@
         value = np.dtype('int64').type(12345)
         assert value.dtype == np.dtype('int64')
         assert value.itemsize == 8
+        assert value.shape == ()
+        assert value.ndim == 0
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to