diff options
author | Travis Oliphant <oliphant@enthought.com> | 2006-08-18 17:01:19 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2006-08-18 17:01:19 +0000 |
commit | 543e764f6f0b05c38f460aeae9036dc2e6be2f2b (patch) | |
tree | 1addcd0245a4512a72a620be65d2c0d73934240f /numpy/core/ma.py | |
parent | 44b8093162207cf82143b58d9cdf5a2af7ed0731 (diff) | |
download | numpy-543e764f6f0b05c38f460aeae9036dc2e6be2f2b.tar.gz |
Fix ticket #254 and allow defining NPY_NO_PREFIX instead of including 'noprefix.h'
Diffstat (limited to 'numpy/core/ma.py')
-rw-r--r-- | numpy/core/ma.py | 8 |
1 files changed, 6 insertions, 2 deletions
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): |