[Numpy-svn] r6463 - in trunk/numpy/ma: . tests
numpy-svn at scipy.org
numpy-svn at scipy.org
Mon Feb 23 12:33:18 EST 2009
Author: pierregm
Date: 2009-02-23 11:33:11 -0600 (Mon, 23 Feb 2009)
New Revision: 6463
Modified:
trunk/numpy/ma/core.py
trunk/numpy/ma/tests/test_core.py
Log:
* MaskedArray.__setstate__ : fixed for structured array
Modified: trunk/numpy/ma/core.py
===================================================================
--- trunk/numpy/ma/core.py 2009-02-23 17:10:02 UTC (rev 6462)
+++ trunk/numpy/ma/core.py 2009-02-23 17:33:11 UTC (rev 6463)
@@ -3846,7 +3846,7 @@
"""
(ver, shp, typ, isf, raw, msk, flv) = state
ndarray.__setstate__(self, (shp, typ, isf, raw))
- self._mask.__setstate__((shp, np.dtype(bool), isf, msk))
+ self._mask.__setstate__((shp, make_mask_descr(typ), isf, msk))
self.fill_value = flv
#
def __reduce__(self):
Modified: trunk/numpy/ma/tests/test_core.py
===================================================================
--- trunk/numpy/ma/tests/test_core.py 2009-02-23 17:10:02 UTC (rev 6462)
+++ trunk/numpy/ma/tests/test_core.py 2009-02-23 17:33:11 UTC (rev 6463)
@@ -369,14 +369,26 @@
assert_equal(a_pickled._mask, a._mask)
assert_equal(a_pickled._data, a._data)
assert_equal(a_pickled.fill_value, 999)
- #
+
+ def test_pickling_subbaseclass(self):
+ "Test pickling w/ a subclass of ndarray"
+ import cPickle
a = array(np.matrix(range(10)), mask=[1,0,1,0,0]*2)
a_pickled = cPickle.loads(a.dumps())
assert_equal(a_pickled._mask, a._mask)
assert_equal(a_pickled, a)
self.failUnless(isinstance(a_pickled._data,np.matrix))
+ def test_pickling_wstructured(self):
+ "Tests pickling w/ structured array"
+ import cPickle
+ a = array([(1, 1.), (2, 2.)], mask=[(0, 0), (0, 1)],
+ dtype=[('a', int), ('b', float)])
+ a_pickled = cPickle.loads(a.dumps())
+ assert_equal(a_pickled._mask, a._mask)
+ assert_equal(a_pickled, a)
+
def test_single_element_subscript(self):
"Tests single element subscripts of Maskedarrays."
a = array([1,3,2])
More information about the Numpy-svn
mailing list