[pypy-commit] pypy default: put flatiter typedef with class
bdkearns
noreply at buildbot.pypy.org
Fri Oct 10 06:25:42 CEST 2014
Author: Brian Kearns <bdkearns at gmail.com>
Branch:
Changeset: r73874:f4c2ef76f510
Date: 2014-10-09 16:27 -0400
http://bitbucket.org/pypy/pypy/changeset/f4c2ef76f510/
Log: put flatiter typedef with class
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
@@ -1,7 +1,10 @@
from pypy.interpreter.error import OperationError, oefmt
+from pypy.interpreter.gateway import interp2app
+from pypy.interpreter.typedef import TypeDef, GetSetProperty
from pypy.module.micronumpy import loop
-from pypy.module.micronumpy.base import W_NDimArray, convert_to_array
+from pypy.module.micronumpy.base import convert_to_array
from pypy.module.micronumpy.concrete import BaseConcreteArray
+from .ndarray import W_NDimArray
class FakeArrayImplementation(BaseConcreteArray):
@@ -90,4 +93,21 @@
def descr_base(self, space):
return space.wrap(self.base)
-# typedef is in interp_ndarray, so we see the additional arguments
+W_FlatIterator.typedef = TypeDef("numpy.flatiter",
+ __iter__ = interp2app(W_FlatIterator.descr_iter),
+ __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),
+ __lt__ = interp2app(W_FlatIterator.descr_lt),
+ __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),
+)
diff --git a/pypy/module/micronumpy/ndarray.py b/pypy/module/micronumpy/ndarray.py
--- a/pypy/module/micronumpy/ndarray.py
+++ b/pypy/module/micronumpy/ndarray.py
@@ -18,7 +18,6 @@
from pypy.module.micronumpy.converters import multi_axis_converter, \
order_converter, shape_converter, searchside_converter
from pypy.module.micronumpy.flagsobj import W_FlagsObject
-from pypy.module.micronumpy.flatiter import W_FlatIterator
from pypy.module.micronumpy.strides import get_shape_from_iterable, \
shape_agreement, shape_agreement_multiple
from .selection import app_searchsort
@@ -482,6 +481,7 @@
loop.flatiter_setitem(space, dtype, arr, iter, state, 1, iter.size)
def descr_get_flatiter(self, space):
+ from .flatiter import W_FlatIterator
return space.wrap(W_FlatIterator(self))
def descr_item(self, space, __args__):
@@ -1464,23 +1464,3 @@
def _reconstruct(space, w_subtype, w_shape, w_dtype):
return descr_new_array(space, w_subtype, w_shape, w_dtype)
-
-
-W_FlatIterator.typedef = TypeDef("numpy.flatiter",
- __iter__ = interp2app(W_FlatIterator.descr_iter),
- __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),
- __lt__ = interp2app(W_FlatIterator.descr_lt),
- __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),
-)
More information about the pypy-commit
mailing list