LAPACK
3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
cblas_dspr2.c
Go to the documentation of this file.
1
/*
2
* cblas_dspr2.c
3
* The program is a C interface to dspr2.
4
*
5
* Keita Teranishi 5/20/98
6
*
7
*/
8
#include "
cblas.h
"
9
#include "
cblas_f77.h
"
10
void
API_SUFFIX
(
cblas_dspr2
)(
const
CBLAS_LAYOUT
layout,
const
CBLAS_UPLO
Uplo,
11
const
CBLAS_INT
N,
const
double
alpha,
const
double
*X,
12
const
CBLAS_INT
incX,
const
double
*Y,
const
CBLAS_INT
incY,
double
*A)
13
{
14
char
UL;
15
#ifdef F77_CHAR
16
F77_CHAR
F77_UL
;
17
#else
18
#define F77_UL &UL
19
#endif
20
21
#ifdef F77_INT
22
F77_INT
F77_N
=N,
F77_incX
=incX,
F77_incY
=incY;
23
#else
24
#define F77_N N
25
#define F77_incX incX
26
#define F77_incY incY
27
#endif
28
29
extern
int
CBLAS_CallFromC
;
30
extern
int
RowMajorStrg
;
31
RowMajorStrg
= 0;
32
CBLAS_CallFromC
= 1;
33
if
(layout ==
CblasColMajor
)
34
{
35
if
(Uplo ==
CblasLower
) UL =
'L'
;
36
else
if
(Uplo ==
CblasUpper
) UL =
'U'
;
37
else
38
{
39
API_SUFFIX
(
cblas_xerbla
)(2,
"cblas_dspr2"
,
"Illegal Uplo setting, %d\n"
,Uplo );
40
CBLAS_CallFromC
= 0;
41
RowMajorStrg
= 0;
42
return
;
43
}
44
#ifdef F77_CHAR
45
F77_UL
= C2F_CHAR(&UL);
46
#endif
47
48
F77_dspr2
(
F77_UL
, &
F77_N
, &alpha, X, &
F77_incX
, Y, &
F77_incY
, A);
49
50
}
else
if
(layout ==
CblasRowMajor
)
51
{
52
RowMajorStrg
= 1;
53
if
(Uplo ==
CblasLower
) UL =
'U'
;
54
else
if
(Uplo ==
CblasUpper
) UL =
'L'
;
55
else
56
{
57
API_SUFFIX
(
cblas_xerbla
)(2,
"cblas_dspr2"
,
"Illegal Uplo setting, %d\n"
,Uplo );
58
CBLAS_CallFromC
= 0;
59
RowMajorStrg
= 0;
60
return
;
61
}
62
#ifdef F77_CHAR
63
F77_UL
= C2F_CHAR(&UL);
64
#endif
65
F77_dspr2
(
F77_UL
, &
F77_N
, &alpha, X, &
F77_incX
, Y, &
F77_incY
, A);
66
}
else
API_SUFFIX
(
cblas_xerbla
)(1,
"cblas_dspr2"
,
"Illegal layout setting, %d\n"
, layout);
67
CBLAS_CallFromC
= 0;
68
RowMajorStrg
= 0;
69
return
;
70
}
CBLAS_UPLO
CBLAS_UPLO
Definition
cblas.h:41
CblasLower
@ CblasLower
Definition
cblas.h:41
CblasUpper
@ CblasUpper
Definition
cblas.h:41
cblas_xerbla
void cblas_xerbla(CBLAS_INT p, const char *rout, const char *form,...)
Definition
cblas_xerbla.c:12
CBLAS_LAYOUT
CBLAS_LAYOUT
Definition
cblas.h:39
CblasColMajor
@ CblasColMajor
Definition
cblas.h:39
CblasRowMajor
@ CblasRowMajor
Definition
cblas.h:39
API_SUFFIX
#define API_SUFFIX(a)
Definition
cblas.h:57
CBLAS_INT
#define CBLAS_INT
Definition
cblas.h:24
cblas.h
F77_incX
#define F77_incX
F77_incY
#define F77_incY
F77_N
#define F77_N
F77_UL
#define F77_UL
cblas_dspr2
void API_SUFFIX() cblas_dspr2(const CBLAS_LAYOUT layout, const CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *X, const CBLAS_INT incX, const double *Y, const CBLAS_INT incY, double *A)
Definition
cblas_dspr2.c:10
F77_INT
#define F77_INT
Definition
cblas_example2_64.c:7
F77_dspr2
#define F77_dspr2(...)
Definition
cblas_f77.h:342
cblas_f77.h
CBLAS_CallFromC
int CBLAS_CallFromC
Definition
cblas_globals.c:1
RowMajorStrg
int RowMajorStrg
Definition
cblas_globals.c:2
CBLAS
src
cblas_dspr2.c
Generated on Tue Nov 28 2023 11:55:04 for LAPACK by
1.9.7