summaryrefslogtreecommitdiff
path: root/numpy/ma/core.py
diff options
context:
space:
mode:
authorpierregm <pierregm@localhost>2008-09-13 21:17:09 +0000
committerpierregm <pierregm@localhost>2008-09-13 21:17:09 +0000
commit0e400c861d8bb3f329cd9c432102af2b5827b693 (patch)
treeaab3efcd457795233997399f11a617105f56a1c7 /numpy/ma/core.py
parent2a5163af2041e9f94ec33d0ca8f88d4c4b32f406 (diff)
downloadnumpy-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.py7
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
#