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