388 {
389
395
399
403 *incx);
404 else {
405 LDA = *k+2;
408 for( i=0; i<*k; i++ ){
409 irow=*k-i;
410 jcol=(*k)-i;
411 for( j=jcol; j<*n; j++ ) {
412 A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].
real;
413 A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].
imag;
414 }
415 }
416 i=*k;
417 irow=*k-i;
418 for( j=0; j<*n; j++ ) {
419 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
420 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
421 }
422 }
423 else {
424 i=0;
425 irow=*k-i;
426 for( j=0; j<*n; j++ ) {
427 A[ LDA*j+irow ].
real=a[ (*lda)*j+i ].
real;
428 A[ LDA*j+irow ].
imag=a[ (*lda)*j+i ].
imag;
429 }
430 for( i=1; i<*k+1; i++ ){
431 irow=*k-i;
432 jcol=i;
433 for( j=jcol; j<(*n+*k); j++ ) {
434 A[ LDA*j+irow ].
real=a[ (*lda)*(j-jcol)+i ].real;
435 A[ LDA*j+irow ].
imag=a[ (*lda)*(j-jcol)+i ].imag;
436 }
437 }
438 }
440 x, *incx);
441 free(A);
442 }
443 }
446 else
448}
void cblas_ztbsv(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)