diff options
author | pierregm <pierregm@localhost> | 2008-09-13 21:17:09 +0000 |
---|---|---|
committer | pierregm <pierregm@localhost> | 2008-09-13 21:17:09 +0000 |
commit | 0e400c861d8bb3f329cd9c432102af2b5827b693 (patch) | |
tree | aab3efcd457795233997399f11a617105f56a1c7 /numpy/ma/core.py | |
parent | 2a5163af2041e9f94ec33d0ca8f88d4c4b32f406 (diff) | |
download | numpy-0e400c861d8bb3f329cd9c432102af2b5827b693.tar.gz |
MaskedArray.__new__ : make sure that we inherit the _hardmask from data (if any) instead of reverting to default.
Diffstat (limited to 'numpy/ma/core.py')
-rw-r--r-- | numpy/ma/core.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/numpy/ma/core.py b/numpy/ma/core.py index 3312b6c0c..51fed48ec 100644 --- a/numpy/ma/core.py +++ b/numpy/ma/core.py @@ -1234,7 +1234,7 @@ class MaskedArray(ndarray): def __new__(cls, data=None, mask=nomask, dtype=None, copy=False, subok=True, ndmin=0, fill_value=None, - keep_mask=True, hard_mask=False, flag=None, shrink=True, + keep_mask=True, hard_mask=None, flag=None, shrink=True, **options): """Create a new masked array from scratch. @@ -1338,7 +1338,10 @@ class MaskedArray(ndarray): if fill_value is not None: _data._fill_value = _check_fill_value(fill_value, _data.dtype) # Process extra options .. - _data._hardmask = hard_mask + if hard_mask is None: + _data._hardmask = getattr(data, '_hardmask', False) + else: + _data._hardmask = hard_mask _data._baseclass = _baseclass return _data # |