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
135 if( lower ) {
137 k, &a[k], k )
139 &a[(size_t)k*(k+1)], k )
141 k, &a[0], k );
142 } else {
144 k, &a[(size_t)k*(k+1)], k )
146 &a[0], k )
148 k, &a[(size_t)k*k], k );
149 }
150 }
151 }
152 } else {
153
154 len = n*(n+1)/2;
156 }
157}
lapack_logical LAPACKE_lsame(char ca, char cb)
lapack_logical LAPACKE_sge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda)
lapack_logical LAPACKE_str_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const float *a, lapack_int lda)