LAPACK  3.10.0 LAPACK: Linear Algebra PACKage

## ◆ 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 }
void cblas_ssbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const CBLAS_INDEX K, const float alpha, const float *A, const CBLAS_INDEX lda, const float *X, const CBLAS_INDEX incX, const float beta, float *Y, const CBLAS_INDEX incY)
Definition: cblas_ssbmv.c:11
CBLAS_UPLO
Definition: cblas.h:21
@ CblasUpper
Definition: cblas.h:21
@ CblasColMajor
Definition: cblas.h:19
@ CblasRowMajor
Definition: cblas.h:19
#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:
Here is the caller graph for this function: