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

## ◆ F77_dsbmv()

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

Definition at line 317 of file c_dblas2.c.

319 {
320 double *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 = ( double* )malloc( (*n+*k)*LDA*sizeof( double ) );
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_dsbmv(CblasRowMajor, uplo, *n, *k, *alpha, A, LDA, x, *incx,
354 *beta, y, *incy );
355 free(A);
356 }
357 else
358 cblas_dsbmv(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
void cblas_dsbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, 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_dsbmv.c:12
@ CblasColMajor
Definition: cblas.h:39
@ CblasRowMajor
Definition: cblas.h:39
#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: