cupy.isfortran#
- cupy.isfortran(a)[source]#
如果数组是 Fortran 连续的但不是 C 连续的,则返回 True。
如果您只想检查数组是否为 Fortran 连续,请改用
a.flags.f_contiguous
。- 参数:
a (cupy.ndarray) – 输入数组。
- 返回:
返回值,如果
a
是 Fortran 连续但不是 C 连续的,则为 True。- 返回类型:
另请参阅
示例
cupy.array 允许指定数组在内存中是以 C 连续顺序(最后一个索引变化最快)存储,还是以 FORTRAN 连续顺序(第一个索引变化最快)存储。
>>> a = cupy.array([[1, 2, 3], [4, 5, 6]], order='C') >>> a array([[1, 2, 3], [4, 5, 6]]) >>> cupy.isfortran(a) False
>>> b = cupy.array([[1, 2, 3], [4, 5, 6]], order='F') >>> b array([[1, 2, 3], [4, 5, 6]]) >>> cupy.isfortran(b) True
C 顺序数组的转置是 FORTRAN 顺序数组。
>>> a = cupy.array([[1, 2, 3], [4, 5, 6]], order='C') >>> a array([[1, 2, 3], [4, 5, 6]]) >>> cupy.isfortran(a) False >>> b = a.T >>> b array([[1, 4], [2, 5], [3, 6]]) >>> cupy.isfortran(b) True
C 顺序数组即使也是 FORTRAN 顺序,其判断结果仍为 False。
>>> cupy.isfortran(np.array([1, 2], order='F')) False