Author: Brian Kearns <bdkea...@gmail.com> Branch: Changeset: r68132:b6ff9f5a0ee0 Date: 2013-11-15 01:39 -0500 http://bitbucket.org/pypy/pypy/changeset/b6ff9f5a0ee0/
Log: fix an array scalar indexing case diff --git a/pypy/module/micronumpy/arrayimpl/scalar.py b/pypy/module/micronumpy/arrayimpl/scalar.py --- a/pypy/module/micronumpy/arrayimpl/scalar.py +++ b/pypy/module/micronumpy/arrayimpl/scalar.py @@ -123,6 +123,9 @@ ) def descr_getitem(self, space, _, w_idx): + if space.isinstance_w(w_idx, space.w_tuple): + if space.len_w(w_idx) == 0: + return self.get_scalar_value() raise OperationError(space.w_IndexError, space.wrap("scalars cannot be indexed")) 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 @@ -661,13 +661,16 @@ assert (b[newaxis] == [[2, 3, 4]]).all() def test_scalar(self): - from numpypy import array, dtype + from numpypy import array, dtype, int64 a = array(3) raises(IndexError, "a[0]") raises(IndexError, "a[0] = 5") assert a.size == 1 assert a.shape == () assert a.dtype is dtype(int) + b = a[()] + assert type(b) is int64 + assert b == 3 def test_len(self): from numpypy import array _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit