Author: Romain Guillebert <romain...@gmail.com>
Branch: numpypy-nditer
Changeset: r64822:7107aa4daf89
Date: 2013-06-07 16:40 +0200
http://bitbucket.org/pypy/pypy/changeset/7107aa4daf89/

Log:    Backed out changeset 730edc51d980

diff --git a/pypy/module/micronumpy/interp_nditer.py 
b/pypy/module/micronumpy/interp_nditer.py
--- a/pypy/module/micronumpy/interp_nditer.py
+++ b/pypy/module/micronumpy/interp_nditer.py
@@ -4,7 +4,7 @@
 from pypy.interpreter.error import OperationError
 from pypy.module.micronumpy.base import W_NDimArray, convert_to_array
 from pypy.module.micronumpy.strides import (calculate_broadcast_strides,
-                                          shape_agreement_multiple, calc_steps)
+                                             shape_agreement_multiple)
 from pypy.module.micronumpy.iter import MultiDimViewIterator, SliceIterator
 from pypy.module.micronumpy import support
 from pypy.module.micronumpy.arrayimpl.concrete import SliceArray
@@ -229,17 +229,11 @@
         self.iters=[]
         self.shape = iter_shape = shape_agreement_multiple(space, self.seq)
         if self.external_loop:
-            steps = []
-            for seq in self.seq:
-                impl = seq.implementation
-                steps.append(calc_steps(impl.shape, impl.strides, self.order))
-            #XXX #find longest contiguous shape
-            print 'steps',steps,'tier_shape',iter_shape
-            iter_shape = [1]
+            #XXX find longest contiguous shape
+            iter_shape = iter_shape[1:]
         for i in range(len(self.seq)):
             self.iters.append(BoxIterator(get_iter(space, self.order,
-                            self.seq[i].implementation, iter_shape),
-                            self.op_flags[i]))
+                            self.seq[i].implementation, iter_shape), 
self.op_flags[i]))
 
     def descr_iter(self, space):
         return space.wrap(self)
diff --git a/pypy/module/micronumpy/strides.py 
b/pypy/module/micronumpy/strides.py
--- a/pypy/module/micronumpy/strides.py
+++ b/pypy/module/micronumpy/strides.py
@@ -51,8 +51,8 @@
             rstrides.append(strides[i])
             rbackstrides.append(backstrides[i])
     if backwards:
-        rstrides = rstrides + [0] * (len(res_shape) - len(orig_shape))
-        rbackstrides = rbackstrides + [0] * (len(res_shape) - len(orig_shape))
+        rstrides = rstrides + [0] * (len(res_shape) - len(orig_shape))  
+        rbackstrides = rbackstrides + [0] * (len(res_shape) - len(orig_shape)) 
     else:
         rstrides = [0] * (len(res_shape) - len(orig_shape)) + rstrides
         rbackstrides = [0] * (len(res_shape) - len(orig_shape)) + rbackstrides
@@ -62,7 +62,7 @@
     if (is_rec_type and space.isinstance_w(w_elem, space.w_tuple)):
         return True
     if (space.isinstance_w(w_elem, space.w_tuple) or
-        isinstance(w_elem, W_NDimArray) or
+        isinstance(w_elem, W_NDimArray) or    
         space.isinstance_w(w_elem, space.w_list)):
         return False
     return True
@@ -293,27 +293,3 @@
             rbackstrides[i] = backstrides[j]
             j += 1
     return rstrides, rbackstrides
-
-@jit.unroll_safe
-def calc_steps(shape, strides, order='C'):
-    steps = []
-    if order == 'K':
-        if strides[0] < strides[-1]:
-            order = 'F'
-        else:
-            order = 'C'
-    if order == 'F' or order == 'A':
-        last_step = strides[0]
-        for i in range(len(shape)):
-            steps.append(strides[i] / last_step)
-            last_step *= shape[i]
-        if order == 'A':
-            pass
-            #XXX test for all(steps==steps[0])
-    elif order == 'C':
-        last_step = strides[-1]
-        for i in range(len(shape) - 1, -1, -1):
-            steps.insert(0, strides[i] / last_step)
-            last_step *= shape[i]
-    return steps
-
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to