summaryrefslogtreecommitdiff
path: root/numpy/lib/function_base.py
diff options
context:
space:
mode:
authorgfyoung <gfyoung@mit.edu>2015-12-11 04:24:16 +0000
committergfyoung <gfyoung17@gmail.com>2015-12-18 03:02:21 -0800
commit088e20e272389395fb3fd24fed144ed19bae8cdb (patch)
tree918a324b3ffb9b1abff63ee7c35d668783667cbc /numpy/lib/function_base.py
parentf7b07521ca811baa2fcc649a6dc5cf56f5c65fd0 (diff)
downloadnumpy-088e20e272389395fb3fd24fed144ed19bae8cdb.tar.gz
DEP: Stricter arg checking for array ordering
The bug traces to the PyArray_OrderConverter method in conversion_utils.c, where no errors are thrown if the ORDER parameter passed in is not of the string data-type or has a string value of length greater than one. This commit causes a DeprecationWarning to be raised, which will later be turned into a TypeError or another type of error in a future release. Closes gh-6598.
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r--numpy/lib/function_base.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
index 3298789ee..541ad079c 100644
--- a/numpy/lib/function_base.py
+++ b/numpy/lib/function_base.py
@@ -3966,6 +3966,7 @@ def delete(arr, obj, axis=None):
arr = asarray(arr)
ndim = arr.ndim
+ arrorder = 'F' if arr.flags.fnc else 'C'
if axis is None:
if ndim != 1:
arr = arr.ravel()
@@ -4003,7 +4004,7 @@ def delete(arr, obj, axis=None):
stop = xr[0] + 1
newshape[axis] -= numtodel
- new = empty(newshape, arr.dtype, arr.flags.fnc)
+ new = empty(newshape, arr.dtype, arrorder)
# copy initial chunk
if start == 0:
pass
@@ -4054,7 +4055,7 @@ def delete(arr, obj, axis=None):
if (obj < 0):
obj += N
newshape[axis] -= 1
- new = empty(newshape, arr.dtype, arr.flags.fnc)
+ new = empty(newshape, arr.dtype, arrorder)
slobj[axis] = slice(None, obj)
new[slobj] = arr[slobj]
slobj[axis] = slice(obj, None)
@@ -4197,6 +4198,7 @@ def insert(arr, obj, values, axis=None):
arr = asarray(arr)
ndim = arr.ndim
+ arrorder = 'F' if arr.flags.fnc else 'C'
if axis is None:
if ndim != 1:
arr = arr.ravel()
@@ -4265,7 +4267,7 @@ def insert(arr, obj, values, axis=None):
values = np.rollaxis(values, 0, (axis % values.ndim) + 1)
numnew = values.shape[axis]
newshape[axis] += numnew
- new = empty(newshape, arr.dtype, arr.flags.fnc)
+ new = empty(newshape, arr.dtype, arrorder)
slobj[axis] = slice(None, index)
new[slobj] = arr[slobj]
slobj[axis] = slice(index, index+numnew)
@@ -4298,7 +4300,7 @@ def insert(arr, obj, values, axis=None):
old_mask = ones(newshape[axis], dtype=bool)
old_mask[indices] = False
- new = empty(newshape, arr.dtype, arr.flags.fnc)
+ new = empty(newshape, arr.dtype, arrorder)
slobj2 = [slice(None)]*ndim
slobj[axis] = indices
slobj2[axis] = old_mask