Mercurial > hg > qm-dsp
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 |