178 {
179
182
184
186
190 *incx, beta, y, *incy );
191 else {
192 LDA = *k+2;
195 for( i=0; i<*k; i++ ){
196 irow=*k-i;
197 jcol=(*k)-i;
198 for( j=jcol; j<*n; j++ ) {
199 A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].
real;
200 A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].
imag;
201 }
202 }
203 i=*k;
204 irow=*k-i;
205 for( j=0; j<*n; j++ ) {
206 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
207 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
208 }
209 }
210 else {
211 i=0;
212 irow=*k-i;
213 for( j=0; j<*n; j++ ) {
214 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
215 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
216 }
217 for( i=1; i<*k+1; i++ ){
218 irow=*k-i;
219 jcol=i;
220 for( j=jcol; j<(*n+*k); j++ ) {
221 A[ LDA*j+irow ].
real=a[ (*lda)*(j-jcol)+i ].real;
222 A[ LDA*j+irow ].
imag=a[ (*lda)*(j-jcol)+i ].imag;
223 }
224 }
225 }
227 beta, y, *incy );
228 free(A);
229 }
230 }
233 beta, y, *incy );
234 else
236 beta, y, *incy );
237}
void cblas_zhbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, const void *alpha, const void *A, const CBLAS_INT lda, const void *X, const CBLAS_INT incX, const void *beta, void *Y, const CBLAS_INT incY)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)