297 {
303
307
311 x, *incx);
312 else {
313 LDA = *k+2;
316 for( i=0; i<*k; i++ ){
317 irow=*k-i;
318 jcol=(*k)-i;
319 for( j=jcol; j<*n; j++ ) {
320 A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].
real;
321 A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].
imag;
322 }
323 }
324 i=*k;
325 irow=*k-i;
326 for( j=0; j<*n; j++ ) {
327 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
328 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
329 }
330 }
331 else {
332 i=0;
333 irow=*k-i;
334 for( j=0; j<*n; j++ ) {
335 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
336 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
337 }
338 for( i=1; i<*k+1; i++ ){
339 irow=*k-i;
340 jcol=i;
341 for( j=jcol; j<(*n+*k); j++ ) {
342 A[ LDA*j+irow ].
real=a[ (*lda)*(j-jcol)+i ].real;
343 A[ LDA*j+irow ].
imag=a[ (*lda)*(j-jcol)+i ].imag;
344 }
345 }
346 }
348 *incx);
349 free(A);
350 }
351 }
354 else
356}
void cblas_ctbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const CBLAS_INT K, const void *A, const CBLAS_INT lda, void *X, const CBLAS_INT incX)
void get_diag_type(char *type, CBLAS_DIAG *diag)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)