summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/linalg/linalg.py2
-rw-r--r--numpy/linalg/tests/test_linalg.py5
2 files changed, 2 insertions, 5 deletions
diff --git a/numpy/linalg/linalg.py b/numpy/linalg/linalg.py
index fe2031efb..f333bde47 100644
--- a/numpy/linalg/linalg.py
+++ b/numpy/linalg/linalg.py
@@ -2150,7 +2150,7 @@ def norm(x, ord=None, axis=None, keepdims=False):
return abs(x).min(axis=axis, keepdims=keepdims)
elif ord == 0:
# Zero norm
- return (x != 0).sum(axis=axis, keepdims=keepdims)
+ return (x != 0).astype(float).sum(axis=axis, keepdims=keepdims)
elif ord == 1:
# special case for speedup
return add.reduce(abs(x), axis=axis, keepdims=keepdims)
diff --git a/numpy/linalg/tests/test_linalg.py b/numpy/linalg/tests/test_linalg.py
index 5c6142b7b..60486d4ce 100644
--- a/numpy/linalg/tests/test_linalg.py
+++ b/numpy/linalg/tests/test_linalg.py
@@ -868,10 +868,7 @@ class _TestNorm(object):
assert_almost_equal(an, 0.0)
an = norm(at, 0)
- # Trying to assert equality to `np.dtype(int).type` fails on
- # 32-bit platforms as it still becomes `np.int64` instead of
- # `np.int32`. So, this is our workaround.
- assert_(an.dtype.type in [np.int32, np.int64])
+ assert_(issubclass(an.dtype.type, np.floating))
assert_almost_equal(an, 2)
an = norm(at, 1)