diff options
author | Sebastian Berg <sebastian@sipsolutions.net> | 2012-10-21 18:34:04 +0200 |
---|---|---|
committer | Sebastian Berg <sebastian@sipsolutions.net> | 2012-10-21 18:37:38 +0200 |
commit | 4b281479db093a55c010610ad287c75beb6da13b (patch) | |
tree | 5dbf562060839089603db307e3d96ed4da240abf | |
parent | fb64bbf12f2405b3dc97f7736ae3dc35daf615dc (diff) | |
download | numpy-4b281479db093a55c010610ad287c75beb6da13b.tar.gz |
API: Change isfortran to f-contig and not c-contig
This was a check for 1-d arrays, this is the generalization to
higher dimension if we allow higher dimensioal arrays to be both
f- and c-contiguous.
-rw-r--r-- | numpy/core/include/numpy/ndarraytypes.h | 7 | ||||
-rw-r--r-- | numpy/core/numeric.py | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/numpy/core/include/numpy/ndarraytypes.h b/numpy/core/include/numpy/ndarraytypes.h index 93d561c7c..919ef55e0 100644 --- a/numpy/core/include/numpy/ndarraytypes.h +++ b/numpy/core/include/numpy/ndarraytypes.h @@ -756,8 +756,9 @@ typedef int (PyArray_FinalizeFunc)(PyArrayObject *, PyObject *); #define NPY_ARRAY_F_CONTIGUOUS 0x0002 /* - * Note: all 0-d arrays are C_CONTIGUOUS and F_CONTIGUOUS. If a - * 1-d array is C_CONTIGUOUS it is also F_CONTIGUOUS + * Note: all 0-d arrays are C_CONTIGUOUS and F_CONTIGUOUS. An N-d + * array that is C_CONTIGUOUS may also be F_CONTIGUOUS if only + * one axis has a dimension different from one (ie. a 1x3x1 array). */ /* @@ -1370,7 +1371,7 @@ PyArrayNeighborhoodIter_Next2D(PyArrayNeighborhoodIterObject* iter); PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS)) #define PyArray_ISFORTRAN(m) (PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS) && \ - (PyArray_NDIM(m) > 1)) + (!PyArray_CHKFLAGS(m, NPY_ARRAY_C_CONTIGUOUS))) #define PyArray_FORTRAN_IF(m) ((PyArray_CHKFLAGS(m, NPY_ARRAY_F_CONTIGUOUS) ? \ NPY_ARRAY_F_CONTIGUOUS : 0)) diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py index 5f0474d3e..0d0babbac 100644 --- a/numpy/core/numeric.py +++ b/numpy/core/numeric.py @@ -538,7 +538,7 @@ def require(a, dtype=None, requirements=None): def isfortran(a): """ Returns True if array is arranged in Fortran-order in memory - and dimension > 1. + and not C-order. Parameters ---------- @@ -584,7 +584,7 @@ def isfortran(a): >>> np.isfortran(b) True - 1-D arrays always evaluate as False. + C-ordered arrays evaluate as False even if they are also FORTRAN-ordered. >>> np.isfortran(np.array([1, 2], order='FORTRAN')) False |