comparison build/linux/amd64/cblas.h @ 315:11bf038ecfb5

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