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