10 #include "cblas_f77.h" 11 void cblas_stpmv(
const CBLAS_LAYOUT layout,
const CBLAS_UPLO Uplo,
12 const CBLAS_TRANSPOSE TransA,
const CBLAS_DIAG Diag,
13 const CBLAS_INT N,
const float *Ap,
float *X,
const CBLAS_INT incX)
19 F77_CHAR F77_TA, F77_UL, F77_DI;
26 F77_INT F77_N=N, F77_incX=incX;
31 extern int CBLAS_CallFromC;
32 extern int RowMajorStrg;
36 if (layout == CblasColMajor)
38 if (Uplo == CblasUpper) UL =
'U';
39 else if (Uplo == CblasLower) UL =
'L';
42 cblas_xerbla(2,
"cblas_stpmv",
"Illegal Uplo setting, %d\n", Uplo);
47 if (TransA == CblasNoTrans) TA =
'N';
48 else if (TransA == CblasTrans) TA =
'T';
49 else if (TransA == CblasConjTrans) TA =
'C';
52 cblas_xerbla(3,
"cblas_stpmv",
"Illegal TransA setting, %d\n", TransA);
57 if (Diag == CblasUnit) DI =
'U';
58 else if (Diag == CblasNonUnit) DI =
'N';
61 cblas_xerbla(4,
"cblas_stpmv",
"Illegal Diag setting, %d\n", Diag);
67 F77_UL = C2F_CHAR(&UL);
68 F77_TA = C2F_CHAR(&TA);
69 F77_DI = C2F_CHAR(&DI);
71 F77_stpmv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X, &F77_incX);
73 else if (layout == CblasRowMajor)
76 if (Uplo == CblasUpper) UL =
'L';
77 else if (Uplo == CblasLower) UL =
'U';
80 cblas_xerbla(2,
"cblas_stpmv",
"Illegal Uplo setting, %d\n", Uplo);
86 if (TransA == CblasNoTrans) TA =
'T';
87 else if (TransA == CblasTrans) TA =
'N';
88 else if (TransA == CblasConjTrans) TA =
'N';
91 cblas_xerbla(3,
"cblas_stpmv",
"Illegal TransA setting, %d\n", TransA);
97 if (Diag == CblasUnit) DI =
'U';
98 else if (Diag == CblasNonUnit) DI =
'N';
101 cblas_xerbla(4,
"cblas_stpmv",
"Illegal Diag setting, %d\n", Diag);
107 F77_UL = C2F_CHAR(&UL);
108 F77_TA = C2F_CHAR(&TA);
109 F77_DI = C2F_CHAR(&DI);
112 F77_stpmv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X,&F77_incX);
114 else cblas_xerbla(1,
"cblas_stpmv",
"Illegal layout setting, %d\n", layout);