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

◆ F77_zhbmv()

void F77_zhbmv ( CBLAS_INT * layout,
char * uplow,
CBLAS_INT * n,
CBLAS_INT * k,
CBLAS_TEST_ZOMPLEX * alpha,
CBLAS_TEST_ZOMPLEX * a,
CBLAS_INT * lda,
CBLAS_TEST_ZOMPLEX * x,
CBLAS_INT * incx,
CBLAS_TEST_ZOMPLEX * beta,
CBLAS_TEST_ZOMPLEX * y,
CBLAS_INT * incy )

Definition at line 187 of file c_zblas2.c.

194 {
195
197CBLAS_INT i,irow,j,jcol,LDA;
198
199 CBLAS_UPLO uplo;
200
201 get_uplo_type(uplow,&uplo);
202
203 if (*layout == TEST_ROW_MJR) {
204 if (uplo != CblasUpper && uplo != CblasLower )
205 cblas_zhbmv(CblasRowMajor, UNDEFINED, *n, *k, alpha, a, *lda, x,
206 *incx, beta, y, *incy );
207 else {
208 LDA = *k+2;
209 A =(CBLAS_TEST_ZOMPLEX*)malloc((*n+*k)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
210 if (uplo == CblasUpper) {
211 for( i=0; i<*k; i++ ){
212 irow=*k-i;
213 jcol=(*k)-i;
214 for( j=jcol; j<*n; j++ ) {
215 A[ LDA*(j-jcol)+irow ].real=a[ (*lda)*j+i ].real;
216 A[ LDA*(j-jcol)+irow ].imag=a[ (*lda)*j+i ].imag;
217 }
218 }
219 i=*k;
220 irow=*k-i;
221 for( j=0; j<*n; j++ ) {
222 A[ LDA*j+irow ].real=a[ (*lda)*j+i ].real;
223 A[ LDA*j+irow ].imag=a[ (*lda)*j+i ].imag;
224 }
225 }
226 else {
227 i=0;
228 irow=*k-i;
229 for( j=0; j<*n; j++ ) {
230 A[ LDA*j+irow ].real=a[ (*lda)*j+i ].real;
231 A[ LDA*j+irow ].imag=a[ (*lda)*j+i ].imag;
232 }
233 for( i=1; i<*k+1; i++ ){
234 irow=*k-i;
235 jcol=i;
236 for( j=jcol; j<(*n+*k); j++ ) {
237 A[ LDA*j+irow ].real=a[ (*lda)*(j-jcol)+i ].real;
238 A[ LDA*j+irow ].imag=a[ (*lda)*(j-jcol)+i ].imag;
239 }
240 }
241 }
242 cblas_zhbmv( CblasRowMajor, uplo, *n, *k, alpha, A, LDA, x, *incx,
243 beta, y, *incy );
244 free(A);
245 }
246 }
247 else if (*layout == TEST_COL_MJR)
248 cblas_zhbmv(CblasColMajor, uplo, *n, *k, alpha, a, *lda, x, *incx,
249 beta, y, *incy );
250 else
251 cblas_zhbmv(UNDEFINED, uplo, *n, *k, alpha, a, *lda, x, *incx,
252 beta, y, *incy );
253}
CBLAS_UPLO
Definition cblas.h:41
@ CblasLower
Definition cblas.h:41
@ CblasUpper
Definition cblas.h:41
@ CblasColMajor
Definition cblas.h:39
@ CblasRowMajor
Definition cblas.h:39
#define CBLAS_INT
Definition cblas.h:24
void cblas_zhbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, const void *alpha, const void *A, const CBLAS_INT lda, const void *X, const CBLAS_INT incX, const void *beta, void *Y, const CBLAS_INT incY)
Definition cblas_zhbmv.c:12
#define UNDEFINED
Definition cblas_test.h:28
#define TEST_ROW_MJR
Definition cblas_test.h:21
#define TEST_COL_MJR
Definition cblas_test.h:25
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
Definition auxiliary.c:18
Here is the call graph for this function: