summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorTravis E. Oliphant <teoliphant@gmail.com>2013-01-23 20:21:18 -0800
committerTravis E. Oliphant <teoliphant@gmail.com>2013-01-23 20:21:18 -0800
commit2b4c9a66c8485973291076a6a1d3a3e9a3ffa5cc (patch)
treea08b963d504e754a035d9a7b249c2f8485d0565e /numpy
parentdce10183bc8f3d243bd5fc70140f5ad71179d05c (diff)
parent4c489f6d6edccc4d7fe2310b0e0902e980b5f52b (diff)
downloadnumpy-2b4c9a66c8485973291076a6a1d3a3e9a3ffa5cc.tar.gz
Merge pull request #2940 from ContinuumIO/ndindex_fix_more
BUG: Fix logic in ndindex to match __init__ method. Fixes bug in ndindex((3,))
Diffstat (limited to 'numpy')
-rw-r--r--numpy/lib/index_tricks.py4
-rw-r--r--numpy/lib/tests/test_index_tricks.py4
2 files changed, 7 insertions, 1 deletions
diff --git a/numpy/lib/index_tricks.py b/numpy/lib/index_tricks.py
index 852c5f6fd..15a1a559d 100644
--- a/numpy/lib/index_tricks.py
+++ b/numpy/lib/index_tricks.py
@@ -535,7 +535,9 @@ class ndindex(object):
# Fixing nditer would be more work but should be done eventually,
# and then this entire __new__ method can be removed.
def __new__(cls, *shape):
- if len(shape) == 0 or (len(shape) == 1 and len(shape[0]) == 0):
+ if len(shape) == 1 and isinstance(shape[0], tuple):
+ shape = shape[0]
+ if len(shape) == 0:
class zero_dim_iter(object):
def __init__(self):
self._N = 1
diff --git a/numpy/lib/tests/test_index_tricks.py b/numpy/lib/tests/test_index_tricks.py
index 43160ffb7..a6e65ef56 100644
--- a/numpy/lib/tests/test_index_tricks.py
+++ b/numpy/lib/tests/test_index_tricks.py
@@ -245,6 +245,10 @@ def test_ndindex():
x = list(np.ndindex((1, 2, 3)))
assert_array_equal(x, expected)
+ # Test use of scalars and tuples
+ x = list(np.ndindex((3,)))
+ assert_array_equal(x, list(np.ndindex(3)))
+
# Make sure size argument is optional
x = list(np.ndindex())
assert_equal(x, [()])