[pypy-commit] pypy numpy-subarrays: fix failing test
mattip
noreply at buildbot.pypy.org
Thu May 16 22:07:51 CEST 2013
Author: Matti Picus <matti.picus at gmail.com>
Branch: numpy-subarrays
Changeset: r64241:aadb4a3cdb25
Date: 2013-05-16 23:06 +0300
http://bitbucket.org/pypy/pypy/changeset/aadb4a3cdb25/
Log: fix failing test
diff --git a/pypy/module/micronumpy/interp_boxes.py b/pypy/module/micronumpy/interp_boxes.py
--- a/pypy/module/micronumpy/interp_boxes.py
+++ b/pypy/module/micronumpy/interp_boxes.py
@@ -268,8 +268,20 @@
class W_VoidBox(W_FlexibleBox):
- @unwrap_spec(item=str)
- def descr_getitem(self, space, item):
+ def descr_getitem(self, space, w_item):
+ if space.isinstance_w(w_item, space.w_str):
+ item = space.str_w(w_item)
+ elif space.isinstance_w(w_item, space.w_int):
+ #Called by iterator protocol
+ indx = space.int_w(w_item)
+ try:
+ item = self.dtype.fieldnames[indx]
+ except IndexError:
+ raise OperationError(space.w_IndexError,
+ space.wrap("Iterated over too many fields %d" % indx))
+ else:
+ raise OperationError(space.w_IndexError, space.wrap(
+ "Can only access fields of record with int or str"))
try:
ofs, dtype = self.dtype.fields[item]
except KeyError:
@@ -373,7 +385,7 @@
W_LongDoubleBox = W_Float64Box
W_CLongDoubleBox = W_Complex64Box
-
+
W_GenericBox.typedef = TypeDef("generic",
__module__ = "numpypy",
More information about the pypy-commit
mailing list