LAPACK
3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
cblas_sspmv.c
Go to the documentation of this file.
1
/*
2
*
3
* cblas_sspmv.c
4
* This program is a C interface to sspmv.
5
* Written by Keita Teranishi
6
* 4/6/1998
7
*
8
*/
9
#include "
cblas.h
"
10
#include "
cblas_f77.h
"
11
void
API_SUFFIX
(
cblas_sspmv
)(
const
CBLAS_LAYOUT
layout,
12
const
CBLAS_UPLO
Uplo,
const
CBLAS_INT
N,
13
const
float
alpha,
const
float
*AP,
14
const
float
*X,
const
CBLAS_INT
incX,
const
float
beta,
15
float
*Y,
const
CBLAS_INT
incY)
16
{
17
char
UL;
18
#ifdef F77_CHAR
19
F77_CHAR
F77_UL
;
20
#else
21
#define F77_UL &UL
22
#endif
23
#ifdef F77_INT
24
F77_INT
F77_N
=N,
F77_incX
=incX,
F77_incY
=incY;
25
#else
26
#define F77_N N
27
#define F77_incX incX
28
#define F77_incY incY
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
API_SUFFIX
(
cblas_xerbla
)(2,
"cblas_sspmv"
,
"Illegal Uplo setting, %d\n"
,Uplo );
42
CBLAS_CallFromC
= 0;
43
RowMajorStrg
= 0;
44
return
;
45
}
46
#ifdef F77_CHAR
47
F77_UL
= C2F_CHAR(&UL);
48
#endif
49
F77_sspmv
(
F77_UL
, &
F77_N
, &alpha, AP, X,
50
&
F77_incX
, &beta, Y, &
F77_incY
);
51
}
52
else
if
(layout ==
CblasRowMajor
)
53
{
54
RowMajorStrg
= 1;
55
if
(Uplo ==
CblasUpper
) UL =
'L'
;
56
else
if
(Uplo ==
CblasLower
) UL =
'U'
;
57
else
58
{
59
API_SUFFIX
(
cblas_xerbla
)(2,
"cblas_sspmv"
,
"Illegal Uplo setting, %d\n"
, Uplo);
60
CBLAS_CallFromC
= 0;
61
RowMajorStrg
= 0;
62
return
;
63
}
64
#ifdef F77_CHAR
65
F77_UL
= C2F_CHAR(&UL);
66
#endif
67
F77_sspmv
(
F77_UL
, &
F77_N
, &alpha,
68
AP, X,&
F77_incX
, &beta, Y, &
F77_incY
);
69
}
70
else
API_SUFFIX
(
cblas_xerbla
)(1,
"cblas_sspmv"
,
"Illegal layout setting, %d\n"
, layout);
71
CBLAS_CallFromC
= 0;
72
RowMajorStrg
= 0;
73
}
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_INT
#define F77_INT
Definition
cblas_example2_64.c:7
F77_sspmv
#define F77_sspmv(...)
Definition
cblas_f77.h:315
cblas_f77.h
CBLAS_CallFromC
int CBLAS_CallFromC
Definition
cblas_globals.c:1
RowMajorStrg
int RowMajorStrg
Definition
cblas_globals.c:2
F77_incX
#define F77_incX
F77_incY
#define F77_incY
F77_N
#define F77_N
F77_UL
#define F77_UL
cblas_sspmv
void API_SUFFIX() cblas_sspmv(const CBLAS_LAYOUT layout, const CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *AP, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
Definition
cblas_sspmv.c:11
CBLAS
src
cblas_sspmv.c
Generated on Tue Nov 28 2023 11:55:04 for LAPACK by
1.9.7