LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ cblas_dtpsv()

void cblas_dtpsv ( CBLAS_LAYOUT  layout,
CBLAS_UPLO  Uplo,
CBLAS_TRANSPOSE  TransA,
CBLAS_DIAG  Diag,
const int  N,
const double *  Ap,
double *  X,
const int  incX 
)

Definition at line 10 of file cblas_dtpsv.c.

13 {
14  char TA;
15  char UL;
16  char DI;
17 #ifdef F77_CHAR
18  F77_CHAR F77_TA, F77_UL, F77_DI;
19 #else
20  #define F77_TA &TA
21  #define F77_UL &UL
22  #define F77_DI &DI
23 #endif
24 #ifdef F77_INT
25  F77_INT F77_N=N, F77_incX=incX;
26 #else
27  #define F77_N N
28  #define F77_incX incX
29 #endif
30  extern int CBLAS_CallFromC;
31  extern int RowMajorStrg;
32  RowMajorStrg = 0;
33 
34  CBLAS_CallFromC = 1;
35  if (layout == CblasColMajor)
36  {
37  if (Uplo == CblasUpper) UL = 'U';
38  else if (Uplo == CblasLower) UL = 'L';
39  else
40  {
41  cblas_xerbla(2, "cblas_dtpsv","Illegal Uplo setting, %d\n", Uplo);
42  CBLAS_CallFromC = 0;
43  RowMajorStrg = 0;
44  return;
45  }
46  if (TransA == CblasNoTrans) TA = 'N';
47  else if (TransA == CblasTrans) TA = 'T';
48  else if (TransA == CblasConjTrans) TA = 'C';
49  else
50  {
51  cblas_xerbla(3, "cblas_dtpsv","Illegal TransA setting, %d\n", TransA);
52  CBLAS_CallFromC = 0;
53  RowMajorStrg = 0;
54  return;
55  }
56  if (Diag == CblasUnit) DI = 'U';
57  else if (Diag == CblasNonUnit) DI = 'N';
58  else
59  {
60  cblas_xerbla(4, "cblas_dtpsv","Illegal Diag setting, %d\n", Diag);
61  CBLAS_CallFromC = 0;
62  RowMajorStrg = 0;
63  return;
64  }
65  #ifdef F77_CHAR
66  F77_UL = C2F_CHAR(&UL);
67  F77_TA = C2F_CHAR(&TA);
68  F77_DI = C2F_CHAR(&DI);
69  #endif
70  F77_dtpsv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X, &F77_incX);
71  }
72  else if (layout == CblasRowMajor)
73  {
74  RowMajorStrg = 1;
75  if (Uplo == CblasUpper) UL = 'L';
76  else if (Uplo == CblasLower) UL = 'U';
77  else
78  {
79  cblas_xerbla(2, "cblas_dtpsv","Illegal Uplo setting, %d\n", Uplo);
80  CBLAS_CallFromC = 0;
81  RowMajorStrg = 0;
82  return;
83  }
84 
85  if (TransA == CblasNoTrans) TA = 'T';
86  else if (TransA == CblasTrans) TA = 'N';
87  else if (TransA == CblasConjTrans) TA = 'N';
88  else
89  {
90  cblas_xerbla(3, "cblas_dtpsv","Illegal TransA setting, %d\n", TransA);
91  CBLAS_CallFromC = 0;
92  RowMajorStrg = 0;
93  return;
94  }
95 
96  if (Diag == CblasUnit) DI = 'U';
97  else if (Diag == CblasNonUnit) DI = 'N';
98  else
99  {
100  cblas_xerbla(4, "cblas_dtpsv","Illegal Diag setting, %d\n", Diag);
101  CBLAS_CallFromC = 0;
102  RowMajorStrg = 0;
103  return;
104  }
105  #ifdef F77_CHAR
106  F77_UL = C2F_CHAR(&UL);
107  F77_TA = C2F_CHAR(&TA);
108  F77_DI = C2F_CHAR(&DI);
109  #endif
110 
111  F77_dtpsv( F77_UL, F77_TA, F77_DI, &F77_N, Ap, X,&F77_incX);
112 
113  }
114  else cblas_xerbla(1, "cblas_dtpsv", "Illegal layout setting, %d\n", layout);
115  CBLAS_CallFromC = 0;
116  RowMajorStrg = 0;
117  return;
118 }
int RowMajorStrg
Definition: cblas_globals.c:2
#define F77_dtpsv
Definition: cblas_f77.h:141
#define F77_N
#define F77_UL
#define F77_incX
#define F77_DI
#define F77_TA
int CBLAS_CallFromC
Definition: cblas_globals.c:1
void cblas_xerbla(int p, const char *rout, const char *form,...)
Definition: cblas_xerbla.c:8
#define N
Definition: example_user.c:10
Here is the call graph for this function:
Here is the caller graph for this function: