40{
44
46
51
57
59 }
60
61 if( unit ) {
62
63
64
65
66 if( lower ) {
67 n2 = n / 2;
68 n1 = n - n2;
69 } else {
70 n1 = n / 2;
71 n2 = n - n1;
72 }
73 if( n % 2 == 1 ) {
74
75 if( ( rowmaj || ntr ) && !( rowmaj && ntr ) ) {
76
77 if( lower ) {
79 n1, &a[0], n )
81 &a[n1], n )
83 n2, &a[n], n );
84 } else {
86 n1, &a[n2], n )
88 &a[0], n )
90 n2, &a[n1], n );
91 }
92 } else {
93
94
95 if( lower ) {
97 n1, &a[0], n1 )
99 &a[1], n1 )
101 n2, &a[1], n1 );
102 } else {
104 n1, &a[(size_t)n2*n2], n2 )
106 &a[0], n2 )
108 n2, &a[(size_t)n1*n2], n2 );
109 }
110 }
111 } else {
112
113 k = n / 2;
114 if( ( rowmaj || ntr ) && !( rowmaj && ntr ) ) {
115
116 if( lower ) {
118 k, &a[1], n+1 )
120 &a[k+1], n+1 )
122 k, &a[0], n+1 );
123 } else {
125 k, &a[k+1], n+1 )
127 &a[0], n+1 )
129 k, &a[k], n+1 );
130 }
131 } else {
132
133
134 if( lower ) {
136 k, &a[k], k )
138 &a[(size_t)k*(k+1)], k )
140 k, &a[0], k );
141 } else {
143 k, &a[(size_t)k*(k+1)], k )
145 &a[0], k )
147 k, &a[(size_t)k*k], k );
148 }
149 }
150 }
151 } else {
152
153 len = n*(n+1)/2;
155 }
156}
lapack_logical LAPACKE_lsame(char ca, char cb)
lapack_logical LAPACKE_cge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_ctr_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *a, lapack_int lda)