15#define CBLAS_INDEX size_t
22 #define CBLAS_INT int64_t
24 #define CBLAS_INT int32_t
33 #define CBLAS_IFMT PRId64
35 #define CBLAS_IFMT PRId32
39typedef enum CBLAS_LAYOUT {CblasRowMajor=101, CblasColMajor=102} CBLAS_LAYOUT;
40typedef enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113} CBLAS_TRANSPOSE;
41typedef enum CBLAS_UPLO {CblasUpper=121, CblasLower=122} CBLAS_UPLO;
42typedef enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132} CBLAS_DIAG;
43typedef enum CBLAS_SIDE {CblasLeft=141, CblasRight=142} CBLAS_SIDE;
45#define CBLAS_ORDER CBLAS_LAYOUT
47#include "cblas_mangling.h"
54#define API_SUFFIX(a) a##_64
57#define API_SUFFIX(a) a
68double cblas_dcabs1(
const void *z);
69float cblas_scabs1(
const void *c);
71float cblas_sdsdot(
const CBLAS_INT N,
const float alpha,
const float *X,
72 const CBLAS_INT incX,
const float *Y,
const CBLAS_INT incY);
73double cblas_dsdot(
const CBLAS_INT N,
const float *X,
const CBLAS_INT incX,
const float *Y,
74 const CBLAS_INT incY);
75float cblas_sdot(
const CBLAS_INT N,
const float *X,
const CBLAS_INT incX,
76 const float *Y,
const CBLAS_INT incY);
77double cblas_ddot(
const CBLAS_INT N,
const double *X,
const CBLAS_INT incX,
78 const double *Y,
const CBLAS_INT incY);
83void cblas_cdotu_sub(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX,
84 const void *Y,
const CBLAS_INT incY,
void *dotu);
85void cblas_cdotc_sub(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX,
86 const void *Y,
const CBLAS_INT incY,
void *dotc);
88void cblas_zdotu_sub(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX,
89 const void *Y,
const CBLAS_INT incY,
void *dotu);
90void cblas_zdotc_sub(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX,
91 const void *Y,
const CBLAS_INT incY,
void *dotc);
97float cblas_snrm2(
const CBLAS_INT N,
const float *X,
const CBLAS_INT incX);
98float cblas_sasum(
const CBLAS_INT N,
const float *X,
const CBLAS_INT incX);
100double cblas_dnrm2(
const CBLAS_INT N,
const double *X,
const CBLAS_INT incX);
101double cblas_dasum(
const CBLAS_INT N,
const double *X,
const CBLAS_INT incX);
103float cblas_scnrm2(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX);
104float cblas_scasum(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX);
106double cblas_dznrm2(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX);
107double cblas_dzasum(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX);
113CBLAS_INDEX cblas_isamax(
const CBLAS_INT N,
const float *X,
const CBLAS_INT incX);
114CBLAS_INDEX cblas_idamax(
const CBLAS_INT N,
const double *X,
const CBLAS_INT incX);
115CBLAS_INDEX cblas_icamax(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX);
116CBLAS_INDEX cblas_izamax(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX);
127void cblas_sswap(
const CBLAS_INT N,
float *X,
const CBLAS_INT incX,
128 float *Y,
const CBLAS_INT incY);
129void cblas_scopy(
const CBLAS_INT N,
const float *X,
const CBLAS_INT incX,
130 float *Y,
const CBLAS_INT incY);
131void cblas_saxpy(
const CBLAS_INT N,
const float alpha,
const float *X,
132 const CBLAS_INT incX,
float *Y,
const CBLAS_INT incY);
134void cblas_dswap(
const CBLAS_INT N,
double *X,
const CBLAS_INT incX,
135 double *Y,
const CBLAS_INT incY);
136void cblas_dcopy(
const CBLAS_INT N,
const double *X,
const CBLAS_INT incX,
137 double *Y,
const CBLAS_INT incY);
138void cblas_daxpy(
const CBLAS_INT N,
const double alpha,
const double *X,
139 const CBLAS_INT incX,
double *Y,
const CBLAS_INT incY);
141void cblas_cswap(
const CBLAS_INT N,
void *X,
const CBLAS_INT incX,
142 void *Y,
const CBLAS_INT incY);
143void cblas_ccopy(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX,
144 void *Y,
const CBLAS_INT incY);
145void cblas_caxpy(
const CBLAS_INT N,
const void *alpha,
const void *X,
146 const CBLAS_INT incX,
void *Y,
const CBLAS_INT incY);
148void cblas_zswap(
const CBLAS_INT N,
void *X,
const CBLAS_INT incX,
149 void *Y,
const CBLAS_INT incY);
150void cblas_zcopy(
const CBLAS_INT N,
const void *X,
const CBLAS_INT incX,
151 void *Y,
const CBLAS_INT incY);
152void cblas_zaxpy(
const CBLAS_INT N,
const void *alpha,
const void *X,
153 const CBLAS_INT incX,
void *Y,
const CBLAS_INT incY);
159void cblas_srotmg(
float *d1,
float *d2,
float *b1,
const float b2,
float *P);
160void cblas_srotm(
const CBLAS_INT N,
float *X,
const CBLAS_INT incX,
161 float *Y,
const CBLAS_INT incY,
const float *P);
162void cblas_drotmg(
double *d1,
double *d2,
double *b1,
const double b2,
double *P);
163void cblas_drotm(
const CBLAS_INT N,
double *X,
const CBLAS_INT incX,
164 double *Y,
const CBLAS_INT incY,
const double *P);
171void cblas_sscal(
const CBLAS_INT N,
const float alpha,
float *X,
const CBLAS_INT incX);
172void cblas_dscal(
const CBLAS_INT N,
const double alpha,
double *X,
const CBLAS_INT incX);
173void cblas_cscal(
const CBLAS_INT N,
const void *alpha,
void *X,
const CBLAS_INT incX);
174void cblas_zscal(
const CBLAS_INT N,
const void *alpha,
void *X,
const CBLAS_INT incX);
175void cblas_csscal(
const CBLAS_INT N,
const float alpha,
void *X,
const CBLAS_INT incX);
176void cblas_zdscal(
const CBLAS_INT N,
const double alpha,
void *X,
const CBLAS_INT incX);
178void cblas_srotg(
float *a,
float *b,
float *c,
float *s);
179void cblas_drotg(
double *a,
double *b,
double *c,
double *s);
180void cblas_crotg(
void *a,
void *b,
float *c,
void *s);
181void cblas_zrotg(
void *a,
void *b,
double *c,
void *s);
183void cblas_srot(
const CBLAS_INT N,
float *X,
const CBLAS_INT incX,
184 float *Y,
const CBLAS_INT incY,
const float c,
const float s);
185void cblas_drot(
const CBLAS_INT N,
double *X,
const CBLAS_INT incX,
186 double *Y,
const CBLAS_INT incY,
const double c,
const double s);
187void cblas_csrot(
const CBLAS_INT N,
void *X,
const CBLAS_INT incX,
188 void *Y,
const CBLAS_INT incY,
const float c,
const float s);
189void cblas_zdrot(
const CBLAS_INT N,
void *X,
const CBLAS_INT incX,
190 void *Y,
const CBLAS_INT incY,
const double c,
const double s);
201void cblas_sgemv(
const CBLAS_LAYOUT layout,
202 const CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
203 const float alpha,
const float *A,
const CBLAS_INT lda,
204 const float *X,
const CBLAS_INT incX,
const float beta,
205 float *Y,
const CBLAS_INT incY);
206void cblas_sgbmv(CBLAS_LAYOUT layout,
207 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
208 const CBLAS_INT KL,
const CBLAS_INT KU,
const float alpha,
209 const float *A,
const CBLAS_INT lda,
const float *X,
210 const CBLAS_INT incX,
const float beta,
float *Y,
const CBLAS_INT incY);
211void cblas_strmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
212 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
213 const CBLAS_INT N,
const float *A,
const CBLAS_INT lda,
214 float *X,
const CBLAS_INT incX);
215void cblas_stbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
216 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
217 const CBLAS_INT N,
const CBLAS_INT K,
const float *A,
const CBLAS_INT lda,
218 float *X,
const CBLAS_INT incX);
219void cblas_stpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
220 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
221 const CBLAS_INT N,
const float *Ap,
float *X,
const CBLAS_INT incX);
222void cblas_strsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
223 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
224 const CBLAS_INT N,
const float *A,
const CBLAS_INT lda,
float *X,
225 const CBLAS_INT incX);
226void cblas_stbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
227 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
228 const CBLAS_INT N,
const CBLAS_INT K,
const float *A,
const CBLAS_INT lda,
229 float *X,
const CBLAS_INT incX);
230void cblas_stpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
231 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
232 const CBLAS_INT N,
const float *Ap,
float *X,
const CBLAS_INT incX);
234void cblas_dgemv(CBLAS_LAYOUT layout,
235 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
236 const double alpha,
const double *A,
const CBLAS_INT lda,
237 const double *X,
const CBLAS_INT incX,
const double beta,
238 double *Y,
const CBLAS_INT incY);
239void cblas_dgbmv(CBLAS_LAYOUT layout,
240 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
241 const CBLAS_INT KL,
const CBLAS_INT KU,
const double alpha,
242 const double *A,
const CBLAS_INT lda,
const double *X,
243 const CBLAS_INT incX,
const double beta,
double *Y,
const CBLAS_INT incY);
244void cblas_dtrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
245 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
246 const CBLAS_INT N,
const double *A,
const CBLAS_INT lda,
247 double *X,
const CBLAS_INT incX);
248void cblas_dtbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
249 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
250 const CBLAS_INT N,
const CBLAS_INT K,
const double *A,
const CBLAS_INT lda,
251 double *X,
const CBLAS_INT incX);
252void cblas_dtpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
253 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
254 const CBLAS_INT N,
const double *Ap,
double *X,
const CBLAS_INT incX);
255void cblas_dtrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
256 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
257 const CBLAS_INT N,
const double *A,
const CBLAS_INT lda,
double *X,
258 const CBLAS_INT incX);
259void cblas_dtbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
260 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
261 const CBLAS_INT N,
const CBLAS_INT K,
const double *A,
const CBLAS_INT lda,
262 double *X,
const CBLAS_INT incX);
263void cblas_dtpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
264 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
265 const CBLAS_INT N,
const double *Ap,
double *X,
const CBLAS_INT incX);
267void cblas_cgemv(CBLAS_LAYOUT layout,
268 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
269 const void *alpha,
const void *A,
const CBLAS_INT lda,
270 const void *X,
const CBLAS_INT incX,
const void *beta,
271 void *Y,
const CBLAS_INT incY);
272void cblas_cgbmv(CBLAS_LAYOUT layout,
273 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
274 const CBLAS_INT KL,
const CBLAS_INT KU,
const void *alpha,
275 const void *A,
const CBLAS_INT lda,
const void *X,
276 const CBLAS_INT incX,
const void *beta,
void *Y,
const CBLAS_INT incY);
277void cblas_ctrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
278 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
279 const CBLAS_INT N,
const void *A,
const CBLAS_INT lda,
280 void *X,
const CBLAS_INT incX);
281void cblas_ctbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
282 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
283 const CBLAS_INT N,
const CBLAS_INT K,
const void *A,
const CBLAS_INT lda,
284 void *X,
const CBLAS_INT incX);
285void cblas_ctpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
286 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
287 const CBLAS_INT N,
const void *Ap,
void *X,
const CBLAS_INT incX);
288void cblas_ctrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
289 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
290 const CBLAS_INT N,
const void *A,
const CBLAS_INT lda,
void *X,
291 const CBLAS_INT incX);
292void cblas_ctbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
293 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
294 const CBLAS_INT N,
const CBLAS_INT K,
const void *A,
const CBLAS_INT lda,
295 void *X,
const CBLAS_INT incX);
296void cblas_ctpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
297 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
298 const CBLAS_INT N,
const void *Ap,
void *X,
const CBLAS_INT incX);
300void cblas_zgemv(CBLAS_LAYOUT layout,
301 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
302 const void *alpha,
const void *A,
const CBLAS_INT lda,
303 const void *X,
const CBLAS_INT incX,
const void *beta,
304 void *Y,
const CBLAS_INT incY);
305void cblas_zgbmv(CBLAS_LAYOUT layout,
306 CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
307 const CBLAS_INT KL,
const CBLAS_INT KU,
const void *alpha,
308 const void *A,
const CBLAS_INT lda,
const void *X,
309 const CBLAS_INT incX,
const void *beta,
void *Y,
const CBLAS_INT incY);
310void cblas_ztrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
311 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
312 const CBLAS_INT N,
const void *A,
const CBLAS_INT lda,
313 void *X,
const CBLAS_INT incX);
314void cblas_ztbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
315 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
316 const CBLAS_INT N,
const CBLAS_INT K,
const void *A,
const CBLAS_INT lda,
317 void *X,
const CBLAS_INT incX);
318void cblas_ztpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
319 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
320 const CBLAS_INT N,
const void *Ap,
void *X,
const CBLAS_INT incX);
321void cblas_ztrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
322 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
323 const CBLAS_INT N,
const void *A,
const CBLAS_INT lda,
void *X,
324 const CBLAS_INT incX);
325void cblas_ztbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
326 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
327 const CBLAS_INT N,
const CBLAS_INT K,
const void *A,
const CBLAS_INT lda,
328 void *X,
const CBLAS_INT incX);
329void cblas_ztpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
330 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
331 const CBLAS_INT N,
const void *Ap,
void *X,
const CBLAS_INT incX);
337void cblas_ssymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
338 const CBLAS_INT N,
const float alpha,
const float *A,
339 const CBLAS_INT lda,
const float *X,
const CBLAS_INT incX,
340 const float beta,
float *Y,
const CBLAS_INT incY);
341void cblas_ssbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
342 const CBLAS_INT N,
const CBLAS_INT K,
const float alpha,
const float *A,
343 const CBLAS_INT lda,
const float *X,
const CBLAS_INT incX,
344 const float beta,
float *Y,
const CBLAS_INT incY);
345void cblas_sspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
346 const CBLAS_INT N,
const float alpha,
const float *Ap,
347 const float *X,
const CBLAS_INT incX,
348 const float beta,
float *Y,
const CBLAS_INT incY);
349void cblas_sger(CBLAS_LAYOUT layout,
const CBLAS_INT M,
const CBLAS_INT N,
350 const float alpha,
const float *X,
const CBLAS_INT incX,
351 const float *Y,
const CBLAS_INT incY,
float *A,
const CBLAS_INT lda);
352void cblas_ssyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
353 const CBLAS_INT N,
const float alpha,
const float *X,
354 const CBLAS_INT incX,
float *A,
const CBLAS_INT lda);
355void cblas_sspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
356 const CBLAS_INT N,
const float alpha,
const float *X,
357 const CBLAS_INT incX,
float *Ap);
358void cblas_ssyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
359 const CBLAS_INT N,
const float alpha,
const float *X,
360 const CBLAS_INT incX,
const float *Y,
const CBLAS_INT incY,
float *A,
361 const CBLAS_INT lda);
362void cblas_sspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
363 const CBLAS_INT N,
const float alpha,
const float *X,
364 const CBLAS_INT incX,
const float *Y,
const CBLAS_INT incY,
float *A);
366void cblas_dsymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
367 const CBLAS_INT N,
const double alpha,
const double *A,
368 const CBLAS_INT lda,
const double *X,
const CBLAS_INT incX,
369 const double beta,
double *Y,
const CBLAS_INT incY);
370void cblas_dsbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
371 const CBLAS_INT N,
const CBLAS_INT K,
const double alpha,
const double *A,
372 const CBLAS_INT lda,
const double *X,
const CBLAS_INT incX,
373 const double beta,
double *Y,
const CBLAS_INT incY);
374void cblas_dspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
375 const CBLAS_INT N,
const double alpha,
const double *Ap,
376 const double *X,
const CBLAS_INT incX,
377 const double beta,
double *Y,
const CBLAS_INT incY);
378void cblas_dger(CBLAS_LAYOUT layout,
const CBLAS_INT M,
const CBLAS_INT N,
379 const double alpha,
const double *X,
const CBLAS_INT incX,
380 const double *Y,
const CBLAS_INT incY,
double *A,
const CBLAS_INT lda);
381void cblas_dsyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
382 const CBLAS_INT N,
const double alpha,
const double *X,
383 const CBLAS_INT incX,
double *A,
const CBLAS_INT lda);
384void cblas_dspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
385 const CBLAS_INT N,
const double alpha,
const double *X,
386 const CBLAS_INT incX,
double *Ap);
387void cblas_dsyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
388 const CBLAS_INT N,
const double alpha,
const double *X,
389 const CBLAS_INT incX,
const double *Y,
const CBLAS_INT incY,
double *A,
390 const CBLAS_INT lda);
391void cblas_dspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
392 const CBLAS_INT N,
const double alpha,
const double *X,
393 const CBLAS_INT incX,
const double *Y,
const CBLAS_INT incY,
double *A);
399void cblas_chemv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
400 const CBLAS_INT N,
const void *alpha,
const void *A,
401 const CBLAS_INT lda,
const void *X,
const CBLAS_INT incX,
402 const void *beta,
void *Y,
const CBLAS_INT incY);
403void cblas_chbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
404 const CBLAS_INT N,
const CBLAS_INT K,
const void *alpha,
const void *A,
405 const CBLAS_INT lda,
const void *X,
const CBLAS_INT incX,
406 const void *beta,
void *Y,
const CBLAS_INT incY);
407void cblas_chpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
408 const CBLAS_INT N,
const void *alpha,
const void *Ap,
409 const void *X,
const CBLAS_INT incX,
410 const void *beta,
void *Y,
const CBLAS_INT incY);
411void cblas_cgeru(CBLAS_LAYOUT layout,
const CBLAS_INT M,
const CBLAS_INT N,
412 const void *alpha,
const void *X,
const CBLAS_INT incX,
413 const void *Y,
const CBLAS_INT incY,
void *A,
const CBLAS_INT lda);
414void cblas_cgerc(CBLAS_LAYOUT layout,
const CBLAS_INT M,
const CBLAS_INT N,
415 const void *alpha,
const void *X,
const CBLAS_INT incX,
416 const void *Y,
const CBLAS_INT incY,
void *A,
const CBLAS_INT lda);
417void cblas_cher(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
418 const CBLAS_INT N,
const float alpha,
const void *X,
const CBLAS_INT incX,
419 void *A,
const CBLAS_INT lda);
420void cblas_chpr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
421 const CBLAS_INT N,
const float alpha,
const void *X,
422 const CBLAS_INT incX,
void *A);
423void cblas_cher2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
const CBLAS_INT N,
424 const void *alpha,
const void *X,
const CBLAS_INT incX,
425 const void *Y,
const CBLAS_INT incY,
void *A,
const CBLAS_INT lda);
426void cblas_chpr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
const CBLAS_INT N,
427 const void *alpha,
const void *X,
const CBLAS_INT incX,
428 const void *Y,
const CBLAS_INT incY,
void *Ap);
430void cblas_zhemv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
431 const CBLAS_INT N,
const void *alpha,
const void *A,
432 const CBLAS_INT lda,
const void *X,
const CBLAS_INT incX,
433 const void *beta,
void *Y,
const CBLAS_INT incY);
434void cblas_zhbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
435 const CBLAS_INT N,
const CBLAS_INT K,
const void *alpha,
const void *A,
436 const CBLAS_INT lda,
const void *X,
const CBLAS_INT incX,
437 const void *beta,
void *Y,
const CBLAS_INT incY);
438void cblas_zhpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
439 const CBLAS_INT N,
const void *alpha,
const void *Ap,
440 const void *X,
const CBLAS_INT incX,
441 const void *beta,
void *Y,
const CBLAS_INT incY);
442void cblas_zgeru(CBLAS_LAYOUT layout,
const CBLAS_INT M,
const CBLAS_INT N,
443 const void *alpha,
const void *X,
const CBLAS_INT incX,
444 const void *Y,
const CBLAS_INT incY,
void *A,
const CBLAS_INT lda);
445void cblas_zgerc(CBLAS_LAYOUT layout,
const CBLAS_INT M,
const CBLAS_INT N,
446 const void *alpha,
const void *X,
const CBLAS_INT incX,
447 const void *Y,
const CBLAS_INT incY,
void *A,
const CBLAS_INT lda);
448void cblas_zher(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
449 const CBLAS_INT N,
const double alpha,
const void *X,
const CBLAS_INT incX,
450 void *A,
const CBLAS_INT lda);
451void cblas_zhpr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
452 const CBLAS_INT N,
const double alpha,
const void *X,
453 const CBLAS_INT incX,
void *A);
454void cblas_zher2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
const CBLAS_INT N,
455 const void *alpha,
const void *X,
const CBLAS_INT incX,
456 const void *Y,
const CBLAS_INT incY,
void *A,
const CBLAS_INT lda);
457void cblas_zhpr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
const CBLAS_INT N,
458 const void *alpha,
const void *X,
const CBLAS_INT incX,
459 const void *Y,
const CBLAS_INT incY,
void *Ap);
470void cblas_sgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
471 CBLAS_TRANSPOSE TransB,
const CBLAS_INT M,
const CBLAS_INT N,
472 const CBLAS_INT K,
const float alpha,
const float *A,
473 const CBLAS_INT lda,
const float *B,
const CBLAS_INT ldb,
474 const float beta,
float *C,
const CBLAS_INT ldc);
475void cblas_sgemmtr(CBLAS_LAYOUT layout,CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
476 CBLAS_TRANSPOSE TransB,
const CBLAS_INT N,
477 const CBLAS_INT K,
const float alpha,
const float *A,
478 const CBLAS_INT lda,
const float *B,
const CBLAS_INT ldb,
479 const float beta,
float *C,
const CBLAS_INT ldc);
481void cblas_ssymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
482 CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
483 const float alpha,
const float *A,
const CBLAS_INT lda,
484 const float *B,
const CBLAS_INT ldb,
const float beta,
485 float *C,
const CBLAS_INT ldc);
486void cblas_ssyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
487 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
488 const float alpha,
const float *A,
const CBLAS_INT lda,
489 const float beta,
float *C,
const CBLAS_INT ldc);
490void cblas_ssyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
491 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
492 const float alpha,
const float *A,
const CBLAS_INT lda,
493 const float *B,
const CBLAS_INT ldb,
const float beta,
494 float *C,
const CBLAS_INT ldc);
495void cblas_strmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
496 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
497 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
498 const float alpha,
const float *A,
const CBLAS_INT lda,
499 float *B,
const CBLAS_INT ldb);
500void cblas_strsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
501 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
502 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
503 const float alpha,
const float *A,
const CBLAS_INT lda,
504 float *B,
const CBLAS_INT ldb);
506void cblas_dgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
507 CBLAS_TRANSPOSE TransB,
const CBLAS_INT M,
const CBLAS_INT N,
508 const CBLAS_INT K,
const double alpha,
const double *A,
509 const CBLAS_INT lda,
const double *B,
const CBLAS_INT ldb,
510 const double beta,
double *C,
const CBLAS_INT ldc);
511void cblas_dgemmtr(CBLAS_LAYOUT layout,CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
512 CBLAS_TRANSPOSE TransB,
const CBLAS_INT N,
513 const CBLAS_INT K,
const double alpha,
const double *A,
514 const CBLAS_INT lda,
const double *B,
const CBLAS_INT ldb,
515 const double beta,
double *C,
const CBLAS_INT ldc);
516void cblas_dsymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
517 CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
518 const double alpha,
const double *A,
const CBLAS_INT lda,
519 const double *B,
const CBLAS_INT ldb,
const double beta,
520 double *C,
const CBLAS_INT ldc);
521void cblas_dsyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
522 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
523 const double alpha,
const double *A,
const CBLAS_INT lda,
524 const double beta,
double *C,
const CBLAS_INT ldc);
525void cblas_dsyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
526 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
527 const double alpha,
const double *A,
const CBLAS_INT lda,
528 const double *B,
const CBLAS_INT ldb,
const double beta,
529 double *C,
const CBLAS_INT ldc);
530void cblas_dtrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
531 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
532 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
533 const double alpha,
const double *A,
const CBLAS_INT lda,
534 double *B,
const CBLAS_INT ldb);
535void cblas_dtrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
536 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
537 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
538 const double alpha,
const double *A,
const CBLAS_INT lda,
539 double *B,
const CBLAS_INT ldb);
541void cblas_cgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
542 CBLAS_TRANSPOSE TransB,
const CBLAS_INT M,
const CBLAS_INT N,
543 const CBLAS_INT K,
const void *alpha,
const void *A,
544 const CBLAS_INT lda,
const void *B,
const CBLAS_INT ldb,
545 const void *beta,
void *C,
const CBLAS_INT ldc);
546void cblas_cgemmtr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
547 CBLAS_TRANSPOSE TransB,
const CBLAS_INT N,
548 const CBLAS_INT K,
const void *alpha,
const void *A,
549 const CBLAS_INT lda,
const void *B,
const CBLAS_INT ldb,
550 const void *beta,
void *C,
const CBLAS_INT ldc);
551void cblas_csymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
552 CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
553 const void *alpha,
const void *A,
const CBLAS_INT lda,
554 const void *B,
const CBLAS_INT ldb,
const void *beta,
555 void *C,
const CBLAS_INT ldc);
556void cblas_csyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
557 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
558 const void *alpha,
const void *A,
const CBLAS_INT lda,
559 const void *beta,
void *C,
const CBLAS_INT ldc);
560void cblas_csyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
561 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
562 const void *alpha,
const void *A,
const CBLAS_INT lda,
563 const void *B,
const CBLAS_INT ldb,
const void *beta,
564 void *C,
const CBLAS_INT ldc);
565void cblas_ctrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
566 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
567 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
568 const void *alpha,
const void *A,
const CBLAS_INT lda,
569 void *B,
const CBLAS_INT ldb);
570void cblas_ctrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
571 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
572 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
573 const void *alpha,
const void *A,
const CBLAS_INT lda,
574 void *B,
const CBLAS_INT ldb);
576void cblas_zgemm(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
577 CBLAS_TRANSPOSE TransB,
const CBLAS_INT M,
const CBLAS_INT N,
578 const CBLAS_INT K,
const void *alpha,
const void *A,
579 const CBLAS_INT lda,
const void *B,
const CBLAS_INT ldb,
580 const void *beta,
void *C,
const CBLAS_INT ldc);
581void cblas_zgemmtr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
582 CBLAS_TRANSPOSE TransB,
const CBLAS_INT N,
583 const CBLAS_INT K,
const void *alpha,
const void *A,
584 const CBLAS_INT lda,
const void *B,
const CBLAS_INT ldb,
585 const void *beta,
void *C,
const CBLAS_INT ldc);
586void cblas_zsymm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
587 CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
588 const void *alpha,
const void *A,
const CBLAS_INT lda,
589 const void *B,
const CBLAS_INT ldb,
const void *beta,
590 void *C,
const CBLAS_INT ldc);
591void cblas_zsyrk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
592 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
593 const void *alpha,
const void *A,
const CBLAS_INT lda,
594 const void *beta,
void *C,
const CBLAS_INT ldc);
595void cblas_zsyr2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
596 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
597 const void *alpha,
const void *A,
const CBLAS_INT lda,
598 const void *B,
const CBLAS_INT ldb,
const void *beta,
599 void *C,
const CBLAS_INT ldc);
600void cblas_ztrmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
601 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
602 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
603 const void *alpha,
const void *A,
const CBLAS_INT lda,
604 void *B,
const CBLAS_INT ldb);
605void cblas_ztrsm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
606 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
607 CBLAS_DIAG Diag,
const CBLAS_INT M,
const CBLAS_INT N,
608 const void *alpha,
const void *A,
const CBLAS_INT lda,
609 void *B,
const CBLAS_INT ldb);
615void cblas_chemm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
616 CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
617 const void *alpha,
const void *A,
const CBLAS_INT lda,
618 const void *B,
const CBLAS_INT ldb,
const void *beta,
619 void *C,
const CBLAS_INT ldc);
620void cblas_cherk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
621 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
622 const float alpha,
const void *A,
const CBLAS_INT lda,
623 const float beta,
void *C,
const CBLAS_INT ldc);
624void cblas_cher2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
625 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
626 const void *alpha,
const void *A,
const CBLAS_INT lda,
627 const void *B,
const CBLAS_INT ldb,
const float beta,
628 void *C,
const CBLAS_INT ldc);
630void cblas_zhemm(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
631 CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
632 const void *alpha,
const void *A,
const CBLAS_INT lda,
633 const void *B,
const CBLAS_INT ldb,
const void *beta,
634 void *C,
const CBLAS_INT ldc);
635void cblas_zherk(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
636 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
637 const double alpha,
const void *A,
const CBLAS_INT lda,
638 const double beta,
void *C,
const CBLAS_INT ldc);
639void cblas_zher2k(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
640 CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
641 const void *alpha,
const void *A,
const CBLAS_INT lda,
642 const void *B,
const CBLAS_INT ldb,
const double beta,
643 void *C,
const CBLAS_INT ldc);
646#ifdef HAS_ATTRIBUTE_WEAK_SUPPORT
649cblas_xerbla(CBLAS_INT p,
const char *rout,
const char *form, ...);