diff options
Diffstat (limited to 'numpy/core/_methods.py')
-rw-r--r-- | numpy/core/_methods.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/numpy/core/_methods.py b/numpy/core/_methods.py index eda00147d..e8b82bf1c 100644 --- a/numpy/core/_methods.py +++ b/numpy/core/_methods.py @@ -180,7 +180,8 @@ def _mean(a, axis=None, dtype=None, out=None, keepdims=False, *, where=True): ret = umr_sum(arr, axis, dtype, out, keepdims, where=where) if isinstance(ret, mu.ndarray): ret = um.true_divide( - ret, rcount, out=ret, casting='unsafe', subok=False) + ret, rcount, out=ret, casting='unsafe', subok=False, + dtype=ret.dtype) if is_float16_result and out is None: ret = arr.dtype.type(ret) elif hasattr(ret, 'dtype'): @@ -221,7 +222,7 @@ def _var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False, *, div = rcount.reshape(arrmean.shape) if isinstance(arrmean, mu.ndarray): arrmean = um.true_divide(arrmean, div, out=arrmean, casting='unsafe', - subok=False) + subok=False, dtype=arrmean.dtype) elif hasattr(arrmean, "dtype"): arrmean = arrmean.dtype.type(arrmean / rcount) else: @@ -252,7 +253,8 @@ def _var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False, *, # divide by degrees of freedom if isinstance(ret, mu.ndarray): ret = um.true_divide( - ret, rcount, out=ret, casting='unsafe', subok=False) + ret, rcount, out=ret, casting='unsafe', subok=False, + dtype=ret.dtype) elif hasattr(ret, 'dtype'): ret = ret.dtype.type(ret / rcount) else: |