[pypy-commit] pypy python-numpy: add a test, fix for numpy compatability
mattip
noreply at buildbot.pypy.org
Fri Aug 10 16:33:52 CEST 2012
Author: mattip <matti.picus at gmail.com>
Branch: python-numpy
Changeset: r56696:b08ace68a844
Date: 2012-08-10 17:33 +0300
http://bitbucket.org/pypy/pypy/changeset/b08ace68a844/
Log: add a test, fix for numpy compatability
diff --git a/lib_pypy/numpypy/multiarray/__init__.py b/lib_pypy/numpypy/multiarray/__init__.py
--- a/lib_pypy/numpypy/multiarray/__init__.py
+++ b/lib_pypy/numpypy/multiarray/__init__.py
@@ -41,5 +41,10 @@
def count_nonzero(a):
if not hasattr(a,'flat'):
- a = ndarray(a)
- return sum(a.flat != 0)
+ try:
+ a = ndarray(a)
+ return sum(a.flat != 0)
+ except TypeError:
+ if isinstance(a, (tuple, list)):
+ return len(a)
+ return 1
diff --git a/lib_pypy/numpypy/test/test_multiarray.py b/lib_pypy/numpypy/test/test_multiarray.py
new file mode 100644
--- /dev/null
+++ b/lib_pypy/numpypy/test/test_multiarray.py
@@ -0,0 +1,13 @@
+try:
+ import _numpypy as np
+ import numpypy.multiarray as multiarray
+except:
+ import numpy as np
+ from numpy.core import multiarray
+
+from py.test import raises
+
+def test_count_nonzero():
+ a = np.array([[1, 1], [1, 1]])
+ assert multiarray.count_nonzero(a) == 4
+ raises(TypeError, multiarray.count_nonzero, 'a')
More information about the pypy-commit
mailing list