From 543e764f6f0b05c38f460aeae9036dc2e6be2f2b Mon Sep 17 00:00:00 2001 From: Travis Oliphant Date: Fri, 18 Aug 2006 17:01:19 +0000 Subject: Fix ticket #254 and allow defining NPY_NO_PREFIX instead of including 'noprefix.h' --- numpy/core/ma.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'numpy/core/ma.py') diff --git a/numpy/core/ma.py b/numpy/core/ma.py index 591ad801a..2e2d3f8ec 100644 --- a/numpy/core/ma.py +++ b/numpy/core/ma.py @@ -376,6 +376,10 @@ class masked_binary_operation: d1 = filled(a, self.fillx) d2 = filled(b, self.filly) result = self.f(d1, d2, *args, **kwargs) + if isinstance(result, ndarray) \ + and m.ndim != 0 \ + and m.shape != result.shape: + m = mask_or(getmaskarray(a), getmaskarray(b)) return masked_array(result, m) def reduce (self, target, axis=0, dtype=None): @@ -678,7 +682,7 @@ class MaskedArray (object): return masked_array(self._data.real, mask=nomask, fill_value = self.fill_value()) else: - return masked_array(self._data.real, mask=self._mask.ravel(), + return masked_array(self._data.real, mask=self._mask, fill_value = self.fill_value()) def _set_real (self, value): @@ -692,7 +696,7 @@ class MaskedArray (object): return masked_array(self._data.imag, mask=nomask, fill_value = self.fill_value()) else: - return masked_array(self._data.imag, mask=self._mask.ravel(), + return masked_array(self._data.imag, mask=self._mask, fill_value = self.fill_value()) def _set_imaginary (self, value): -- cgit v1.2.1