[pypy-commit] pypy default: __iter__ for flatiter
fijal
noreply at buildbot.pypy.org
Mon Nov 28 09:56:49 CET 2011
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch:
Changeset: r49881:e847fa0fc602
Date: 2011-11-28 10:46 +0200
http://bitbucket.org/pypy/pypy/changeset/e847fa0fc602/
Log: __iter__ for flatiter
diff --git a/pypy/module/micronumpy/interp_numarray.py b/pypy/module/micronumpy/interp_numarray.py
--- a/pypy/module/micronumpy/interp_numarray.py
+++ b/pypy/module/micronumpy/interp_numarray.py
@@ -1225,8 +1225,12 @@
self.iter = self.iter.next(self.shapelen)
return result.wrap(space)
+ def descr_iter(self):
+ return self
+
W_FlatIterator.typedef = TypeDef(
'flatiter',
next = interp2app(W_FlatIterator.descr_next),
+ __iter__ = interp2app(W_FlatIterator.descr_iter),
)
diff --git a/pypy/module/micronumpy/test/test_numarray.py b/pypy/module/micronumpy/test/test_numarray.py
--- a/pypy/module/micronumpy/test/test_numarray.py
+++ b/pypy/module/micronumpy/test/test_numarray.py
@@ -963,7 +963,10 @@
assert f_iter.next() == 60
raises(StopIteration, "f_iter.next()")
raises(TypeError, "flatiter()")
-
+ s = 0
+ for k in a.flat:
+ s += k
+ assert s == 140
class AppTestSupport(object):
def setup_class(cls):
More information about the pypy-commit
mailing list