#include <stdio.h>
#include <stdlib.h>
#include "cblas.h"
#include "cblas_f77.h"
Go to the source code of this file.
|
| void | cblas_cgemv (const CBLAS_LAYOUT layout, const CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const void *alpha, const void *A, const CBLAS_INT lda, const void *X, const CBLAS_INT incX, const void *beta, void *Y, const CBLAS_INT incY) |
◆ F77_incX
◆ F77_incY
◆ F77_lda
◆ F77_M
◆ F77_N
◆ F77_TA
◆ cblas_cgemv()
| void cblas_cgemv |
( |
const CBLAS_LAYOUT | layout, |
|
|
const CBLAS_TRANSPOSE | TransA, |
|
|
const CBLAS_INT | M, |
|
|
const CBLAS_INT | N, |
|
|
const void * | alpha, |
|
|
const void * | A, |
|
|
const CBLAS_INT | lda, |
|
|
const void * | X, |
|
|
const CBLAS_INT | incX, |
|
|
const void * | beta, |
|
|
void * | Y, |
|
|
const CBLAS_INT | incY ) |
Definition at line 12 of file cblas_cgemv.c.
17{
18 char TA;
19#ifdef F77_CHAR
21#else
22 #define F77_TA &TA
23#endif
24#ifdef F77_INT
26#else
27 #define F77_M M
28 #define F77_N N
29 #define F77_lda lda
30 #define F77_incX incx
31 #define F77_incY incY
32#endif
33
35 const float *xx= (const float *)X;
36 float ALPHA[2],BETA[2];
38 float *
x=(
float *)X, *
y=(
float *)Y, *st=0, *tx=0;
43
45
47 {
51 else
52 {
53 cblas_xerbla(2,
"cblas_cgemv",
"Illegal TransA setting, %d\n", TransA);
56 return;
57 }
58 #ifdef F77_CHAR
60 #endif
63 }
65 {
67
71 {
72 ALPHA[0]= *( (
const float *)
alpha );
73 ALPHA[1]= -( *( (
const float *)
alpha+1) );
74 BETA[0]= *( (const float *) beta );
75 BETA[1]= -( *( (const float *) beta+1 ) );
76 TA = 'N';
77 if (M > 0)
78 {
80 x = malloc(
n*
sizeof(
float));
82 if( incX > 0 ) {
83 i = incX << 1 ;
84 tincx = 2;
86 } else {
87 i = incX *(-2);
88 tincx = -2;
91 }
92
93 do
94 {
98 xx += i;
99 }
102
104
105 if(incY > 0)
106 tincY = incY;
107 else
108 tincY = -incY;
109
111
113 {
114 i = tincY << 1;
117 do {
122 }
124 }
125 else stx = (const float *)X;
126 }
127 else
128 {
129 cblas_xerbla(2,
"cblas_cgemv",
"Illegal TransA setting, %d\n", TransA);
132 return;
133 }
134 #ifdef F77_CHAR
136 #endif
140 else
143
145 {
146 if (
x != (
const float *)X) free(
x);
148 {
149 do
150 {
153 }
155 }
156 }
157 }
158 else cblas_xerbla(1,
"cblas_cgemv",
"Illegal layout setting, %d\n", layout);
161 return;
162}
void cblas_xerbla(CBLAS_INT p, const char *rout, const char *form,...)