diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2017-01-24 13:36:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-24 13:36:40 -0700 |
commit | 33425bc4473f8cdda026c28f5b9b9754bf22b06a (patch) | |
tree | 3364d14c2e86bb895b4be4f0f1577d222be84529 | |
parent | 3fa7ee986435d5bae03062501641e0f613f92ee7 (diff) | |
parent | 9ae84854d9c48a751e57c5cd0e9636678a6d2359 (diff) | |
download | numpy-33425bc4473f8cdda026c28f5b9b9754bf22b06a.tar.gz |
Merge pull request #8526 from juliantaylor/f2-mean-fix
BUG: fix mean for float 16 non-array inputs for 1.12
-rw-r--r-- | numpy/core/_methods.py | 4 | ||||
-rw-r--r-- | numpy/core/tests/test_multiarray.py | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/numpy/core/_methods.py b/numpy/core/_methods.py index abfd0a3cc..c05316d18 100644 --- a/numpy/core/_methods.py +++ b/numpy/core/_methods.py @@ -72,10 +72,10 @@ def _mean(a, axis=None, dtype=None, out=None, keepdims=False): ret = um.true_divide( ret, rcount, out=ret, casting='unsafe', subok=False) if is_float16_result and out is None: - ret = a.dtype.type(ret) + ret = arr.dtype.type(ret) elif hasattr(ret, 'dtype'): if is_float16_result: - ret = a.dtype.type(ret / rcount) + ret = arr.dtype.type(ret / rcount) else: ret = ret.dtype.type(ret / rcount) else: diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py index 55d5461f5..c1ae5b569 100644 --- a/numpy/core/tests/test_multiarray.py +++ b/numpy/core/tests/test_multiarray.py @@ -4389,6 +4389,12 @@ class TestStats(TestCase): self.omat = np.array([Decimal(repr(r)) for r in self.rmat.flat]) self.omat = self.omat.reshape(4, 5) + def test_python_type(self): + for x in (np.float16(1.), 1, 1., 1+0j): + assert_equal(np.mean([x]), 1.) + assert_equal(np.std([x]), 0.) + assert_equal(np.var([x]), 0.) + def test_keepdims(self): mat = np.eye(3) for f in self.funcs: |