Author: Alex Gaynor <alex.gay...@gmail.com> Branch: numpypy-ctypes Changeset: r52617:36d4deeac481 Date: 2012-02-18 12:48 -0500 http://bitbucket.org/pypy/pypy/changeset/36d4deeac481/
Log: fix translation. diff --git a/pypy/module/micronumpy/appbridge.py b/pypy/module/micronumpy/appbridge.py --- a/pypy/module/micronumpy/appbridge.py +++ b/pypy/module/micronumpy/appbridge.py @@ -1,6 +1,11 @@ from pypy.rlib.objectmodel import specialize + +@specialize.memo() +def get_module_attr(module): + return "w_" + module.replace(".", "_") + "_module" + class AppBridgeCache(object): w_numpypy_core__methods_module = None w__var = None @@ -22,7 +27,7 @@ @specialize.arg(2, 3) def call_method(self, space, module, name, *args): - module_attr = "w_" + module.replace(".", "_") + "_module" + module_attr = get_module_attr(module) meth_attr = "w_" + name w_meth = getattr(self, meth_attr) if w_meth is None: diff --git a/pypy/module/micronumpy/interp_numarray.py b/pypy/module/micronumpy/interp_numarray.py --- a/pypy/module/micronumpy/interp_numarray.py +++ b/pypy/module/micronumpy/interp_numarray.py @@ -258,7 +258,8 @@ @jit.unroll_safe def descr_get_strides(self, space): - return space.newtuple([space.wrap(i) for i in self.strides]) + concrete = self.get_concrete() + return space.newtuple([space.wrap(i) for i in concrete.strides]) def descr_get_size(self, space): return space.wrap(self.size) 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 @@ -1710,10 +1710,9 @@ raises(ValueError, "array(5).item(1)") def test_ctypes(self): - import gc from _numpypy import array - a = array([1, 2, 3, 4, 5]) + a = array([1, 2, 3, 4, 5.0]) assert a.ctypes._data == a.__array_interface__["data"][0] assert a is a.ctypes._arr @@ -1725,6 +1724,15 @@ assert len(strides) == 1 assert strides[0] == 1 + b = a[2:] + assert b.ctypes._data == a.ctypes._data + b.ctypes.get_strides() + b.ctypes.get_shape() + + c = b + b + c.ctypes.get_strides() + c.ctypes.get_shape() + a = array(2) raises(TypeError, lambda: a.ctypes) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit