LAPACK 3.11.0 LAPACK: Linear Algebra PACKage
Searching...
No Matches

◆ F77_dgbmv()

 void F77_dgbmv ( int * layout, char * transp, int * m, int * n, int * kl, int * ku, double * alpha, double * a, int * lda, double * x, int * incx, double * beta, double * y, int * incy )

Definition at line 187 of file c_dblas2.c.

189 {
190
191 double *A;
192 int i,irow,j,jcol,LDA;
193 CBLAS_TRANSPOSE trans;
194
195 get_transpose_type(transp, &trans);
196
197 if (*layout == TEST_ROW_MJR) {
198 LDA = *ku+*kl+2;
199 A = ( double* )malloc( (*n+*kl)*LDA*sizeof( double ) );
200 for( i=0; i<*ku; i++ ){
201 irow=*ku+*kl-i;
202 jcol=(*ku)-i;
203 for( j=jcol; j<*n; j++ )
204 A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
205 }
206 i=*ku;
207 irow=*ku+*kl-i;
208 for( j=0; j<*n; j++ )
209 A[ LDA*j+irow ]=a[ (*lda)*j+i ];
210 for( i=*ku+1; i<*ku+*kl+1; i++ ){
211 irow=*ku+*kl-i;
212 jcol=i-(*ku);
213 for( j=jcol; j<(*n+*kl); j++ )
214 A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
215 }
216 cblas_dgbmv( CblasRowMajor, trans, *m, *n, *kl, *ku, *alpha,
217 A, LDA, x, *incx, *beta, y, *incy );
218 free(A);
219 }
220 else
221 cblas_dgbmv( CblasColMajor, trans, *m, *n, *kl, *ku, *alpha,
222 a, *lda, x, *incx, *beta, y, *incy );
223}
CBLAS_TRANSPOSE
Definition: cblas.h:40
@ CblasColMajor
Definition: cblas.h:39
@ CblasRowMajor
Definition: cblas.h:39
void cblas_dgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT KL, const CBLAS_INT KU, const double alpha, const double *A, const CBLAS_INT lda, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)
Definition: cblas_dgbmv.c:11
#define TEST_ROW_MJR
Definition: cblas_test.h:12
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)
Definition: auxiliary.c:8
#define LDA
Definition: example_user.c:12
Here is the call graph for this function: