[pypy-commit] pypy release-2.1.x: fix issue 1537 with numpypy __array_interface__
mattip
noreply at buildbot.pypy.org
Tue Jul 16 09:29:43 CEST 2013
Author: Matti Picus <matti.picus at gmail.com>
Branch: release-2.1.x
Changeset: r65415:e64857a85f0e
Date: 2013-07-14 20:02 +0300
http://bitbucket.org/pypy/pypy/changeset/e64857a85f0e/
Log: fix issue 1537 with numpypy __array_interface__
diff --git a/pypy/module/micronumpy/arrayimpl/concrete.py b/pypy/module/micronumpy/arrayimpl/concrete.py
--- a/pypy/module/micronumpy/arrayimpl/concrete.py
+++ b/pypy/module/micronumpy/arrayimpl/concrete.py
@@ -280,7 +280,7 @@
backstrides, shape, self, orig_arr)
def get_storage_as_int(self, space):
- return rffi.cast(lltype.Signed, self.storage)
+ return rffi.cast(lltype.Signed, self.storage) + self.start
def get_storage(self):
return self.storage
diff --git a/pypy/module/micronumpy/test/test_numarray.py b/pypy/module/micronumpy/test/test_numarray.py
--- a/pypy/module/micronumpy/test/test_numarray.py
+++ b/pypy/module/micronumpy/test/test_numarray.py
@@ -2212,6 +2212,11 @@
a = a[::2]
i = a.__array_interface__
assert isinstance(i['data'][0], int)
+ b = array(range(9), dtype=int)
+ c = b[3:5]
+ b_data = b.__array_interface__['data'][0]
+ c_data = c.__array_interface__['data'][0]
+ assert b_data + 3 * b.dtype.itemsize == c_data
def test_array_indexing_one_elem(self):
from numpypy import array, arange
More information about the pypy-commit
mailing list