11 #include "cblas_f77.h" 12 void cblas_chemv(
const CBLAS_LAYOUT layout,
13 const CBLAS_UPLO Uplo,
const CBLAS_INT N,
14 const void *alpha,
const void *A,
const CBLAS_INT lda,
15 const void *X,
const CBLAS_INT incX,
const void *beta,
16 void *Y,
const CBLAS_INT incY)
25 F77_INT F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY;
32 CBLAS_INT n=0, i=0, incx=incX;
33 const float *xx= (
float *)X, *alp= (
float *)alpha, *bet = (
float *)beta;
34 float ALPHA[2],BETA[2];
35 CBLAS_INT tincY, tincx;
36 float *x=(
float *)X, *y=(
float *)Y, *st=0, *tx;
37 extern int CBLAS_CallFromC;
38 extern int RowMajorStrg;
43 if (layout == CblasColMajor)
45 if (Uplo == CblasUpper) UL =
'U';
46 else if (Uplo == CblasLower) UL =
'L';
49 cblas_xerbla(2,
"cblas_chemv",
"Illegal Uplo setting, %d\n",Uplo );
55 F77_UL = C2F_CHAR(&UL);
57 F77_chemv(F77_UL, &F77_N, alpha, A, &F77_lda, X, &F77_incX,
60 else if (layout == CblasRowMajor)
71 x = malloc(n*
sizeof(
float));
120 if (Uplo == CblasUpper) UL =
'L';
121 else if (Uplo == CblasLower) UL =
'U';
124 cblas_xerbla(2,
"cblas_chemv",
"Illegal Uplo setting, %d\n", Uplo);
130 F77_UL = C2F_CHAR(&UL);
132 F77_chemv(F77_UL, &F77_N, ALPHA, A, &F77_lda, x, &F77_incX,
137 cblas_xerbla(1,
"cblas_chemv",
"Illegal layout setting, %d\n", layout);
142 if ( layout == CblasRowMajor )