diff options
author | Sebastian Berg <sebastian@sipsolutions.net> | 2013-09-09 22:41:03 +0200 |
---|---|---|
committer | Sebastian Berg <sebastian@sipsolutions.net> | 2013-09-09 22:43:15 +0200 |
commit | 906a8848a3ea7eb0c5fa85653640b37caa08bbcd (patch) | |
tree | 9ef2e4de48c67a0084fd5a627a8d02d8ae7c27ef /numpy/lib | |
parent | c9b06111227f7a4ec213571f97e1b8d19b9c23f5 (diff) | |
download | numpy-906a8848a3ea7eb0c5fa85653640b37caa08bbcd.tar.gz |
BUG: Fix 0-sized ndindex
The zerosize_ok flag to nditer was missing, so that it did not
allow for 0-sized iteration.
Closes gh-3714
Diffstat (limited to 'numpy/lib')
-rw-r--r-- | numpy/lib/index_tricks.py | 3 | ||||
-rw-r--r-- | numpy/lib/tests/test_index_tricks.py | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/numpy/lib/index_tricks.py b/numpy/lib/index_tricks.py index 570cd0f1d..f0066be81 100644 --- a/numpy/lib/index_tricks.py +++ b/numpy/lib/index_tricks.py @@ -540,7 +540,8 @@ class ndindex(object): if len(shape) == 1 and isinstance(shape[0], tuple): shape = shape[0] x = as_strided(_nx.zeros(1), shape=shape, strides=_nx.zeros_like(shape)) - self._it = _nx.nditer(x, flags=['multi_index'], order='C') + self._it = _nx.nditer(x, flags=['multi_index', 'zerosize_ok'], + order='C') def __iter__(self): return self diff --git a/numpy/lib/tests/test_index_tricks.py b/numpy/lib/tests/test_index_tricks.py index b4152fafa..6b01464a7 100644 --- a/numpy/lib/tests/test_index_tricks.py +++ b/numpy/lib/tests/test_index_tricks.py @@ -274,6 +274,10 @@ def test_ndindex(): x = list(np.ndindex(())) assert_equal(x, [()]) + # Make sure 0-sized ndindex works correctly + x = list(np.ndindex(*[0])) + assert_equal(x, []) + if __name__ == "__main__": run_module_suite() |