Author: Sergey Matyunin <[email protected]>
Branch: numpy_broadcast_nd
Changeset: r84064:2bcbec2ef549
Date: 2016-04-24 11:46 +0200
http://bitbucket.org/pypy/pypy/changeset/2bcbec2ef549/

Log:    In W_Broadcast (micronumpy) implemented nd attribute

diff --git a/pypy/module/micronumpy/broadcast.py 
b/pypy/module/micronumpy/broadcast.py
--- a/pypy/module/micronumpy/broadcast.py
+++ b/pypy/module/micronumpy/broadcast.py
@@ -81,6 +81,9 @@
     def descr_get_numiter(self, space):
         return space.wrap(len(self.iters))
 
+    def descr_get_number_of_dimensions(self, space):
+        return space.wrap(len(self.shape))
+
     @jit.unroll_safe
     def descr_next(self, space):
         if self.index >= self.size:
@@ -107,4 +110,5 @@
                               size=GetSetProperty(W_Broadcast.descr_get_size),
                               
index=GetSetProperty(W_Broadcast.descr_get_index),
                               
numiter=GetSetProperty(W_Broadcast.descr_get_numiter),
+                              
nd=GetSetProperty(W_Broadcast.descr_get_number_of_dimensions),
                               )
diff --git a/pypy/module/micronumpy/test/test_broadcast.py 
b/pypy/module/micronumpy/test/test_broadcast.py
--- a/pypy/module/micronumpy/test/test_broadcast.py
+++ b/pypy/module/micronumpy/test/test_broadcast.py
@@ -57,7 +57,6 @@
 
     def test_broadcast_failures(self):
         import numpy as np
-        import sys
         x = np.array([1, 2, 3])
         y = np.array([4, 5])
         raises(ValueError, np.broadcast, x, y)
@@ -95,3 +94,11 @@
             else:
                 mit = np.broadcast(*arrs)
                 assert mit.numiter == j
+
+    def test_broadcast_nd(self):
+        import numpy as np
+        arg1, arg2 = np.empty((6, 7)), np.empty((5, 6, 1))
+        b = np.broadcast(arg1, arg2)
+
+        assert hasattr(b, 'nd')
+        assert b.nd == 3
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to