11 #include "cblas_f77.h" 12 void cblas_sgbmv(
const CBLAS_LAYOUT layout,
13 const CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
14 const CBLAS_INT KL,
const CBLAS_INT KU,
15 const float alpha,
const float *A,
const CBLAS_INT lda,
16 const float *X,
const CBLAS_INT incX,
const float beta,
17 float *Y,
const CBLAS_INT incY)
26 F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY;
27 F77_INT F77_KL=KL,F77_KU=KU;
37 extern int CBLAS_CallFromC;
38 extern int RowMajorStrg;
42 if (layout == CblasColMajor)
44 if (TransA == CblasNoTrans) TA =
'N';
45 else if (TransA == CblasTrans) TA =
'T';
46 else if (TransA == CblasConjTrans) TA =
'C';
49 cblas_xerbla(2,
"cblas_sgbmv",
"Illegal TransA setting, %d\n", TransA);
55 F77_TA = C2F_CHAR(&TA);
57 F77_sgbmv(F77_TA, &F77_M, &F77_N, &F77_KL, &F77_KU, &alpha,
58 A, &F77_lda, X, &F77_incX, &beta, Y, &F77_incY);
60 else if (layout == CblasRowMajor)
63 if (TransA == CblasNoTrans) TA =
'T';
64 else if (TransA == CblasTrans) TA =
'N';
65 else if (TransA == CblasConjTrans) TA =
'N';
68 cblas_xerbla(2,
"cblas_sgbmv",
"Illegal TransA setting, %d\n", TransA);
74 F77_TA = C2F_CHAR(&TA);
76 F77_sgbmv(F77_TA, &F77_N, &F77_M, &F77_KU, &F77_KL, &alpha,
77 A ,&F77_lda, X, &F77_incX, &beta, Y, &F77_incY);
79 else cblas_xerbla(1,
"cblas_sgbmv",
"Illegal layout setting, %d\n", layout);