[pypy-commit] pypy ufuncapi: fix test_ztranslation

mattip noreply at buildbot.pypy.org
Tue Nov 18 23:45:27 CET 2014


Author: mattip <matti.picus at gmail.com>
Branch: ufuncapi
Changeset: r74577:53935a16ebc8
Date: 2014-11-19 00:44 +0200
http://bitbucket.org/pypy/pypy/changeset/53935a16ebc8/

Log:	fix test_ztranslation

diff --git a/pypy/module/micronumpy/iterators.py b/pypy/module/micronumpy/iterators.py
--- a/pypy/module/micronumpy/iterators.py
+++ b/pypy/module/micronumpy/iterators.py
@@ -99,7 +99,7 @@
 class ArrayIter(object):
     _immutable_fields_ = ['contiguous', 'array', 'size', 'ndim_m1', 'shape_m1[*]',
                           'strides[*]', 'backstrides[*]', 'factors[*]',
-                          'slice_shape', 'slice_stride', 'slice_backstride',
+                          'slice_shape[*]', 'slice_stride[*]', 'slice_backstride[*]',
                           'track_index', 'operand_type', 'slice_operand_type']
 
     track_index = True
@@ -248,7 +248,7 @@
     used with external loops, getitem and setitem return a SliceArray
     view into the original array
     '''
-    _immutable_fields_ = ['base', 'slice_shape[*]', 'slice_stride[*]', 'slice_backstride[*]']
+    _immutable_fields_ = ['base']
 
     def __init__(self, array, size, shape, strides, backstrides, slice_shape,
                  slice_stride, slice_backstride, op_flags, base):
diff --git a/pypy/module/micronumpy/nditer.py b/pypy/module/micronumpy/nditer.py
--- a/pypy/module/micronumpy/nditer.py
+++ b/pypy/module/micronumpy/nditer.py
@@ -256,7 +256,8 @@
     _backstride = [(_shape[fastest] - 1) * _stride[0]] + old_iter.slice_backstride
     if flat:
         _shape = [support.product(_shape)]
-        _stride = [min(_stride)]
+        assert len(_stride) == 2
+        _stride = [min(_stride[0], _stride[1])]
         _backstride = [(shape[0] - 1) * _stride[0]]
     return SliceIter(old_iter.array, old_iter.size / shape[fastest],
                 new_shape, new_strides, new_backstrides,
diff --git a/pypy/module/micronumpy/ufuncs.py b/pypy/module/micronumpy/ufuncs.py
--- a/pypy/module/micronumpy/ufuncs.py
+++ b/pypy/module/micronumpy/ufuncs.py
@@ -699,8 +699,8 @@
         # TODO parse and handle subok
         # TODO handle flags, op_flags
         w_flags = space.w_None # NOT 'external_loop', we do coalescing by core_num_dims
-        w_op_flags = space.newtuple([space.wrap(['readonly'])] * len(inargs) + \
-                                    [space.wrap(['readwrite'])] * len(outargs))
+        w_op_flags = space.newtuple([space.wrap(r) for r in ['readonly'] * len(inargs)] + \
+                                    [space.wrap(r) for r in ['readwrite'] * len(outargs)])
         w_op_dtypes = space.w_None
         w_casting = space.w_None
         w_itershape = space.newlist([space.wrap(i) for i in iter_shape]) 


More information about the pypy-commit mailing list