flopscope.numpy.isfortran
fnp.isfortran(a)[flopscope source][numpy source]
Check if the array is Fortran contiguous but *not* C contiguous.
Adapted from NumPy docs np.isfortran
Return True if array is Fortran contiguous.
Check if the array is Fortran contiguous but not C contiguous.
This function is obsolete. If you only want to check if an array is Fortran
contiguous use a.flags.f_contiguous instead.
Parameters
- a:ndarray
Input array.
Returns
- isfortran:bool
Returns True if the array is Fortran contiguous but not C contiguous.
Examples
flops.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).
>>> import flopscope.numpy as fnp
>>> a = flops.array([[1, 2, 3], [4, 5, 6]], order='C')
>>> a
array([[1, 2, 3],
[4, 5, 6]])
>>> flops.isfortran(a)
False>>> b = flops.array([[1, 2, 3], [4, 5, 6]], order='F')
>>> b
array([[1, 2, 3],
[4, 5, 6]])
>>> flops.isfortran(b)
TrueThe transpose of a C-ordered array is a FORTRAN-ordered array.
>>> a = flops.array([[1, 2, 3], [4, 5, 6]], order='C')
>>> a
array([[1, 2, 3],
[4, 5, 6]])
>>> flops.isfortran(a)
False
>>> b = a.T
>>> b
array([[1, 4],
[2, 5],
[3, 6]])
>>> flops.isfortran(b)
TrueC-ordered arrays evaluate as False even if they are also FORTRAN-ordered.
>>> flops.isfortran(flops.array([1, 2], order='F'))
False