LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

◆ F77_cgbmv()

void F77_cgbmv ( CBLAS_INT * layout,
char * transp,
CBLAS_INT * m,
CBLAS_INT * n,
CBLAS_INT * kl,
CBLAS_INT * ku,
CBLAS_TEST_COMPLEX * alpha,
CBLAS_TEST_COMPLEX * a,
CBLAS_INT * lda,
CBLAS_TEST_COMPLEX * x,
CBLAS_INT * incx,
CBLAS_TEST_COMPLEX * beta,
CBLAS_TEST_COMPLEX * y,
CBLAS_INT * incy )

Definition at line 45 of file c_cblas2.c.

52 {
53
55 CBLAS_INT i,j,irow,jcol,LDA;
56 CBLAS_TRANSPOSE trans;
57
58 get_transpose_type(transp, &trans);
59 if (*layout == TEST_ROW_MJR) {
60 LDA = *ku+*kl+2;
61 A=( CBLAS_TEST_COMPLEX* )malloc((*n+*kl)*LDA*sizeof(CBLAS_TEST_COMPLEX));
62 for( i=0; i<*ku; i++ ){
63 irow=*ku+*kl-i;
64 jcol=(*ku)-i;
65 for( j=jcol; j<*n; j++ ){
66 A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].real;
67 A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].imag;
68 }
69 }
70 i=*ku;
71 irow=*ku+*kl-i;
72 for( j=0; j<*n; j++ ){
73 A[ LDA*j+irow ].real=a[ (*lda)*j+i ].real;
74 A[ LDA*j+irow ].imag=a[ (*lda)*j+i ].imag;
75 }
76 for( i=*ku+1; i<*ku+*kl+1; i++ ){
77 irow=*ku+*kl-i;
78 jcol=i-(*ku);
79 for( j=jcol; j<(*n+*kl); j++ ){
80 A[ LDA*j+irow ].real=a[ (*lda)*(j-jcol)+i ].real;
81 A[ LDA*j+irow ].imag=a[ (*lda)*(j-jcol)+i ].imag;
82 }
83 }
84 cblas_cgbmv( CblasRowMajor, trans, *m, *n, *kl, *ku, alpha, A, LDA, x,
85 *incx, beta, y, *incy );
86 free(A);
87 }
88 else if (*layout == TEST_COL_MJR)
89 cblas_cgbmv( CblasColMajor, trans, *m, *n, *kl, *ku, alpha, a, *lda, x,
90 *incx, beta, y, *incy );
91 else
92 cblas_cgbmv( UNDEFINED, trans, *m, *n, *kl, *ku, alpha, a, *lda, x,
93 *incx, beta, y, *incy );
94}
CBLAS_TRANSPOSE
Definition cblas.h:40
@ CblasColMajor
Definition cblas.h:39
@ CblasRowMajor
Definition cblas.h:39
void cblas_cgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT KL, const CBLAS_INT KU, 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)
Definition cblas_cgbmv.c:12
#define CBLAS_INT
Definition cblas.h:24
#define UNDEFINED
Definition cblas_test.h:28
#define TEST_ROW_MJR
Definition cblas_test.h:21
#define TEST_COL_MJR
Definition cblas_test.h:25
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)
Definition auxiliary.c:8
Here is the call graph for this function: