LAPACK
3.11.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
cblas_ssbmv.c
Go to the documentation of this file.
1
/*
2
*
3
* cblas_ssbmv.c
4
* This program is a C interface to ssbmv.
5
* Written by Keita Teranishi
6
* 4/6/1998
7
*
8
*/
9
#include "
cblas.h
"
10
#include "
cblas_f77.h
"
11
void
cblas_ssbmv
(
const
CBLAS_LAYOUT
layout,
const
CBLAS_UPLO
Uplo,
12
const
CBLAS_INT
N
,
const
CBLAS_INT
K,
const
float
alpha,
const
float
*A,
13
const
CBLAS_INT
lda,
const
float
*X,
const
CBLAS_INT
incX,
14
const
float
beta,
float
*Y,
const
CBLAS_INT
incY)
15
{
16
char
UL;
17
#ifdef F77_CHAR
18
F77_CHAR
F77_UL
;
19
#else
20
#define F77_UL &UL
21
#endif
22
23
#ifdef F77_INT
24
F77_INT
F77_N
=
N
,
F77_K
=K,
F77_lda
=lda,
F77_incX
=incX,
F77_incY
=incY;
25
#else
26
#define F77_N N
27
#define F77_K K
28
#define F77_lda lda
29
#define F77_incX incX
30
#define F77_incY incY
31
#endif
32
extern
int
CBLAS_CallFromC
;
33
extern
int
RowMajorStrg
;
34
RowMajorStrg
= 0;
35
36
CBLAS_CallFromC
= 1;
37
if
(layout ==
CblasColMajor
)
38
{
39
40
if
(Uplo ==
CblasUpper
) UL =
'U'
;
41
else
if
(Uplo ==
CblasLower
) UL =
'L'
;
42
else
43
{
44
cblas_xerbla
(2,
"cblas_ssbmv"
,
"Illegal Uplo setting, %d\n"
,Uplo );
45
CBLAS_CallFromC
= 0;
46
RowMajorStrg
= 0;
47
return
;
48
}
49
#ifdef F77_CHAR
50
F77_UL
= C2F_CHAR(&UL);
51
#endif
52
F77_ssbmv
(
F77_UL
, &
F77_N
, &
F77_K
, &alpha, A, &
F77_lda
, X,
53
&
F77_incX
, &beta, Y, &
F77_incY
);
54
}
else
if
(layout ==
CblasRowMajor
)
55
{
56
RowMajorStrg
= 1;
57
if
(Uplo ==
CblasUpper
) UL =
'L'
;
58
else
if
(Uplo ==
CblasLower
) UL =
'U'
;
59
else
60
{
61
cblas_xerbla
(2,
"cblas_ssbmv"
,
"Illegal Uplo setting, %d\n"
, Uplo);
62
CBLAS_CallFromC
= 0;
63
RowMajorStrg
= 0;
64
return
;
65
}
66
#ifdef F77_CHAR
67
F77_UL
= C2F_CHAR(&UL);
68
#endif
69
F77_ssbmv
(
F77_UL
, &
F77_N
, &
F77_K
, &alpha, A, &
F77_lda
, X,
70
&
F77_incX
, &beta, Y, &
F77_incY
);
71
}
72
else
cblas_xerbla
(1,
"cblas_ssbmv"
,
"Illegal layout setting, %d\n"
, layout);
73
CBLAS_CallFromC
= 0;
74
RowMajorStrg
= 0;
75
return
;
76
}
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
CBLAS_INT
#define CBLAS_INT
Definition:
cblas.h:24
cblas.h
F77_ssbmv
#define F77_ssbmv(...)
Definition:
cblas_f77.h:300
F77_INT
#define F77_INT
Definition:
cblas_f77.h:32
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_K
#define F77_K
cblas_ssbmv
void cblas_ssbmv(const CBLAS_LAYOUT layout, const CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, const float alpha, const float *A, const CBLAS_INT lda, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
Definition:
cblas_ssbmv.c:11
F77_N
#define F77_N
F77_lda
#define F77_lda
F77_UL
#define F77_UL
N
#define N
Definition:
example_user.c:10
CBLAS
src
cblas_ssbmv.c
Generated on Mon Nov 14 2022 13:12:13 for LAPACK by
1.9.5