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 |
---|