Author: mikefc Branch: Changeset: r51429:bc30fb8eed3e Date: 2012-01-18 09:29 +1000 http://bitbucket.org/pypy/pypy/changeset/bc30fb8eed3e/
Log: Add numpypy.transpose() function to call the array method diff --git a/lib_pypy/numpypy/core/fromnumeric.py b/lib_pypy/numpypy/core/fromnumeric.py --- a/lib_pypy/numpypy/core/fromnumeric.py +++ b/lib_pypy/numpypy/core/fromnumeric.py @@ -451,8 +451,11 @@ (2, 1, 3) """ - raise NotImplemented('Waiting on interp level method') - + if axes is not None: + raise NotImplementedError('No "axes" arg yet.') + if not hasattr(a, 'T'): + a = numpypy.array(a) + return a.T def sort(a, axis=-1, kind='quicksort', order=None): """ diff --git a/pypy/module/test_lib_pypy/numpypy/core/test_fromnumeric.py b/pypy/module/test_lib_pypy/numpypy/core/test_fromnumeric.py --- a/pypy/module/test_lib_pypy/numpypy/core/test_fromnumeric.py +++ b/pypy/module/test_lib_pypy/numpypy/core/test_fromnumeric.py @@ -125,3 +125,13 @@ assert reshape(a, (1, -1)).shape == (1, 105) assert reshape(a, (1, 1, -1)).shape == (1, 1, 105) assert reshape(a, (-1, 1, 1)).shape == (105, 1, 1) + + def test_transpose(self): + from numpypy import arange, array, transpose, ones + x = arange(4).reshape((2,2)) + assert (transpose(x) == array([[0, 2],[1, 3]])).all() + # Once axes argument is implemented, add more tests + raises(NotImplementedError, "transpose(x, axes=(1, 0, 2))") + # x = ones((1, 2, 3)) + # assert transpose(x, (1, 0, 2)).shape == (2, 1, 3) + _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit