|
64 | 64 | "iscomplex", |
65 | 65 | "iscomplexobj", |
66 | 66 | "isfinite", |
| 67 | + "isfortran", |
67 | 68 | "isinf", |
68 | 69 | "isnan", |
69 | 70 | "isneginf", |
@@ -991,6 +992,76 @@ def iscomplexobj(x): |
991 | 992 | ) |
992 | 993 |
|
993 | 994 |
|
| 995 | +def isfortran(a): |
| 996 | + """ |
| 997 | + Check if the array is Fortran contiguous but *not* C contiguous. |
| 998 | +
|
| 999 | + This function is obsolete. If you only want to check if an array is Fortran |
| 1000 | + contiguous use ``a.flags.f_contiguous`` instead. |
| 1001 | +
|
| 1002 | + For full documentation refer to :obj:`numpy.isfortran`. |
| 1003 | +
|
| 1004 | + Parameters |
| 1005 | + ---------- |
| 1006 | + a : {dpnp.ndarray, usm_ndarray} |
| 1007 | + Input array. |
| 1008 | +
|
| 1009 | + Returns |
| 1010 | + ------- |
| 1011 | + isfortran : bool |
| 1012 | + Returns ``True`` if the array is Fortran contiguous |
| 1013 | + but *not* C contiguous. |
| 1014 | +
|
| 1015 | + Examples |
| 1016 | + -------- |
| 1017 | + dpnp.array allows to specify whether the array is written in C-contiguous |
| 1018 | + order (last index varies the fastest), or FORTRAN-contiguous order in |
| 1019 | + memory (first index varies the fastest). |
| 1020 | +
|
| 1021 | + >>> import dpnp as np |
| 1022 | + >>> a = np.array([[1, 2, 3], [4, 5, 6]], order='C') |
| 1023 | + >>> a |
| 1024 | + array([[1, 2, 3], |
| 1025 | + [4, 5, 6]]) |
| 1026 | + >>> np.isfortran(a) |
| 1027 | + False |
| 1028 | +
|
| 1029 | + >>> b = np.array([[1, 2, 3], [4, 5, 6]], order='F') |
| 1030 | + >>> b |
| 1031 | + array([[1, 2, 3], |
| 1032 | + [4, 5, 6]]) |
| 1033 | + >>> np.isfortran(b) |
| 1034 | + True |
| 1035 | +
|
| 1036 | + The transpose of a C-ordered array is a FORTRAN-ordered array. |
| 1037 | +
|
| 1038 | + >>> a = np.array([[1, 2, 3], [4, 5, 6]], order='C') |
| 1039 | + >>> a |
| 1040 | + array([[1, 2, 3], |
| 1041 | + [4, 5, 6]]) |
| 1042 | + >>> np.isfortran(a) |
| 1043 | + False |
| 1044 | + >>> b = a.T |
| 1045 | + >>> b |
| 1046 | + array([[1, 4], |
| 1047 | + [2, 5], |
| 1048 | + [3, 6]]) |
| 1049 | + >>> np.isfortran(b) |
| 1050 | + True |
| 1051 | +
|
| 1052 | + C-ordered arrays evaluate as ``False`` even if they are also |
| 1053 | + FORTRAN-ordered. |
| 1054 | +
|
| 1055 | + >>> np.isfortran(np.array([1, 2], order='F')) |
| 1056 | + False |
| 1057 | +
|
| 1058 | + """ |
| 1059 | + |
| 1060 | + dpnp.check_supported_arrays_type(a) |
| 1061 | + |
| 1062 | + return a.flags.fnc |
| 1063 | + |
| 1064 | + |
994 | 1065 | _ISINF_DOCSTRING = """ |
995 | 1066 | Test if each element of input array is an infinity. |
996 | 1067 |
|
|
0 commit comments