10 void cblas_dtpmv(
const CBLAS_LAYOUT layout,
const CBLAS_UPLO Uplo,
11 const CBLAS_TRANSPOSE TransA,
const CBLAS_DIAG Diag,
12 const CBLAS_INT N,
const double *Ap,
double *X,
const CBLAS_INT incX)
18 F77_CHAR F77_TA, F77_UL, F77_DI;
25 F77_INT F77_N=N, F77_incX=incX;
30 extern int CBLAS_CallFromC;
31 extern int RowMajorStrg;
35 if (layout == CblasColMajor)
37 if (Uplo == CblasUpper) UL =
'U';
38 else if (Uplo == CblasLower) UL =
'L';
41 cblas_xerbla(2,
"cblas_dtpmv",
"Illegal Uplo setting, %d\n", Uplo);
46 if (TransA == CblasNoTrans) TA =
'N';
47 else if (TransA == CblasTrans) TA =
'T';
48 else if (TransA == CblasConjTrans) TA =
'C';
51 cblas_xerbla(3,
"cblas_dtpmv",
"Illegal TransA setting, %d\n", TransA);
56 if (Diag == CblasUnit) DI =
'U';
57 else if (Diag == CblasNonUnit) DI =
'N';
60 cblas_xerbla(4,
"cblas_dtpmv",
"Illegal Diag setting, %d\n", Diag);
66 F77_UL = C2F_CHAR(&UL);
67 F77_TA = C2F_CHAR(&TA);
68 F77_DI = C2F_CHAR(&DI);
70 F77_dtpmv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X, &F77_incX);
72 else if (layout == CblasRowMajor)
75 if (Uplo == CblasUpper) UL =
'L';
76 else if (Uplo == CblasLower) UL =
'U';
79 cblas_xerbla(2,
"cblas_dtpmv",
"Illegal Uplo setting, %d\n", Uplo);
85 if (TransA == CblasNoTrans) TA =
'T';
86 else if (TransA == CblasTrans) TA =
'N';
87 else if (TransA == CblasConjTrans) TA =
'N';
90 cblas_xerbla(3,
"cblas_dtpmv",
"Illegal TransA setting, %d\n", TransA);
96 if (Diag == CblasUnit) DI =
'U';
97 else if (Diag == CblasNonUnit) DI =
'N';
100 cblas_xerbla(4,
"cblas_dtpmv",
"Illegal Diag setting, %d\n", Diag);
106 F77_UL = C2F_CHAR(&UL);
107 F77_TA = C2F_CHAR(&TA);
108 F77_DI = C2F_CHAR(&DI);
111 F77_dtpmv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X,&F77_incX);
113 else cblas_xerbla(1,
"cblas_dtpmv",
"Illegal layout setting, %d\n", layout);