Author: Brian Kearns <bdkea...@gmail.com> Branch: Changeset: r73875:7d64e06caadf Date: 2014-10-09 16:43 -0400 http://bitbucket.org/pypy/pypy/changeset/7d64e06caadf/
Log: reorganize flatiter diff --git a/pypy/module/micronumpy/flatiter.py b/pypy/module/micronumpy/flatiter.py --- a/pypy/module/micronumpy/flatiter.py +++ b/pypy/module/micronumpy/flatiter.py @@ -34,6 +34,19 @@ # this is needed to support W_NDimArray interface self.implementation = FakeArrayImplementation(self.base) + def descr_base(self, space): + return space.wrap(self.base) + + def descr_index(self, space): + return space.wrap(self.state.index) + + def descr_coords(self, space): + self.state = self.iter.update(self.state) + return space.newtuple([space.wrap(c) for c in self.state.indices]) + + def descr_iter(self): + return self + def descr_len(self, space): return space.wrap(self.iter.size) @@ -44,13 +57,6 @@ self.state = self.iter.next(self.state) return w_res - def descr_index(self, space): - return space.wrap(self.state.index) - - def descr_coords(self, space): - self.state = self.iter.update(self.state) - return space.newtuple([space.wrap(c) for c in self.state.indices]) - def descr_getitem(self, space, w_idx): if not (space.isinstance_w(w_idx, space.w_int) or space.isinstance_w(w_idx, space.w_slice)): @@ -87,17 +93,18 @@ finally: self.state = self.iter.reset(self.state) - def descr_iter(self): - return self - - def descr_base(self, space): - return space.wrap(self.base) W_FlatIterator.typedef = TypeDef("numpy.flatiter", + base = GetSetProperty(W_FlatIterator.descr_base), + index = GetSetProperty(W_FlatIterator.descr_index), + coords = GetSetProperty(W_FlatIterator.descr_coords), + __iter__ = interp2app(W_FlatIterator.descr_iter), + __len__ = interp2app(W_FlatIterator.descr_len), + next = interp2app(W_FlatIterator.descr_next), + __getitem__ = interp2app(W_FlatIterator.descr_getitem), __setitem__ = interp2app(W_FlatIterator.descr_setitem), - __len__ = interp2app(W_FlatIterator.descr_len), __eq__ = interp2app(W_FlatIterator.descr_eq), __ne__ = interp2app(W_FlatIterator.descr_ne), @@ -105,9 +112,4 @@ __le__ = interp2app(W_FlatIterator.descr_le), __gt__ = interp2app(W_FlatIterator.descr_gt), __ge__ = interp2app(W_FlatIterator.descr_ge), - - next = interp2app(W_FlatIterator.descr_next), - base = GetSetProperty(W_FlatIterator.descr_base), - index = GetSetProperty(W_FlatIterator.descr_index), - coords = GetSetProperty(W_FlatIterator.descr_coords), ) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit