All, I've updated this famous reimplementation of maskedarray I keep ranting about. A new feature has been introduced : hard_mask. When a masked array is created with the flag hard_mask=True, the mask can only grow, not shrink. In other terms, masked values cannot be unmasked. The flag hard_mask is set to False by default. You can toggle the behavior with the `harden_mask` and `soften_mask` methods.
>>> import maskedarray as MA >>> x=MA.array([1,2,3],mask=[1,0,0], hard_mask=True) >>> x[0]=999 >>> print x [-- 2 3] >>> x.soften_mask() >>> x[0]=999 >>> print x [999 2 3] I also put the file `timer_comparison.py`, that runs some unittests with each implementation (numpy.core.ma and maskedarray), and outputs the minimum times. On my machine, there doesn't seem to be a lot of differences, maskedarray being slightly faster. However, I'm not sure whether I can really trust the results. What would be the best way to compare the relative performances of numpy.core.ma and maskedarray ? Should I run tests on a function basis ? Thanks in advance for any idea/suggestion. P. _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion