Author: Romain Guillebert <[email protected]>
Branch: numpy-subarrays
Changeset: r64030:87e24d1ab3cc
Date: 2013-05-13 16:09 +0200
http://bitbucket.org/pypy/pypy/changeset/87e24d1ab3cc/

Log:    Start fixing test_zjit

diff --git a/pypy/module/micronumpy/interp_dtype.py 
b/pypy/module/micronumpy/interp_dtype.py
--- a/pypy/module/micronumpy/interp_dtype.py
+++ b/pypy/module/micronumpy/interp_dtype.py
@@ -286,12 +286,12 @@
     for w_elem in lst_w:
         size = 1
         w_shape = space.newtuple([])
-        if space.len_w(w_elem) >2:
-            w_shape = space.getitem(w_elem, space.wrap(2))
+        if space.len_w(w_elem) == 3:
+            w_fldname, w_flddesc, w_shape = space.fixedview(w_elem)
             if not base.issequence_w(space, w_shape):
                 w_shape = space.newtuple([w_shape,])
-        w_fldname = space.getitem(w_elem, space.wrap(0))
-        w_flddesc = space.getitem(w_elem, space.wrap(1))
+        else:
+            w_fldname, w_flddesc = space.fixedview(w_elem)
         subdtype = descr__new__(space, space.gettypefor(W_Dtype), w_flddesc, 
w_shape=w_shape)
         fldname = space.str_w(w_fldname)
         if fldname in fields:
diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py
--- a/pypy/module/micronumpy/types.py
+++ b/pypy/module/micronumpy/types.py
@@ -1733,7 +1733,7 @@
         if not space.issequence_w(w_item):
             raise OperationError(space.w_TypeError, space.wrap(
                 "expected sequence"))
-        if len(self.offsets_and_fields) != space.int_w(space.len(w_item)):
+        if len(self.offsets_and_fields) != space.len_w(w_item):
             raise OperationError(space.w_ValueError, space.wrap(
                 "wrong length"))
         items_w = space.fixedview(w_item)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to