summaryrefslogtreecommitdiff
path: root/numpy/core/numeric.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/core/numeric.py')
-rw-r--r--numpy/core/numeric.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py
index b90b0a9c9..97d19f008 100644
--- a/numpy/core/numeric.py
+++ b/numpy/core/numeric.py
@@ -2089,15 +2089,12 @@ def indices(dimensions, dtype=int):
"""
dimensions = tuple(dimensions)
N = len(dimensions)
- if N == 0:
- return array([], dtype=dtype)
+ shape = (1,)*N
res = empty((N,)+dimensions, dtype=dtype)
for i, dim in enumerate(dimensions):
- tmp = arange(dim, dtype=dtype)
- tmp.shape = (1,)*i + (dim,)+(1,)*(N-i-1)
- newdim = dimensions[:i] + (1,) + dimensions[i+1:]
- val = zeros(newdim, dtype)
- add(tmp, val, res[i])
+ res[i] = arange(dim, dtype=dtype).reshape(
+ shape[:i] + (dim,) + shape[i+1:]
+ )
return res