c@315
|
1 #ifndef CBLAS_H
|
c@315
|
2
|
c@315
|
3 #ifndef CBLAS_ENUM_DEFINED_H
|
c@315
|
4 #define CBLAS_ENUM_DEFINED_H
|
c@315
|
5 enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102 };
|
c@315
|
6 enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113,
|
c@315
|
7 AtlasConj=114};
|
c@315
|
8 enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
|
c@315
|
9 enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
|
c@315
|
10 enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
|
c@315
|
11 #endif
|
c@315
|
12
|
c@315
|
13 #ifndef CBLAS_ENUM_ONLY
|
c@315
|
14 #define CBLAS_H
|
c@315
|
15 #define CBLAS_INDEX int
|
c@315
|
16
|
c@315
|
17 int cblas_errprn(int ierr, int info, char *form, ...);
|
c@315
|
18
|
c@315
|
19 /*
|
c@315
|
20 * ===========================================================================
|
c@315
|
21 * Prototypes for level 1 BLAS functions (complex are recast as routines)
|
c@315
|
22 * ===========================================================================
|
c@315
|
23 */
|
c@315
|
24 float cblas_sdsdot(const int N, const float alpha, const float *X,
|
c@315
|
25 const int incX, const float *Y, const int incY);
|
c@315
|
26 double cblas_dsdot(const int N, const float *X, const int incX, const float *Y,
|
c@315
|
27 const int incY);
|
c@315
|
28 float cblas_sdot(const int N, const float *X, const int incX,
|
c@315
|
29 const float *Y, const int incY);
|
c@315
|
30 double cblas_ddot(const int N, const double *X, const int incX,
|
c@315
|
31 const double *Y, const int incY);
|
c@315
|
32 /*
|
c@315
|
33 * Functions having prefixes Z and C only
|
c@315
|
34 */
|
c@315
|
35 void cblas_cdotu_sub(const int N, const void *X, const int incX,
|
c@315
|
36 const void *Y, const int incY, void *dotu);
|
c@315
|
37 void cblas_cdotc_sub(const int N, const void *X, const int incX,
|
c@315
|
38 const void *Y, const int incY, void *dotc);
|
c@315
|
39
|
c@315
|
40 void cblas_zdotu_sub(const int N, const void *X, const int incX,
|
c@315
|
41 const void *Y, const int incY, void *dotu);
|
c@315
|
42 void cblas_zdotc_sub(const int N, const void *X, const int incX,
|
c@315
|
43 const void *Y, const int incY, void *dotc);
|
c@315
|
44
|
c@315
|
45
|
c@315
|
46 /*
|
c@315
|
47 * Functions having prefixes S D SC DZ
|
c@315
|
48 */
|
c@315
|
49 float cblas_snrm2(const int N, const float *X, const int incX);
|
c@315
|
50 float cblas_sasum(const int N, const float *X, const int incX);
|
c@315
|
51
|
c@315
|
52 double cblas_dnrm2(const int N, const double *X, const int incX);
|
c@315
|
53 double cblas_dasum(const int N, const double *X, const int incX);
|
c@315
|
54
|
c@315
|
55 float cblas_scnrm2(const int N, const void *X, const int incX);
|
c@315
|
56 float cblas_scasum(const int N, const void *X, const int incX);
|
c@315
|
57
|
c@315
|
58 double cblas_dznrm2(const int N, const void *X, const int incX);
|
c@315
|
59 double cblas_dzasum(const int N, const void *X, const int incX);
|
c@315
|
60
|
c@315
|
61
|
c@315
|
62 /*
|
c@315
|
63 * Functions having standard 4 prefixes (S D C Z)
|
c@315
|
64 */
|
c@315
|
65 CBLAS_INDEX cblas_isamax(const int N, const float *X, const int incX);
|
c@315
|
66 CBLAS_INDEX cblas_idamax(const int N, const double *X, const int incX);
|
c@315
|
67 CBLAS_INDEX cblas_icamax(const int N, const void *X, const int incX);
|
c@315
|
68 CBLAS_INDEX cblas_izamax(const int N, const void *X, const int incX);
|
c@315
|
69
|
c@315
|
70 /*
|
c@315
|
71 * ===========================================================================
|
c@315
|
72 * Prototypes for level 1 BLAS routines
|
c@315
|
73 * ===========================================================================
|
c@315
|
74 */
|
c@315
|
75
|
c@315
|
76 /*
|
c@315
|
77 * Routines with standard 4 prefixes (s, d, c, z)
|
c@315
|
78 */
|
c@315
|
79 void cblas_sswap(const int N, float *X, const int incX,
|
c@315
|
80 float *Y, const int incY);
|
c@315
|
81 void cblas_scopy(const int N, const float *X, const int incX,
|
c@315
|
82 float *Y, const int incY);
|
c@315
|
83 void cblas_saxpy(const int N, const float alpha, const float *X,
|
c@315
|
84 const int incX, float *Y, const int incY);
|
c@315
|
85 void catlas_saxpby(const int N, const float alpha, const float *X,
|
c@315
|
86 const int incX, const float beta, float *Y, const int incY);
|
c@315
|
87 void catlas_sset
|
c@315
|
88 (const int N, const float alpha, float *X, const int incX);
|
c@315
|
89
|
c@315
|
90 void cblas_dswap(const int N, double *X, const int incX,
|
c@315
|
91 double *Y, const int incY);
|
c@315
|
92 void cblas_dcopy(const int N, const double *X, const int incX,
|
c@315
|
93 double *Y, const int incY);
|
c@315
|
94 void cblas_daxpy(const int N, const double alpha, const double *X,
|
c@315
|
95 const int incX, double *Y, const int incY);
|
c@315
|
96 void catlas_daxpby(const int N, const double alpha, const double *X,
|
c@315
|
97 const int incX, const double beta, double *Y, const int incY);
|
c@315
|
98 void catlas_dset
|
c@315
|
99 (const int N, const double alpha, double *X, const int incX);
|
c@315
|
100
|
c@315
|
101 void cblas_cswap(const int N, void *X, const int incX,
|
c@315
|
102 void *Y, const int incY);
|
c@315
|
103 void cblas_ccopy(const int N, const void *X, const int incX,
|
c@315
|
104 void *Y, const int incY);
|
c@315
|
105 void cblas_caxpy(const int N, const void *alpha, const void *X,
|
c@315
|
106 const int incX, void *Y, const int incY);
|
c@315
|
107 void catlas_caxpby(const int N, const void *alpha, const void *X,
|
c@315
|
108 const int incX, const void *beta, void *Y, const int incY);
|
c@315
|
109 void catlas_cset
|
c@315
|
110 (const int N, const void *alpha, void *X, const int incX);
|
c@315
|
111
|
c@315
|
112 void cblas_zswap(const int N, void *X, const int incX,
|
c@315
|
113 void *Y, const int incY);
|
c@315
|
114 void cblas_zcopy(const int N, const void *X, const int incX,
|
c@315
|
115 void *Y, const int incY);
|
c@315
|
116 void cblas_zaxpy(const int N, const void *alpha, const void *X,
|
c@315
|
117 const int incX, void *Y, const int incY);
|
c@315
|
118 void catlas_zaxpby(const int N, const void *alpha, const void *X,
|
c@315
|
119 const int incX, const void *beta, void *Y, const int incY);
|
c@315
|
120 void catlas_zset
|
c@315
|
121 (const int N, const void *alpha, void *X, const int incX);
|
c@315
|
122
|
c@315
|
123
|
c@315
|
124 /*
|
c@315
|
125 * Routines with S and D prefix only
|
c@315
|
126 */
|
c@315
|
127 void cblas_srotg(float *a, float *b, float *c, float *s);
|
c@315
|
128 void cblas_srotmg(float *d1, float *d2, float *b1, const float b2, float *P);
|
c@315
|
129 void cblas_srot(const int N, float *X, const int incX,
|
c@315
|
130 float *Y, const int incY, const float c, const float s);
|
c@315
|
131 void cblas_srotm(const int N, float *X, const int incX,
|
c@315
|
132 float *Y, const int incY, const float *P);
|
c@315
|
133
|
c@315
|
134 void cblas_drotg(double *a, double *b, double *c, double *s);
|
c@315
|
135 void cblas_drotmg(double *d1, double *d2, double *b1, const double b2, double *P);
|
c@315
|
136 void cblas_drot(const int N, double *X, const int incX,
|
c@315
|
137 double *Y, const int incY, const double c, const double s);
|
c@315
|
138 void cblas_drotm(const int N, double *X, const int incX,
|
c@315
|
139 double *Y, const int incY, const double *P);
|
c@315
|
140
|
c@315
|
141
|
c@315
|
142 /*
|
c@315
|
143 * Routines with S D C Z CS and ZD prefixes
|
c@315
|
144 */
|
c@315
|
145 void cblas_sscal(const int N, const float alpha, float *X, const int incX);
|
c@315
|
146 void cblas_dscal(const int N, const double alpha, double *X, const int incX);
|
c@315
|
147 void cblas_cscal(const int N, const void *alpha, void *X, const int incX);
|
c@315
|
148 void cblas_zscal(const int N, const void *alpha, void *X, const int incX);
|
c@315
|
149 void cblas_csscal(const int N, const float alpha, void *X, const int incX);
|
c@315
|
150 void cblas_zdscal(const int N, const double alpha, void *X, const int incX);
|
c@315
|
151
|
c@315
|
152 /*
|
c@315
|
153 * Extra reference routines provided by ATLAS, but not mandated by the standard
|
c@315
|
154 */
|
c@315
|
155 void cblas_crotg(void *a, void *b, void *c, void *s);
|
c@315
|
156 void cblas_zrotg(void *a, void *b, void *c, void *s);
|
c@315
|
157 void cblas_csrot(const int N, void *X, const int incX, void *Y, const int incY,
|
c@315
|
158 const float c, const float s);
|
c@315
|
159 void cblas_zdrot(const int N, void *X, const int incX, void *Y, const int incY,
|
c@315
|
160 const double c, const double s);
|
c@315
|
161
|
c@315
|
162 /*
|
c@315
|
163 * ===========================================================================
|
c@315
|
164 * Prototypes for level 2 BLAS
|
c@315
|
165 * ===========================================================================
|
c@315
|
166 */
|
c@315
|
167
|
c@315
|
168 /*
|
c@315
|
169 * Routines with standard 4 prefixes (S, D, C, Z)
|
c@315
|
170 */
|
c@315
|
171 void cblas_sgemv(const enum CBLAS_ORDER Order,
|
c@315
|
172 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
173 const float alpha, const float *A, const int lda,
|
c@315
|
174 const float *X, const int incX, const float beta,
|
c@315
|
175 float *Y, const int incY);
|
c@315
|
176 void cblas_sgbmv(const enum CBLAS_ORDER Order,
|
c@315
|
177 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
178 const int KL, const int KU, const float alpha,
|
c@315
|
179 const float *A, const int lda, const float *X,
|
c@315
|
180 const int incX, const float beta, float *Y, const int incY);
|
c@315
|
181 void cblas_strmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
182 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
183 const int N, const float *A, const int lda,
|
c@315
|
184 float *X, const int incX);
|
c@315
|
185 void cblas_stbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
186 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
187 const int N, const int K, const float *A, const int lda,
|
c@315
|
188 float *X, const int incX);
|
c@315
|
189 void cblas_stpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
190 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
191 const int N, const float *Ap, float *X, const int incX);
|
c@315
|
192 void cblas_strsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
193 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
194 const int N, const float *A, const int lda, float *X,
|
c@315
|
195 const int incX);
|
c@315
|
196 void cblas_stbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
197 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
198 const int N, const int K, const float *A, const int lda,
|
c@315
|
199 float *X, const int incX);
|
c@315
|
200 void cblas_stpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
201 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
202 const int N, const float *Ap, float *X, const int incX);
|
c@315
|
203
|
c@315
|
204 void cblas_dgemv(const enum CBLAS_ORDER Order,
|
c@315
|
205 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
206 const double alpha, const double *A, const int lda,
|
c@315
|
207 const double *X, const int incX, const double beta,
|
c@315
|
208 double *Y, const int incY);
|
c@315
|
209 void cblas_dgbmv(const enum CBLAS_ORDER Order,
|
c@315
|
210 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
211 const int KL, const int KU, const double alpha,
|
c@315
|
212 const double *A, const int lda, const double *X,
|
c@315
|
213 const int incX, const double beta, double *Y, const int incY);
|
c@315
|
214 void cblas_dtrmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
215 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
216 const int N, const double *A, const int lda,
|
c@315
|
217 double *X, const int incX);
|
c@315
|
218 void cblas_dtbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
219 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
220 const int N, const int K, const double *A, const int lda,
|
c@315
|
221 double *X, const int incX);
|
c@315
|
222 void cblas_dtpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
223 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
224 const int N, const double *Ap, double *X, const int incX);
|
c@315
|
225 void cblas_dtrsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
226 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
227 const int N, const double *A, const int lda, double *X,
|
c@315
|
228 const int incX);
|
c@315
|
229 void cblas_dtbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
230 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
231 const int N, const int K, const double *A, const int lda,
|
c@315
|
232 double *X, const int incX);
|
c@315
|
233 void cblas_dtpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
234 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
235 const int N, const double *Ap, double *X, const int incX);
|
c@315
|
236
|
c@315
|
237 void cblas_cgemv(const enum CBLAS_ORDER Order,
|
c@315
|
238 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
239 const void *alpha, const void *A, const int lda,
|
c@315
|
240 const void *X, const int incX, const void *beta,
|
c@315
|
241 void *Y, const int incY);
|
c@315
|
242 void cblas_cgbmv(const enum CBLAS_ORDER Order,
|
c@315
|
243 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
244 const int KL, const int KU, const void *alpha,
|
c@315
|
245 const void *A, const int lda, const void *X,
|
c@315
|
246 const int incX, const void *beta, void *Y, const int incY);
|
c@315
|
247 void cblas_ctrmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
248 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
249 const int N, const void *A, const int lda,
|
c@315
|
250 void *X, const int incX);
|
c@315
|
251 void cblas_ctbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
252 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
253 const int N, const int K, const void *A, const int lda,
|
c@315
|
254 void *X, const int incX);
|
c@315
|
255 void cblas_ctpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
256 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
257 const int N, const void *Ap, void *X, const int incX);
|
c@315
|
258 void cblas_ctrsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
259 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
260 const int N, const void *A, const int lda, void *X,
|
c@315
|
261 const int incX);
|
c@315
|
262 void cblas_ctbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
263 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
264 const int N, const int K, const void *A, const int lda,
|
c@315
|
265 void *X, const int incX);
|
c@315
|
266 void cblas_ctpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
267 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
268 const int N, const void *Ap, void *X, const int incX);
|
c@315
|
269
|
c@315
|
270 void cblas_zgemv(const enum CBLAS_ORDER Order,
|
c@315
|
271 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
272 const void *alpha, const void *A, const int lda,
|
c@315
|
273 const void *X, const int incX, const void *beta,
|
c@315
|
274 void *Y, const int incY);
|
c@315
|
275 void cblas_zgbmv(const enum CBLAS_ORDER Order,
|
c@315
|
276 const enum CBLAS_TRANSPOSE TransA, const int M, const int N,
|
c@315
|
277 const int KL, const int KU, const void *alpha,
|
c@315
|
278 const void *A, const int lda, const void *X,
|
c@315
|
279 const int incX, const void *beta, void *Y, const int incY);
|
c@315
|
280 void cblas_ztrmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
281 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
282 const int N, const void *A, const int lda,
|
c@315
|
283 void *X, const int incX);
|
c@315
|
284 void cblas_ztbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
285 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
286 const int N, const int K, const void *A, const int lda,
|
c@315
|
287 void *X, const int incX);
|
c@315
|
288 void cblas_ztpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
289 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
290 const int N, const void *Ap, void *X, const int incX);
|
c@315
|
291 void cblas_ztrsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
292 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
293 const int N, const void *A, const int lda, void *X,
|
c@315
|
294 const int incX);
|
c@315
|
295 void cblas_ztbsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
296 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
297 const int N, const int K, const void *A, const int lda,
|
c@315
|
298 void *X, const int incX);
|
c@315
|
299 void cblas_ztpsv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
300 const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_DIAG Diag,
|
c@315
|
301 const int N, const void *Ap, void *X, const int incX);
|
c@315
|
302
|
c@315
|
303
|
c@315
|
304 /*
|
c@315
|
305 * Routines with S and D prefixes only
|
c@315
|
306 */
|
c@315
|
307 void cblas_ssymv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
308 const int N, const float alpha, const float *A,
|
c@315
|
309 const int lda, const float *X, const int incX,
|
c@315
|
310 const float beta, float *Y, const int incY);
|
c@315
|
311 void cblas_ssbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
312 const int N, const int K, const float alpha, const float *A,
|
c@315
|
313 const int lda, const float *X, const int incX,
|
c@315
|
314 const float beta, float *Y, const int incY);
|
c@315
|
315 void cblas_sspmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
316 const int N, const float alpha, const float *Ap,
|
c@315
|
317 const float *X, const int incX,
|
c@315
|
318 const float beta, float *Y, const int incY);
|
c@315
|
319 void cblas_sger(const enum CBLAS_ORDER Order, const int M, const int N,
|
c@315
|
320 const float alpha, const float *X, const int incX,
|
c@315
|
321 const float *Y, const int incY, float *A, const int lda);
|
c@315
|
322 void cblas_ssyr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
323 const int N, const float alpha, const float *X,
|
c@315
|
324 const int incX, float *A, const int lda);
|
c@315
|
325 void cblas_sspr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
326 const int N, const float alpha, const float *X,
|
c@315
|
327 const int incX, float *Ap);
|
c@315
|
328 void cblas_ssyr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
329 const int N, const float alpha, const float *X,
|
c@315
|
330 const int incX, const float *Y, const int incY, float *A,
|
c@315
|
331 const int lda);
|
c@315
|
332 void cblas_sspr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
333 const int N, const float alpha, const float *X,
|
c@315
|
334 const int incX, const float *Y, const int incY, float *A);
|
c@315
|
335
|
c@315
|
336 void cblas_dsymv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
337 const int N, const double alpha, const double *A,
|
c@315
|
338 const int lda, const double *X, const int incX,
|
c@315
|
339 const double beta, double *Y, const int incY);
|
c@315
|
340 void cblas_dsbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
341 const int N, const int K, const double alpha, const double *A,
|
c@315
|
342 const int lda, const double *X, const int incX,
|
c@315
|
343 const double beta, double *Y, const int incY);
|
c@315
|
344 void cblas_dspmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
345 const int N, const double alpha, const double *Ap,
|
c@315
|
346 const double *X, const int incX,
|
c@315
|
347 const double beta, double *Y, const int incY);
|
c@315
|
348 void cblas_dger(const enum CBLAS_ORDER Order, const int M, const int N,
|
c@315
|
349 const double alpha, const double *X, const int incX,
|
c@315
|
350 const double *Y, const int incY, double *A, const int lda);
|
c@315
|
351 void cblas_dsyr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
352 const int N, const double alpha, const double *X,
|
c@315
|
353 const int incX, double *A, const int lda);
|
c@315
|
354 void cblas_dspr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
355 const int N, const double alpha, const double *X,
|
c@315
|
356 const int incX, double *Ap);
|
c@315
|
357 void cblas_dsyr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
358 const int N, const double alpha, const double *X,
|
c@315
|
359 const int incX, const double *Y, const int incY, double *A,
|
c@315
|
360 const int lda);
|
c@315
|
361 void cblas_dspr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
362 const int N, const double alpha, const double *X,
|
c@315
|
363 const int incX, const double *Y, const int incY, double *A);
|
c@315
|
364
|
c@315
|
365
|
c@315
|
366 /*
|
c@315
|
367 * Routines with C and Z prefixes only
|
c@315
|
368 */
|
c@315
|
369 void cblas_chemv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
370 const int N, const void *alpha, const void *A,
|
c@315
|
371 const int lda, const void *X, const int incX,
|
c@315
|
372 const void *beta, void *Y, const int incY);
|
c@315
|
373 void cblas_chbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
374 const int N, const int K, const void *alpha, const void *A,
|
c@315
|
375 const int lda, const void *X, const int incX,
|
c@315
|
376 const void *beta, void *Y, const int incY);
|
c@315
|
377 void cblas_chpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
378 const int N, const void *alpha, const void *Ap,
|
c@315
|
379 const void *X, const int incX,
|
c@315
|
380 const void *beta, void *Y, const int incY);
|
c@315
|
381 void cblas_cgeru(const enum CBLAS_ORDER Order, const int M, const int N,
|
c@315
|
382 const void *alpha, const void *X, const int incX,
|
c@315
|
383 const void *Y, const int incY, void *A, const int lda);
|
c@315
|
384 void cblas_cgerc(const enum CBLAS_ORDER Order, const int M, const int N,
|
c@315
|
385 const void *alpha, const void *X, const int incX,
|
c@315
|
386 const void *Y, const int incY, void *A, const int lda);
|
c@315
|
387 void cblas_cher(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
388 const int N, const float alpha, const void *X, const int incX,
|
c@315
|
389 void *A, const int lda);
|
c@315
|
390 void cblas_chpr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
391 const int N, const float alpha, const void *X,
|
c@315
|
392 const int incX, void *A);
|
c@315
|
393 void cblas_cher2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
|
c@315
|
394 const void *alpha, const void *X, const int incX,
|
c@315
|
395 const void *Y, const int incY, void *A, const int lda);
|
c@315
|
396 void cblas_chpr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
|
c@315
|
397 const void *alpha, const void *X, const int incX,
|
c@315
|
398 const void *Y, const int incY, void *Ap);
|
c@315
|
399
|
c@315
|
400 void cblas_zhemv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
401 const int N, const void *alpha, const void *A,
|
c@315
|
402 const int lda, const void *X, const int incX,
|
c@315
|
403 const void *beta, void *Y, const int incY);
|
c@315
|
404 void cblas_zhbmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
405 const int N, const int K, const void *alpha, const void *A,
|
c@315
|
406 const int lda, const void *X, const int incX,
|
c@315
|
407 const void *beta, void *Y, const int incY);
|
c@315
|
408 void cblas_zhpmv(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
409 const int N, const void *alpha, const void *Ap,
|
c@315
|
410 const void *X, const int incX,
|
c@315
|
411 const void *beta, void *Y, const int incY);
|
c@315
|
412 void cblas_zgeru(const enum CBLAS_ORDER Order, const int M, const int N,
|
c@315
|
413 const void *alpha, const void *X, const int incX,
|
c@315
|
414 const void *Y, const int incY, void *A, const int lda);
|
c@315
|
415 void cblas_zgerc(const enum CBLAS_ORDER Order, const int M, const int N,
|
c@315
|
416 const void *alpha, const void *X, const int incX,
|
c@315
|
417 const void *Y, const int incY, void *A, const int lda);
|
c@315
|
418 void cblas_zher(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
419 const int N, const double alpha, const void *X, const int incX,
|
c@315
|
420 void *A, const int lda);
|
c@315
|
421 void cblas_zhpr(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
422 const int N, const double alpha, const void *X,
|
c@315
|
423 const int incX, void *A);
|
c@315
|
424 void cblas_zher2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
|
c@315
|
425 const void *alpha, const void *X, const int incX,
|
c@315
|
426 const void *Y, const int incY, void *A, const int lda);
|
c@315
|
427 void cblas_zhpr2(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const int N,
|
c@315
|
428 const void *alpha, const void *X, const int incX,
|
c@315
|
429 const void *Y, const int incY, void *Ap);
|
c@315
|
430
|
c@315
|
431 /*
|
c@315
|
432 * ===========================================================================
|
c@315
|
433 * Prototypes for level 3 BLAS
|
c@315
|
434 * ===========================================================================
|
c@315
|
435 */
|
c@315
|
436
|
c@315
|
437 /*
|
c@315
|
438 * Routines with standard 4 prefixes (S, D, C, Z)
|
c@315
|
439 */
|
c@315
|
440 void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
441 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
|
c@315
|
442 const int K, const float alpha, const float *A,
|
c@315
|
443 const int lda, const float *B, const int ldb,
|
c@315
|
444 const float beta, float *C, const int ldc);
|
c@315
|
445 void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
446 const enum CBLAS_UPLO Uplo, const int M, const int N,
|
c@315
|
447 const float alpha, const float *A, const int lda,
|
c@315
|
448 const float *B, const int ldb, const float beta,
|
c@315
|
449 float *C, const int ldc);
|
c@315
|
450 void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
451 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
452 const float alpha, const float *A, const int lda,
|
c@315
|
453 const float beta, float *C, const int ldc);
|
c@315
|
454 void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
455 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
456 const float alpha, const float *A, const int lda,
|
c@315
|
457 const float *B, const int ldb, const float beta,
|
c@315
|
458 float *C, const int ldc);
|
c@315
|
459 void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
460 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
461 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
462 const float alpha, const float *A, const int lda,
|
c@315
|
463 float *B, const int ldb);
|
c@315
|
464 void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
465 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
466 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
467 const float alpha, const float *A, const int lda,
|
c@315
|
468 float *B, const int ldb);
|
c@315
|
469
|
c@315
|
470 void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
471 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
|
c@315
|
472 const int K, const double alpha, const double *A,
|
c@315
|
473 const int lda, const double *B, const int ldb,
|
c@315
|
474 const double beta, double *C, const int ldc);
|
c@315
|
475 void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
476 const enum CBLAS_UPLO Uplo, const int M, const int N,
|
c@315
|
477 const double alpha, const double *A, const int lda,
|
c@315
|
478 const double *B, const int ldb, const double beta,
|
c@315
|
479 double *C, const int ldc);
|
c@315
|
480 void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
481 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
482 const double alpha, const double *A, const int lda,
|
c@315
|
483 const double beta, double *C, const int ldc);
|
c@315
|
484 void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
485 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
486 const double alpha, const double *A, const int lda,
|
c@315
|
487 const double *B, const int ldb, const double beta,
|
c@315
|
488 double *C, const int ldc);
|
c@315
|
489 void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
490 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
491 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
492 const double alpha, const double *A, const int lda,
|
c@315
|
493 double *B, const int ldb);
|
c@315
|
494 void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
495 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
496 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
497 const double alpha, const double *A, const int lda,
|
c@315
|
498 double *B, const int ldb);
|
c@315
|
499
|
c@315
|
500 void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
501 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
|
c@315
|
502 const int K, const void *alpha, const void *A,
|
c@315
|
503 const int lda, const void *B, const int ldb,
|
c@315
|
504 const void *beta, void *C, const int ldc);
|
c@315
|
505 void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
506 const enum CBLAS_UPLO Uplo, const int M, const int N,
|
c@315
|
507 const void *alpha, const void *A, const int lda,
|
c@315
|
508 const void *B, const int ldb, const void *beta,
|
c@315
|
509 void *C, const int ldc);
|
c@315
|
510 void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
511 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
512 const void *alpha, const void *A, const int lda,
|
c@315
|
513 const void *beta, void *C, const int ldc);
|
c@315
|
514 void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
515 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
516 const void *alpha, const void *A, const int lda,
|
c@315
|
517 const void *B, const int ldb, const void *beta,
|
c@315
|
518 void *C, const int ldc);
|
c@315
|
519 void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
520 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
521 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
522 const void *alpha, const void *A, const int lda,
|
c@315
|
523 void *B, const int ldb);
|
c@315
|
524 void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
525 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
526 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
527 const void *alpha, const void *A, const int lda,
|
c@315
|
528 void *B, const int ldb);
|
c@315
|
529
|
c@315
|
530 void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
531 const enum CBLAS_TRANSPOSE TransB, const int M, const int N,
|
c@315
|
532 const int K, const void *alpha, const void *A,
|
c@315
|
533 const int lda, const void *B, const int ldb,
|
c@315
|
534 const void *beta, void *C, const int ldc);
|
c@315
|
535 void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
536 const enum CBLAS_UPLO Uplo, const int M, const int N,
|
c@315
|
537 const void *alpha, const void *A, const int lda,
|
c@315
|
538 const void *B, const int ldb, const void *beta,
|
c@315
|
539 void *C, const int ldc);
|
c@315
|
540 void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
541 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
542 const void *alpha, const void *A, const int lda,
|
c@315
|
543 const void *beta, void *C, const int ldc);
|
c@315
|
544 void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
545 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
546 const void *alpha, const void *A, const int lda,
|
c@315
|
547 const void *B, const int ldb, const void *beta,
|
c@315
|
548 void *C, const int ldc);
|
c@315
|
549 void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
550 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
551 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
552 const void *alpha, const void *A, const int lda,
|
c@315
|
553 void *B, const int ldb);
|
c@315
|
554 void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
555 const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE TransA,
|
c@315
|
556 const enum CBLAS_DIAG Diag, const int M, const int N,
|
c@315
|
557 const void *alpha, const void *A, const int lda,
|
c@315
|
558 void *B, const int ldb);
|
c@315
|
559
|
c@315
|
560
|
c@315
|
561 /*
|
c@315
|
562 * Routines with prefixes C and Z only
|
c@315
|
563 */
|
c@315
|
564 void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
565 const enum CBLAS_UPLO Uplo, const int M, const int N,
|
c@315
|
566 const void *alpha, const void *A, const int lda,
|
c@315
|
567 const void *B, const int ldb, const void *beta,
|
c@315
|
568 void *C, const int ldc);
|
c@315
|
569 void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
570 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
571 const float alpha, const void *A, const int lda,
|
c@315
|
572 const float beta, void *C, const int ldc);
|
c@315
|
573 void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
574 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
575 const void *alpha, const void *A, const int lda,
|
c@315
|
576 const void *B, const int ldb, const float beta,
|
c@315
|
577 void *C, const int ldc);
|
c@315
|
578 void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
|
c@315
|
579 const enum CBLAS_UPLO Uplo, const int M, const int N,
|
c@315
|
580 const void *alpha, const void *A, const int lda,
|
c@315
|
581 const void *B, const int ldb, const void *beta,
|
c@315
|
582 void *C, const int ldc);
|
c@315
|
583 void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
584 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
585 const double alpha, const void *A, const int lda,
|
c@315
|
586 const double beta, void *C, const int ldc);
|
c@315
|
587 void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
|
c@315
|
588 const enum CBLAS_TRANSPOSE Trans, const int N, const int K,
|
c@315
|
589 const void *alpha, const void *A, const int lda,
|
c@315
|
590 const void *B, const int ldb, const double beta,
|
c@315
|
591 void *C, const int ldc);
|
c@315
|
592
|
c@315
|
593 int cblas_errprn(int ierr, int info, char *form, ...);
|
c@315
|
594
|
c@315
|
595 #endif /* end #ifdef CBLAS_ENUM_ONLY */
|
c@315
|
596 #endif
|