diff options
author | John Kirkham <kirkhamj@janelia.hhmi.org> | 2016-01-22 17:31:13 -0500 |
---|---|---|
committer | John Kirkham <kirkhamj@janelia.hhmi.org> | 2016-01-22 18:15:44 -0500 |
commit | 43c6a89128347928c5fe26f67ba2a0a022f00822 (patch) | |
tree | 66e843ac0d8bd4a3440391006fc2601b7eb46b04 /numpy | |
parent | bc4a17ed89004ed63558a3e7f0bd035580777aa7 (diff) | |
download | numpy-43c6a89128347928c5fe26f67ba2a0a022f00822.tar.gz |
BUG: Make sure that the `ord=0` case returns a float.
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/linalg/linalg.py | 2 | ||||
-rw-r--r-- | numpy/linalg/tests/test_linalg.py | 5 |
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) |