Author: mattip <[email protected]>
Branch: numpy-fixes
Changeset: r76957:e7d09eb72b19
Date: 2015-04-30 04:17 +0300
http://bitbucket.org/pypy/pypy/changeset/e7d09eb72b19/

Log:    preserve stride order in astype

diff --git a/pypy/module/micronumpy/concrete.py 
b/pypy/module/micronumpy/concrete.py
--- a/pypy/module/micronumpy/concrete.py
+++ b/pypy/module/micronumpy/concrete.py
@@ -329,7 +329,11 @@
         return ArrayBuffer(self, readonly)
 
     def astype(self, space, dtype):
-        strides, backstrides = calc_strides(self.get_shape(), dtype, 
self.order)
+        s_elsize = self.dtype.elsize
+        t_elsize = dtype.elsize
+        strides = [s*t_elsize/s_elsize for s in self.get_strides()]
+        backstrides = calc_backstrides(strides, self.get_shape())
+        #strides, backstrides = calc_strides(self.get_shape(), dtype, 
self.order)
         impl = ConcreteArray(self.get_shape(), dtype, self.order,
                              strides, backstrides)
         loop.setslice(space, impl.get_shape(), impl, self)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to