summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpierregm <pierregm@localhost>2009-01-19 08:53:53 +0000
committerpierregm <pierregm@localhost>2009-01-19 08:53:53 +0000
commit767ea8504509a32f092be069df1ea07c2452f85a (patch)
tree9c39cce2b5a359eab8e2fa47e44597239a005b08
parent9efaa09baca5ce2d64447bdcc91556227ab717c2 (diff)
downloadnumpy-767ea8504509a32f092be069df1ea07c2452f85a.tar.gz
* renamed FlatIter to MaskedIterator
* added __getitem__ to MaskedIterator
-rw-r--r--numpy/ma/core.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/numpy/ma/core.py b/numpy/ma/core.py
index 9655f2dc6..a72c6db2c 100644
--- a/numpy/ma/core.py
+++ b/numpy/ma/core.py
@@ -1464,10 +1464,11 @@ class _arraymethod(object):
return result
#..........................................................
-class FlatIter(object):
+class MaskedIterator(object):
"Define an interator."
def __init__(self, ma):
self.ma = ma
+ self.ma1d = ma.ravel()
self.ma_iter = np.asarray(ma).flat
if ma._mask is nomask:
@@ -1478,10 +1479,12 @@ class FlatIter(object):
def __iter__(self):
return self
+ def __getitem__(self, indx):
+ return self.ma1d.__getitem__(indx)
+
### This won't work is ravel makes a copy
def __setitem__(self, index, value):
- a = self.ma.ravel()
- a[index] = value
+ self.ma1d[index] = value
def next(self):
"Returns the next element of the iterator."
@@ -2168,7 +2171,7 @@ class MaskedArray(ndarray):
"""Return a flat iterator.
"""
- return FlatIter(self)
+ return MaskedIterator(self)
#
def _set_flat (self, value):
"""Set a flattened version of self to value.