LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
cblas_stpmv.c
Go to the documentation of this file.
1
/*
2
*
3
* cblas_stpmv.c
4
* This program is a C interface to stpmv.
5
* Written by Keita Teranishi
6
* 4/6/1998
7
*
8
*/
9
#include "
cblas.h
"
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
int
N
,
const
float
*Ap,
float
*X,
const
int
incX)
14
{
15
char
TA;
16
char
UL;
17
char
DI;
18
#ifdef F77_CHAR
19
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
20
#else
21
#define F77_TA &TA
22
#define F77_UL &UL
23
#define F77_DI &DI
24
#endif
25
#ifdef F77_INT
26
F77_INT
F77_N
=
N
,
F77_incX
=incX;
27
#else
28
#define F77_N N
29
#define F77_incX incX
30
#endif
31
extern
int
CBLAS_CallFromC
;
32
extern
int
RowMajorStrg
;
33
RowMajorStrg
= 0;
34
35
CBLAS_CallFromC
= 1;
36
if
(layout ==
CblasColMajor
)
37
{
38
if
(Uplo ==
CblasUpper
) UL =
'U'
;
39
else
if
(Uplo ==
CblasLower
) UL =
'L'
;
40
else
41
{
42
cblas_xerbla
(2,
"cblas_stpmv"
,
"Illegal Uplo setting, %d\n"
, Uplo);
43
CBLAS_CallFromC
= 0;
44
RowMajorStrg
= 0;
45
return
;
46
}
47
if
(TransA ==
CblasNoTrans
) TA =
'N'
;
48
else
if
(TransA ==
CblasTrans
) TA =
'T'
;
49
else
if
(TransA ==
CblasConjTrans
) TA =
'C'
;
50
else
51
{
52
cblas_xerbla
(3,
"cblas_stpmv"
,
"Illegal TransA setting, %d\n"
, TransA);
53
CBLAS_CallFromC
= 0;
54
RowMajorStrg
= 0;
55
return
;
56
}
57
if
(Diag ==
CblasUnit
) DI =
'U'
;
58
else
if
(Diag ==
CblasNonUnit
) DI =
'N'
;
59
else
60
{
61
cblas_xerbla
(4,
"cblas_stpmv"
,
"Illegal Diag setting, %d\n"
, Diag);
62
CBLAS_CallFromC
= 0;
63
RowMajorStrg
= 0;
64
return
;
65
}
66
#ifdef F77_CHAR
67
F77_UL
= C2F_CHAR(&UL);
68
F77_TA
= C2F_CHAR(&TA);
69
F77_DI
= C2F_CHAR(&DI);
70
#endif
71
F77_stpmv
(
F77_UL
,
F77_TA
,
F77_DI
, &
F77_N
, Ap, X, &
F77_incX
);
72
}
73
else
if
(layout ==
CblasRowMajor
)
74
{
75
RowMajorStrg
= 1;
76
if
(Uplo ==
CblasUpper
) UL =
'L'
;
77
else
if
(Uplo ==
CblasLower
) UL =
'U'
;
78
else
79
{
80
cblas_xerbla
(2,
"cblas_stpmv"
,
"Illegal Uplo setting, %d\n"
, Uplo);
81
CBLAS_CallFromC
= 0;
82
RowMajorStrg
= 0;
83
return
;
84
}
85
86
if
(TransA ==
CblasNoTrans
) TA =
'T'
;
87
else
if
(TransA ==
CblasTrans
) TA =
'N'
;
88
else
if
(TransA ==
CblasConjTrans
) TA =
'N'
;
89
else
90
{
91
cblas_xerbla
(3,
"cblas_stpmv"
,
"Illegal TransA setting, %d\n"
, TransA);
92
CBLAS_CallFromC
= 0;
93
RowMajorStrg
= 0;
94
return
;
95
}
96
97
if
(Diag ==
CblasUnit
) DI =
'U'
;
98
else
if
(Diag ==
CblasNonUnit
) DI =
'N'
;
99
else
100
{
101
cblas_xerbla
(4,
"cblas_stpmv"
,
"Illegal Diag setting, %d\n"
, Diag);
102
CBLAS_CallFromC
= 0;
103
RowMajorStrg
= 0;
104
return
;
105
}
106
#ifdef F77_CHAR
107
F77_UL
= C2F_CHAR(&UL);
108
F77_TA
= C2F_CHAR(&TA);
109
F77_DI
= C2F_CHAR(&DI);
110
#endif
111
112
F77_stpmv
(
F77_UL
,
F77_TA
,
F77_DI
, &
F77_N
, Ap, X,&
F77_incX
);
113
}
114
else
cblas_xerbla
(1,
"cblas_stpmv"
,
"Illegal layout setting, %d\n"
, layout);
115
CBLAS_CallFromC
= 0;
116
RowMajorStrg
= 0;
117
return
;
118
}
cblas_f77.h
CblasNonUnit
Definition:
cblas.h:22
CBLAS_TRANSPOSE
CBLAS_TRANSPOSE
Definition:
cblas.h:20
F77_UL
#define F77_UL
CblasUnit
Definition:
cblas.h:22
cblas_xerbla
void cblas_xerbla(int p, const char *rout, const char *form,...)
Definition:
cblas_xerbla.c:8
CblasUpper
Definition:
cblas.h:21
F77_DI
#define F77_DI
CBLAS_DIAG
CBLAS_DIAG
Definition:
cblas.h:22
cblas_stpmv
void cblas_stpmv(const CBLAS_LAYOUT layout, const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag, const int N, const float *Ap, float *X, const int incX)
Definition:
cblas_stpmv.c:11
F77_stpmv
#define F77_stpmv
Definition:
cblas_f77.h:130
CblasColMajor
Definition:
cblas.h:19
CblasTrans
Definition:
cblas.h:20
CBLAS_CallFromC
int CBLAS_CallFromC
Definition:
cblas_globals.c:1
cblas.h
CBLAS_LAYOUT
CBLAS_LAYOUT
Definition:
cblas.h:19
CblasRowMajor
Definition:
cblas.h:19
RowMajorStrg
int RowMajorStrg
Definition:
cblas_globals.c:2
F77_N
#define F77_N
CblasNoTrans
Definition:
cblas.h:20
CblasLower
Definition:
cblas.h:21
CBLAS_UPLO
CBLAS_UPLO
Definition:
cblas.h:21
F77_TA
#define F77_TA
N
#define N
Definition:
example_user.c:10
CblasConjTrans
Definition:
cblas.h:20
F77_incX
#define F77_incX
CBLAS
src
cblas_stpmv.c
Generated on Wed May 5 2021 15:10:30 for LAPACK by
1.8.16