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

## ◆ F77_ssbmv()

 void F77_ssbmv ( int * layout, char * uplow, int * n, int * k, float * alpha, float * a, int * lda, float * x, int * incx, float * beta, float * y, int * incy )

Definition at line 317 of file c_sblas2.c.

319 {
320 float *A;
321 int i,j,irow,jcol,LDA;
322 CBLAS_UPLO uplo;
323
324 get_uplo_type(uplow,&uplo);
325
326 if (*layout == TEST_ROW_MJR) {
327 LDA = *k+1;
328 A = ( float* )malloc( (*n+*k)*LDA*sizeof( float ) );
329 if (uplo == CblasUpper) {
330 for( i=0; i<*k; i++ ){
331 irow=*k-i;
332 jcol=(*k)-i;
333 for( j=jcol; j<*n; j++ )
334 A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
335 }
336 i=*k;
337 irow=*k-i;
338 for( j=0; j<*n; j++ )
339 A[ LDA*j+irow ]=a[ (*lda)*j+i ];
340 }
341 else {
342 i=0;
343 irow=*k-i;
344 for( j=0; j<*n; j++ )
345 A[ LDA*j+irow ]=a[ (*lda)*j+i ];
346 for( i=1; i<*k+1; i++ ){
347 irow=*k-i;
348 jcol=i;
349 for( j=jcol; j<(*n+*k); j++ )
350 A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
351 }
352 }
353 cblas_ssbmv(CblasRowMajor, uplo, *n, *k, *alpha, A, LDA, x, *incx,
354 *beta, y, *incy );
355 free(A);
356 }
357 else
358 cblas_ssbmv(CblasColMajor, uplo, *n, *k, *alpha, a, *lda, x, *incx,
359 *beta, y, *incy );
360}
CBLAS_UPLO
Definition: cblas.h:41
@ CblasUpper
Definition: cblas.h:41
@ CblasColMajor
Definition: cblas.h:39
@ CblasRowMajor
Definition: cblas.h:39
void cblas_ssbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, 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_ssbmv.c:11
#define TEST_ROW_MJR
Definition: cblas_test.h:12
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
Definition: auxiliary.c:18
#define LDA
Definition: example_user.c:12
Here is the call graph for this function: