LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ F77_zgbmv()

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

Definition at line 41 of file c_zblas2.c.

44  {
45 
47  int i,j,irow,jcol,LDA;
48  CBLAS_TRANSPOSE trans;
49 
50  get_transpose_type(transp, &trans);
51  if (*layout == TEST_ROW_MJR) {
52  LDA = *ku+*kl+2;
53  A=( CBLAS_TEST_ZOMPLEX* )malloc((*n+*kl)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
54  for( i=0; i<*ku; i++ ){
55  irow=*ku+*kl-i;
56  jcol=(*ku)-i;
57  for( j=jcol; j<*n; j++ ){
58  A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].real;
59  A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].imag;
60  }
61  }
62  i=*ku;
63  irow=*ku+*kl-i;
64  for( j=0; j<*n; j++ ){
65  A[ LDA*j+irow ].real=a[ (*lda)*j+i ].real;
66  A[ LDA*j+irow ].imag=a[ (*lda)*j+i ].imag;
67  }
68  for( i=*ku+1; i<*ku+*kl+1; i++ ){
69  irow=*ku+*kl-i;
70  jcol=i-(*ku);
71  for( j=jcol; j<(*n+*kl); j++ ){
72  A[ LDA*j+irow ].real=a[ (*lda)*(j-jcol)+i ].real;
73  A[ LDA*j+irow ].imag=a[ (*lda)*(j-jcol)+i ].imag;
74  }
75  }
76  cblas_zgbmv( CblasRowMajor, trans, *m, *n, *kl, *ku, alpha, A, LDA, x,
77  *incx, beta, y, *incy );
78  free(A);
79  }
80  else if (*layout == TEST_COL_MJR)
81  cblas_zgbmv( CblasColMajor, trans, *m, *n, *kl, *ku, alpha, a, *lda, x,
82  *incx, beta, y, *incy );
83  else
84  cblas_zgbmv( UNDEFINED, trans, *m, *n, *kl, *ku, alpha, a, *lda, x,
85  *incx, beta, y, *incy );
86 }
CBLAS_TRANSPOSE
Definition: cblas.h:20
@ CblasColMajor
Definition: cblas.h:19
@ CblasRowMajor
Definition: cblas.h:19
void cblas_zgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INDEX M, const CBLAS_INDEX N, const CBLAS_INDEX KL, const CBLAS_INDEX KU, const void *alpha, const void *A, const CBLAS_INDEX lda, const void *X, const CBLAS_INDEX incX, const void *beta, void *Y, const CBLAS_INDEX incY)
Definition: cblas_zgbmv.c:12
#define UNDEFINED
Definition: cblas_test.h:19
#define TEST_ROW_MJR
Definition: cblas_test.h:12
#define TEST_COL_MJR
Definition: cblas_test.h:16
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:
Here is the caller graph for this function: