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

◆ F77_sgbmv()

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

Definition at line 187 of file c_sblas2.c.

189 {
190
191 float *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 = ( float* )malloc( (*n+*kl)*LDA*sizeof( float ) );
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_sgbmv( CblasRowMajor, trans, *m, *n, *kl, *ku, *alpha,
217 A, LDA, x, *incx, *beta, y, *incy );
218 free(A);
219 }
220 else
221 cblas_sgbmv( CblasColMajor, trans, *m, *n, *kl, *ku, *alpha,
222 a, *lda, x, *incx, *beta, y, *incy );
223}
CBLAS_TRANSPOSE
Definition: cblas.h:40
void cblas_sgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT KL, const CBLAS_INT KU, const float alpha, const float *A, const CBLAS_INT lda, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
Definition: cblas_sgbmv.c:12
@ CblasColMajor
Definition: cblas.h:39
@ CblasRowMajor
Definition: cblas.h:39
#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: