numpy.isfortran — NumPy v1.13 Manual (original) (raw)

numpy. isfortran(a)[source]

Returns True if the array is Fortran contiguous but not C contiguous.

This function is obsolete and, because of changes due to relaxed stride checking, its return value for the same array may differ for versions of NumPy >= 1.10.0 and previous versions. If you only want to check if an array is Fortran contiguous use a.flags.f_contiguous instead.

Parameters: a : ndarray Input array.

Examples

np.array allows to specify whether the array is written in C-contiguous order (last index varies the fastest), or FORTRAN-contiguous order in memory (first index varies the fastest).

a = np.array([[1, 2, 3], [4, 5, 6]], order='C') a array([[1, 2, 3], [4, 5, 6]]) np.isfortran(a) False

b = np.array([[1, 2, 3], [4, 5, 6]], order='FORTRAN') b array([[1, 2, 3], [4, 5, 6]]) np.isfortran(b) True

The transpose of a C-ordered array is a FORTRAN-ordered array.

a = np.array([[1, 2, 3], [4, 5, 6]], order='C') a array([[1, 2, 3], [4, 5, 6]]) np.isfortran(a) False b = a.T b array([[1, 4], [2, 5], [3, 6]]) np.isfortran(b) True

C-ordered arrays evaluate as False even if they are also FORTRAN-ordered.

np.isfortran(np.array([1, 2], order='FORTRAN')) False