summaryrefslogtreecommitdiff
path: root/numpy/lib/function_base.py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-08-02 14:36:39 -0600
committerCharles Harris <charlesr.harris@gmail.com>2013-08-02 14:36:39 -0600
commit645b9f572f0a22e9049fd736b8b91427be2c8402 (patch)
treea2a043f988f655b5fa3e8093c6420897c1c554d1 /numpy/lib/function_base.py
parent196398fadb7fe402a67ccea0bc1546b36d066440 (diff)
parentea768739dab69c0b67488179ffa67d57d63d59f8 (diff)
downloadnumpy-645b9f572f0a22e9049fd736b8b91427be2c8402.tar.gz
Merge pull request 'gh-3497'
* gh-3497: BUG: Make np.insert check for out of bounds axis arguments. TST: add test for negative axis values in np.insert. BUG: Fix bug in np.insert when axis=-1
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r--numpy/lib/function_base.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
index 5e433d3ab..17f99a065 100644
--- a/numpy/lib/function_base.py
+++ b/numpy/lib/function_base.py
@@ -3696,6 +3696,11 @@ def insert(arr, obj, values, axis=None):
arr = arr.ravel()
ndim = arr.ndim
axis = ndim-1
+ else:
+ if ndim > 0 and (axis < -ndim or axis >= ndim):
+ raise IndexError("axis %i is out of bounds for an array "
+ "of dimension %i" % (axis, ndim))
+ if (axis < 0): axis += ndim
if (ndim == 0):
warnings.warn("in the future the special handling of scalars "
"will be removed from insert and raise an error",
@@ -3742,7 +3747,7 @@ def insert(arr, obj, values, axis=None):
# broadcasting is very different here, since a[:,0,:] = ... behaves
# very different from a[:,[0],:] = ...! This changes values so that
# it works likes the second case. (here a[:,0:1,:])
- values = np.rollaxis(values, 0, axis+1)
+ values = np.rollaxis(values, 0, axis + 1)
numnew = values.shape[axis]
newshape[axis] += numnew
new = empty(newshape, arr.dtype, arr.flags.fnc)