LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
cblas_64.h
1#ifndef CBLAS_64_H
2#define CBLAS_64_H
3#include <stddef.h>
4#include <stdint.h>
5#include <inttypes.h>
6
7#include "cblas.h"
8
9#ifdef __cplusplus
10extern "C" { /* Assume C declarations for C++ */
11#endif /* __cplusplus */
12
13/*
14 * ===========================================================================
15 * Prototypes for level 1 BLAS functions (complex are recast as routines)
16 * ===========================================================================
17 */
18
19double cblas_dcabs1_64(const void *z);
20float cblas_scabs1_64(const void *c);
21
22float cblas_sdsdot_64(const int64_t N, const float alpha, const float *X,
23 const int64_t incX, const float *Y, const int64_t incY);
24double cblas_dsdot_64(const int64_t N, const float *X, const int64_t incX, const float *Y,
25 const int64_t incY);
26float cblas_sdot_64(const int64_t N, const float *X, const int64_t incX,
27 const float *Y, const int64_t incY);
28double cblas_ddot_64(const int64_t N, const double *X, const int64_t incX,
29 const double *Y, const int64_t incY);
30
31/*
32 * Functions having prefixes Z and C only
33 */
34void cblas_cdotu_sub_64(const int64_t N, const void *X, const int64_t incX,
35 const void *Y, const int64_t incY, void *dotu);
36void cblas_cdotc_sub_64(const int64_t N, const void *X, const int64_t incX,
37 const void *Y, const int64_t incY, void *dotc);
38
39void cblas_zdotu_sub_64(const int64_t N, const void *X, const int64_t incX,
40 const void *Y, const int64_t incY, void *dotu);
41void cblas_zdotc_sub_64(const int64_t N, const void *X, const int64_t incX,
42 const void *Y, const int64_t incY, void *dotc);
43
44
45/*
46 * Functions having prefixes S D SC DZ
47 */
48float cblas_snrm2_64(const int64_t N, const float *X, const int64_t incX);
49float cblas_sasum_64(const int64_t N, const float *X, const int64_t incX);
50
51double cblas_dnrm2_64(const int64_t N, const double *X, const int64_t incX);
52double cblas_dasum_64(const int64_t N, const double *X, const int64_t incX);
53
54float cblas_scnrm2_64(const int64_t N, const void *X, const int64_t incX);
55float cblas_scasum_64(const int64_t N, const void *X, const int64_t incX);
56
57double cblas_dznrm2_64(const int64_t N, const void *X, const int64_t incX);
58double cblas_dzasum_64(const int64_t N, const void *X, const int64_t incX);
59
60
61/*
62 * Functions having standard 4 prefixes (S D C Z)
63 */
64CBLAS_INDEX cblas_isamax_64(const int64_t N, const float *X, const int64_t incX);
65CBLAS_INDEX cblas_idamax_64(const int64_t N, const double *X, const int64_t incX);
66CBLAS_INDEX cblas_icamax_64(const int64_t N, const void *X, const int64_t incX);
67CBLAS_INDEX cblas_izamax_64(const int64_t N, const void *X, const int64_t incX);
68
69/*
70 * ===========================================================================
71 * Prototypes for level 1 BLAS routines
72 * ===========================================================================
73 */
74
75/*
76 * Routines with standard 4 prefixes (s, d, c, z)
77 */
78void cblas_sswap_64(const int64_t N, float *X, const int64_t incX,
79 float *Y, const int64_t incY);
80void cblas_scopy_64(const int64_t N, const float *X, const int64_t incX,
81 float *Y, const int64_t incY);
82void cblas_saxpy_64(const int64_t N, const float alpha, const float *X,
83 const int64_t incX, float *Y, const int64_t incY);
84
85void cblas_dswap_64(const int64_t N, double *X, const int64_t incX,
86 double *Y, const int64_t incY);
87void cblas_dcopy_64(const int64_t N, const double *X, const int64_t incX,
88 double *Y, const int64_t incY);
89void cblas_daxpy_64(const int64_t N, const double alpha, const double *X,
90 const int64_t incX, double *Y, const int64_t incY);
91
92void cblas_cswap_64(const int64_t N, void *X, const int64_t incX,
93 void *Y, const int64_t incY);
94void cblas_ccopy_64(const int64_t N, const void *X, const int64_t incX,
95 void *Y, const int64_t incY);
96void cblas_caxpy_64(const int64_t N, const void *alpha, const void *X,
97 const int64_t incX, void *Y, const int64_t incY);
98
99void cblas_zswap_64(const int64_t N, void *X, const int64_t incX,
100 void *Y, const int64_t incY);
101void cblas_zcopy_64(const int64_t N, const void *X, const int64_t incX,
102 void *Y, const int64_t incY);
103void cblas_zaxpy_64(const int64_t N, const void *alpha, const void *X,
104 const int64_t incX, void *Y, const int64_t incY);
105
106
107/*
108 * Routines with S and D prefix only
109 */
110void cblas_srotmg_64(float *d1, float *d2, float *b1, const float b2, float *P);
111void cblas_srotm_64(const int64_t N, float *X, const int64_t incX,
112 float *Y, const int64_t incY, const float *P);
113void cblas_drotmg_64(double *d1, double *d2, double *b1, const double b2, double *P);
114void cblas_drotm_64(const int64_t N, double *X, const int64_t incX,
115 double *Y, const int64_t incY, const double *P);
116
117
118
119/*
120 * Routines with S D C Z CS and ZD prefixes
121 */
122void cblas_sscal_64(const int64_t N, const float alpha, float *X, const int64_t incX);
123void cblas_dscal_64(const int64_t N, const double alpha, double *X, const int64_t incX);
124void cblas_cscal_64(const int64_t N, const void *alpha, void *X, const int64_t incX);
125void cblas_zscal_64(const int64_t N, const void *alpha, void *X, const int64_t incX);
126void cblas_csscal_64(const int64_t N, const float alpha, void *X, const int64_t incX);
127void cblas_zdscal_64(const int64_t N, const double alpha, void *X, const int64_t incX);
128
129void cblas_srotg_64(float *a, float *b, float *c, float *s);
130void cblas_drotg_64(double *a, double *b, double *c, double *s);
131void cblas_crotg_64(void *a, void *b, float *c, void *s);
132void cblas_zrotg_64(void *a, void *b, double *c, void *s);
133
134void cblas_srot_64(const int64_t N, float *X, const int64_t incX,
135 float *Y, const int64_t incY, const float c, const float s);
136void cblas_drot_64(const int64_t N, double *X, const int64_t incX,
137 double *Y, const int64_t incY, const double c, const double s);
138void cblas_csrot_64(const int64_t N, void *X, const int64_t incX,
139 void *Y, const int64_t incY, const float c, const float s);
140void cblas_zdrot_64(const int64_t N, void *X, const int64_t incX,
141 void *Y, const int64_t incY, const double c, const double s);
142
143/*
144 * ===========================================================================
145 * Prototypes for level 2 BLAS
146 * ===========================================================================
147 */
148
149/*
150 * Routines with standard 4 prefixes (S, D, C, Z)
151 */
152void cblas_sgemv_64(const CBLAS_LAYOUT layout,
153 const CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
154 const float alpha, const float *A, const int64_t lda,
155 const float *X, const int64_t incX, const float beta,
156 float *Y, const int64_t incY);
157void cblas_sgbmv_64(CBLAS_LAYOUT layout,
158 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
159 const int64_t KL, const int64_t KU, const float alpha,
160 const float *A, const int64_t lda, const float *X,
161 const int64_t incX, const float beta, float *Y, const int64_t incY);
162void cblas_strmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
163 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
164 const int64_t N, const float *A, const int64_t lda,
165 float *X, const int64_t incX);
166void cblas_stbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
167 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
168 const int64_t N, const int64_t K, const float *A, const int64_t lda,
169 float *X, const int64_t incX);
170void cblas_stpmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
171 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
172 const int64_t N, const float *Ap, float *X, const int64_t incX);
173void cblas_strsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
174 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
175 const int64_t N, const float *A, const int64_t lda, float *X,
176 const int64_t incX);
177void cblas_stbsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
178 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
179 const int64_t N, const int64_t K, const float *A, const int64_t lda,
180 float *X, const int64_t incX);
181void cblas_stpsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
182 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
183 const int64_t N, const float *Ap, float *X, const int64_t incX);
184
185void cblas_dgemv_64(CBLAS_LAYOUT layout,
186 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
187 const double alpha, const double *A, const int64_t lda,
188 const double *X, const int64_t incX, const double beta,
189 double *Y, const int64_t incY);
190void cblas_dgbmv_64(CBLAS_LAYOUT layout,
191 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
192 const int64_t KL, const int64_t KU, const double alpha,
193 const double *A, const int64_t lda, const double *X,
194 const int64_t incX, const double beta, double *Y, const int64_t incY);
195void cblas_dtrmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
196 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
197 const int64_t N, const double *A, const int64_t lda,
198 double *X, const int64_t incX);
199void cblas_dtbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
200 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
201 const int64_t N, const int64_t K, const double *A, const int64_t lda,
202 double *X, const int64_t incX);
203void cblas_dtpmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
204 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
205 const int64_t N, const double *Ap, double *X, const int64_t incX);
206void cblas_dtrsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
207 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
208 const int64_t N, const double *A, const int64_t lda, double *X,
209 const int64_t incX);
210void cblas_dtbsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
211 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
212 const int64_t N, const int64_t K, const double *A, const int64_t lda,
213 double *X, const int64_t incX);
214void cblas_dtpsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
215 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
216 const int64_t N, const double *Ap, double *X, const int64_t incX);
217
218void cblas_cgemv_64(CBLAS_LAYOUT layout,
219 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
220 const void *alpha, const void *A, const int64_t lda,
221 const void *X, const int64_t incX, const void *beta,
222 void *Y, const int64_t incY);
223void cblas_cgbmv_64(CBLAS_LAYOUT layout,
224 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
225 const int64_t KL, const int64_t KU, const void *alpha,
226 const void *A, const int64_t lda, const void *X,
227 const int64_t incX, const void *beta, void *Y, const int64_t incY);
228void cblas_ctrmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
229 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
230 const int64_t N, const void *A, const int64_t lda,
231 void *X, const int64_t incX);
232void cblas_ctbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
233 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
234 const int64_t N, const int64_t K, const void *A, const int64_t lda,
235 void *X, const int64_t incX);
236void cblas_ctpmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
237 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
238 const int64_t N, const void *Ap, void *X, const int64_t incX);
239void cblas_ctrsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
240 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
241 const int64_t N, const void *A, const int64_t lda, void *X,
242 const int64_t incX);
243void cblas_ctbsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
244 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
245 const int64_t N, const int64_t K, const void *A, const int64_t lda,
246 void *X, const int64_t incX);
247void cblas_ctpsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
248 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
249 const int64_t N, const void *Ap, void *X, const int64_t incX);
250
251void cblas_zgemv_64(CBLAS_LAYOUT layout,
252 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
253 const void *alpha, const void *A, const int64_t lda,
254 const void *X, const int64_t incX, const void *beta,
255 void *Y, const int64_t incY);
256void cblas_zgbmv_64(CBLAS_LAYOUT layout,
257 CBLAS_TRANSPOSE TransA, const int64_t M, const int64_t N,
258 const int64_t KL, const int64_t KU, const void *alpha,
259 const void *A, const int64_t lda, const void *X,
260 const int64_t incX, const void *beta, void *Y, const int64_t incY);
261void cblas_ztrmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
262 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
263 const int64_t N, const void *A, const int64_t lda,
264 void *X, const int64_t incX);
265void cblas_ztbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
266 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
267 const int64_t N, const int64_t K, const void *A, const int64_t lda,
268 void *X, const int64_t incX);
269void cblas_ztpmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
270 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
271 const int64_t N, const void *Ap, void *X, const int64_t incX);
272void cblas_ztrsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
273 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
274 const int64_t N, const void *A, const int64_t lda, void *X,
275 const int64_t incX);
276void cblas_ztbsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
277 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
278 const int64_t N, const int64_t K, const void *A, const int64_t lda,
279 void *X, const int64_t incX);
280void cblas_ztpsv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
281 CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag,
282 const int64_t N, const void *Ap, void *X, const int64_t incX);
283
284
285/*
286 * Routines with S and D prefixes only
287 */
288void cblas_ssymv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
289 const int64_t N, const float alpha, const float *A,
290 const int64_t lda, const float *X, const int64_t incX,
291 const float beta, float *Y, const int64_t incY);
292void cblas_ssbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
293 const int64_t N, const int64_t K, const float alpha, const float *A,
294 const int64_t lda, const float *X, const int64_t incX,
295 const float beta, float *Y, const int64_t incY);
296void cblas_sspmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
297 const int64_t N, const float alpha, const float *Ap,
298 const float *X, const int64_t incX,
299 const float beta, float *Y, const int64_t incY);
300void cblas_sger_64(CBLAS_LAYOUT layout, const int64_t M, const int64_t N,
301 const float alpha, const float *X, const int64_t incX,
302 const float *Y, const int64_t incY, float *A, const int64_t lda);
303void cblas_ssyr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
304 const int64_t N, const float alpha, const float *X,
305 const int64_t incX, float *A, const int64_t lda);
306void cblas_sspr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
307 const int64_t N, const float alpha, const float *X,
308 const int64_t incX, float *Ap);
309void cblas_ssyr2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
310 const int64_t N, const float alpha, const float *X,
311 const int64_t incX, const float *Y, const int64_t incY, float *A,
312 const int64_t lda);
313void cblas_sspr2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
314 const int64_t N, const float alpha, const float *X,
315 const int64_t incX, const float *Y, const int64_t incY, float *A);
316
317void cblas_dsymv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
318 const int64_t N, const double alpha, const double *A,
319 const int64_t lda, const double *X, const int64_t incX,
320 const double beta, double *Y, const int64_t incY);
321void cblas_dsbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
322 const int64_t N, const int64_t K, const double alpha, const double *A,
323 const int64_t lda, const double *X, const int64_t incX,
324 const double beta, double *Y, const int64_t incY);
325void cblas_dspmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
326 const int64_t N, const double alpha, const double *Ap,
327 const double *X, const int64_t incX,
328 const double beta, double *Y, const int64_t incY);
329void cblas_dger_64(CBLAS_LAYOUT layout, const int64_t M, const int64_t N,
330 const double alpha, const double *X, const int64_t incX,
331 const double *Y, const int64_t incY, double *A, const int64_t lda);
332void cblas_dsyr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
333 const int64_t N, const double alpha, const double *X,
334 const int64_t incX, double *A, const int64_t lda);
335void cblas_dspr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
336 const int64_t N, const double alpha, const double *X,
337 const int64_t incX, double *Ap);
338void cblas_dsyr2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
339 const int64_t N, const double alpha, const double *X,
340 const int64_t incX, const double *Y, const int64_t incY, double *A,
341 const int64_t lda);
342void cblas_dspr2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
343 const int64_t N, const double alpha, const double *X,
344 const int64_t incX, const double *Y, const int64_t incY, double *A);
345
346
347/*
348 * Routines with C and Z prefixes only
349 */
350void cblas_chemv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
351 const int64_t N, const void *alpha, const void *A,
352 const int64_t lda, const void *X, const int64_t incX,
353 const void *beta, void *Y, const int64_t incY);
354void cblas_chbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
355 const int64_t N, const int64_t K, const void *alpha, const void *A,
356 const int64_t lda, const void *X, const int64_t incX,
357 const void *beta, void *Y, const int64_t incY);
358void cblas_chpmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
359 const int64_t N, const void *alpha, const void *Ap,
360 const void *X, const int64_t incX,
361 const void *beta, void *Y, const int64_t incY);
362void cblas_cgeru_64(CBLAS_LAYOUT layout, const int64_t M, const int64_t N,
363 const void *alpha, const void *X, const int64_t incX,
364 const void *Y, const int64_t incY, void *A, const int64_t lda);
365void cblas_cgerc_64(CBLAS_LAYOUT layout, const int64_t M, const int64_t N,
366 const void *alpha, const void *X, const int64_t incX,
367 const void *Y, const int64_t incY, void *A, const int64_t lda);
368void cblas_cher_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
369 const int64_t N, const float alpha, const void *X, const int64_t incX,
370 void *A, const int64_t lda);
371void cblas_chpr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
372 const int64_t N, const float alpha, const void *X,
373 const int64_t incX, void *A);
374void cblas_cher2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const int64_t N,
375 const void *alpha, const void *X, const int64_t incX,
376 const void *Y, const int64_t incY, void *A, const int64_t lda);
377void cblas_chpr2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const int64_t N,
378 const void *alpha, const void *X, const int64_t incX,
379 const void *Y, const int64_t incY, void *Ap);
380
381void cblas_zhemv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
382 const int64_t N, const void *alpha, const void *A,
383 const int64_t lda, const void *X, const int64_t incX,
384 const void *beta, void *Y, const int64_t incY);
385void cblas_zhbmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
386 const int64_t N, const int64_t K, const void *alpha, const void *A,
387 const int64_t lda, const void *X, const int64_t incX,
388 const void *beta, void *Y, const int64_t incY);
389void cblas_zhpmv_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
390 const int64_t N, const void *alpha, const void *Ap,
391 const void *X, const int64_t incX,
392 const void *beta, void *Y, const int64_t incY);
393void cblas_zgeru_64(CBLAS_LAYOUT layout, const int64_t M, const int64_t N,
394 const void *alpha, const void *X, const int64_t incX,
395 const void *Y, const int64_t incY, void *A, const int64_t lda);
396void cblas_zgerc_64(CBLAS_LAYOUT layout, const int64_t M, const int64_t N,
397 const void *alpha, const void *X, const int64_t incX,
398 const void *Y, const int64_t incY, void *A, const int64_t lda);
399void cblas_zher_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
400 const int64_t N, const double alpha, const void *X, const int64_t incX,
401 void *A, const int64_t lda);
402void cblas_zhpr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
403 const int64_t N, const double alpha, const void *X,
404 const int64_t incX, void *A);
405void cblas_zher2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const int64_t N,
406 const void *alpha, const void *X, const int64_t incX,
407 const void *Y, const int64_t incY, void *A, const int64_t lda);
408void cblas_zhpr2_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const int64_t N,
409 const void *alpha, const void *X, const int64_t incX,
410 const void *Y, const int64_t incY, void *Ap);
411
412/*
413 * ===========================================================================
414 * Prototypes for level 3 BLAS
415 * ===========================================================================
416 */
417
418/*
419 * Routines with standard 4 prefixes (S, D, C, Z)
420 */
421void cblas_sgemm_64(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
422 CBLAS_TRANSPOSE TransB, const int64_t M, const int64_t N,
423 const int64_t K, const float alpha, const float *A,
424 const int64_t lda, const float *B, const int64_t ldb,
425 const float beta, float *C, const int64_t ldc);
426void cblas_sgemmtr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
427 CBLAS_TRANSPOSE TransB, const int64_t N,
428 const int64_t K, const float alpha, const float *A,
429 const int64_t lda, const float *B, const int64_t ldb,
430 const float beta, float *C, const int64_t ldc);
431
432void cblas_ssymm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
433 CBLAS_UPLO Uplo, const int64_t M, const int64_t N,
434 const float alpha, const float *A, const int64_t lda,
435 const float *B, const int64_t ldb, const float beta,
436 float *C, const int64_t ldc);
437void cblas_ssyrk_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
438 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
439 const float alpha, const float *A, const int64_t lda,
440 const float beta, float *C, const int64_t ldc);
441void cblas_ssyr2k_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
442 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
443 const float alpha, const float *A, const int64_t lda,
444 const float *B, const int64_t ldb, const float beta,
445 float *C, const int64_t ldc);
446void cblas_strmm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
447 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
448 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
449 const float alpha, const float *A, const int64_t lda,
450 float *B, const int64_t ldb);
451void cblas_strsm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
452 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
453 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
454 const float alpha, const float *A, const int64_t lda,
455 float *B, const int64_t ldb);
456
457void cblas_dgemm_64(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
458 CBLAS_TRANSPOSE TransB, const int64_t M, const int64_t N,
459 const int64_t K, const double alpha, const double *A,
460 const int64_t lda, const double *B, const int64_t ldb,
461 const double beta, double *C, const int64_t ldc);
462void cblas_dgemmtr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
463 CBLAS_TRANSPOSE TransB, const int64_t N,
464 const int64_t K, const double alpha, const double *A,
465 const int64_t lda, const double *B, const int64_t ldb,
466 const double beta, double *C, const int64_t ldc);
467void cblas_dsymm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
468 CBLAS_UPLO Uplo, const int64_t M, const int64_t N,
469 const double alpha, const double *A, const int64_t lda,
470 const double *B, const int64_t ldb, const double beta,
471 double *C, const int64_t ldc);
472void cblas_dsyrk_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
473 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
474 const double alpha, const double *A, const int64_t lda,
475 const double beta, double *C, const int64_t ldc);
476void cblas_dsyr2k_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
477 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
478 const double alpha, const double *A, const int64_t lda,
479 const double *B, const int64_t ldb, const double beta,
480 double *C, const int64_t ldc);
481void cblas_dtrmm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
482 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
483 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
484 const double alpha, const double *A, const int64_t lda,
485 double *B, const int64_t ldb);
486void cblas_dtrsm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
487 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
488 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
489 const double alpha, const double *A, const int64_t lda,
490 double *B, const int64_t ldb);
491
492void cblas_cgemm_64(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
493 CBLAS_TRANSPOSE TransB, const int64_t M, const int64_t N,
494 const int64_t K, const void *alpha, const void *A,
495 const int64_t lda, const void *B, const int64_t ldb,
496 const void *beta, void *C, const int64_t ldc);
497void cblas_cgemmtr_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
498 CBLAS_TRANSPOSE TransB, const int64_t N,
499 const int64_t K, const void *alpha, const void *A,
500 const int64_t lda, const void *B, const int64_t ldb,
501 const void *beta, void *C, const int64_t ldc);
502
503void cblas_csymm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
504 CBLAS_UPLO Uplo, const int64_t M, const int64_t N,
505 const void *alpha, const void *A, const int64_t lda,
506 const void *B, const int64_t ldb, const void *beta,
507 void *C, const int64_t ldc);
508void cblas_csyrk_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
509 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
510 const void *alpha, const void *A, const int64_t lda,
511 const void *beta, void *C, const int64_t ldc);
512void cblas_csyr2k_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
513 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
514 const void *alpha, const void *A, const int64_t lda,
515 const void *B, const int64_t ldb, const void *beta,
516 void *C, const int64_t ldc);
517void cblas_ctrmm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
518 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
519 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
520 const void *alpha, const void *A, const int64_t lda,
521 void *B, const int64_t ldb);
522void cblas_ctrsm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
523 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
524 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
525 const void *alpha, const void *A, const int64_t lda,
526 void *B, const int64_t ldb);
527
528void cblas_zgemm_64(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA,
529 CBLAS_TRANSPOSE TransB, const int64_t M, const int64_t N,
530 const int64_t K, const void *alpha, const void *A,
531 const int64_t lda, const void *B, const int64_t ldb,
532 const void *beta, void *C, const int64_t ldc);
533void cblas_zgemmtr_64(CBLAS_LAYOUT layout,CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
534 CBLAS_TRANSPOSE TransB, const int64_t N,
535 const int64_t K, const void *alpha, const void *A,
536 const int64_t lda, const void *B, const int64_t ldb,
537 const void *beta, void *C, const int64_t ldc);
538void cblas_zsymm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
539 CBLAS_UPLO Uplo, const int64_t M, const int64_t N,
540 const void *alpha, const void *A, const int64_t lda,
541 const void *B, const int64_t ldb, const void *beta,
542 void *C, const int64_t ldc);
543void cblas_zsyrk_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
544 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
545 const void *alpha, const void *A, const int64_t lda,
546 const void *beta, void *C, const int64_t ldc);
547void cblas_zsyr2k_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
548 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
549 const void *alpha, const void *A, const int64_t lda,
550 const void *B, const int64_t ldb, const void *beta,
551 void *C, const int64_t ldc);
552void cblas_ztrmm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
553 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
554 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
555 const void *alpha, const void *A, const int64_t lda,
556 void *B, const int64_t ldb);
557void cblas_ztrsm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
558 CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA,
559 CBLAS_DIAG Diag, const int64_t M, const int64_t N,
560 const void *alpha, const void *A, const int64_t lda,
561 void *B, const int64_t ldb);
562
563
564/*
565 * Routines with prefixes C and Z only
566 */
567void cblas_chemm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
568 CBLAS_UPLO Uplo, const int64_t M, const int64_t N,
569 const void *alpha, const void *A, const int64_t lda,
570 const void *B, const int64_t ldb, const void *beta,
571 void *C, const int64_t ldc);
572void cblas_cherk_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
573 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
574 const float alpha, const void *A, const int64_t lda,
575 const float beta, void *C, const int64_t ldc);
576void cblas_cher2k_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
577 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
578 const void *alpha, const void *A, const int64_t lda,
579 const void *B, const int64_t ldb, const float beta,
580 void *C, const int64_t ldc);
581
582void cblas_zhemm_64(CBLAS_LAYOUT layout, CBLAS_SIDE Side,
583 CBLAS_UPLO Uplo, const int64_t M, const int64_t N,
584 const void *alpha, const void *A, const int64_t lda,
585 const void *B, const int64_t ldb, const void *beta,
586 void *C, const int64_t ldc);
587void cblas_zherk_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
588 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
589 const double alpha, const void *A, const int64_t lda,
590 const double beta, void *C, const int64_t ldc);
591void cblas_zher2k_64(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo,
592 CBLAS_TRANSPOSE Trans, const int64_t N, const int64_t K,
593 const void *alpha, const void *A, const int64_t lda,
594 const void *B, const int64_t ldb, const double beta,
595 void *C, const int64_t ldc);
596
597void
598#ifdef HAS_ATTRIBUTE_WEAK_SUPPORT
599__attribute__((weak))
600#endif
601cblas_xerbla_64(int64_t p, const char *rout, const char *form, ...);
602
603#ifdef __cplusplus
604}
605#endif
606#endif