- Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathcblas.h
409 lines (333 loc) · 48.3 KB
/
cblas.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
#ifndefCBLAS_H
#defineCBLAS_H
#include<stddef.h>
#include"common.h"
#ifdef__cplusplus
extern"C" {
/* Assume C declarations for C++ */
#endif/* __cplusplus */
/*Set the number of threads on runtime.*/
voidopenblas_set_num_threads(intnum_threads);
voidgoto_set_num_threads(intnum_threads);
/*Get the number of threads on runtime.*/
intopenblas_get_num_threads(void);
/*Get the number of physical processors (cores).*/
intopenblas_get_num_procs(void);
/*Get the build configure on runtime.*/
char*openblas_get_config(void);
/*Get the CPU corename on runtime.*/
char*openblas_get_corename(void);
#ifdefOPENBLAS_OS_LINUX
/* Sets thread affinity for OpenBLAS threads. `thread_idx` is in [0, openblas_get_num_threads()-1]. */
intopenblas_setaffinity(intthread_idx, size_tcpusetsize, cpu_set_t*cpu_set);
#endif
/* Get the parallelization type which is used by OpenBLAS */
intopenblas_get_parallel(void);
/* OpenBLAS is compiled for sequential use */
#defineOPENBLAS_SEQUENTIAL 0
/* OpenBLAS is compiled using normal threading model */
#defineOPENBLAS_THREAD 1
/* OpenBLAS is compiled using OpenMP threading model */
#defineOPENBLAS_OPENMP 2
/*
* Since all of GotoBlas was written without const,
* we disable it at build time.
*/
#ifndefOPENBLAS_CONST
# defineOPENBLAS_CONST const
#endif
#defineCBLAS_INDEX size_t
typedefenumCBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102} CBLAS_ORDER;
typedefenumCBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113, CblasConjNoTrans=114} CBLAS_TRANSPOSE;
typedefenumCBLAS_UPLO {CblasUpper=121, CblasLower=122} CBLAS_UPLO;
typedefenumCBLAS_DIAG {CblasNonUnit=131, CblasUnit=132} CBLAS_DIAG;
typedefenumCBLAS_SIDE {CblasLeft=141, CblasRight=142} CBLAS_SIDE;
typedefCBLAS_ORDERCBLAS_LAYOUT;
floatcblas_sdsdot(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTfloat*y, OPENBLAS_CONSTblasintincy);
doublecblas_dsdot (OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTfloat*y, OPENBLAS_CONSTblasintincy);
floatcblas_sdot(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTfloat*y, OPENBLAS_CONSTblasintincy);
doublecblas_ddot(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTdouble*y, OPENBLAS_CONSTblasintincy);
openblas_complex_floatcblas_cdotu(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy);
openblas_complex_floatcblas_cdotc(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy);
openblas_complex_doublecblas_zdotu(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy);
openblas_complex_doublecblas_zdotc(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy);
voidcblas_cdotu_sub(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy, void*ret);
voidcblas_cdotc_sub(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy, void*ret);
voidcblas_zdotu_sub(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy, void*ret);
voidcblas_zdotc_sub(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*y, OPENBLAS_CONSTblasintincy, void*ret);
floatcblas_sasum (OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx);
doublecblas_dasum (OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx);
floatcblas_scasum(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
doublecblas_dzasum(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
floatcblas_ssum (OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx);
doublecblas_dsum (OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx);
floatcblas_scsum(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
doublecblas_dzsum(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
floatcblas_snrm2 (OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX);
doublecblas_dnrm2 (OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX);
floatcblas_scnrm2(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX);
doublecblas_dznrm2(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX);
CBLAS_INDEXcblas_isamax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_idamax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_icamax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_izamax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_isamin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_idamin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_icamin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_izamin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_ismax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_idmax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_icmax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_izmax(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_ismin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_idmin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_icmin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
CBLAS_INDEXcblas_izmin(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx);
voidcblas_saxpy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx, float*y, OPENBLAS_CONSTblasintincy);
voidcblas_daxpy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx, double*y, OPENBLAS_CONSTblasintincy);
voidcblas_caxpy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_zaxpy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_scopy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx, float*y, OPENBLAS_CONSTblasintincy);
voidcblas_dcopy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx, double*y, OPENBLAS_CONSTblasintincy);
voidcblas_ccopy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_zcopy(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_sswap(OPENBLAS_CONSTblasintn, float*x, OPENBLAS_CONSTblasintincx, float*y, OPENBLAS_CONSTblasintincy);
voidcblas_dswap(OPENBLAS_CONSTblasintn, double*x, OPENBLAS_CONSTblasintincx, double*y, OPENBLAS_CONSTblasintincy);
voidcblas_cswap(OPENBLAS_CONSTblasintn, void*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_zswap(OPENBLAS_CONSTblasintn, void*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_srot(OPENBLAS_CONSTblasintN, float*X, OPENBLAS_CONSTblasintincX, float*Y, OPENBLAS_CONSTblasintincY, OPENBLAS_CONSTfloatc, OPENBLAS_CONSTfloats);
voidcblas_drot(OPENBLAS_CONSTblasintN, double*X, OPENBLAS_CONSTblasintincX, double*Y, OPENBLAS_CONSTblasintincY, OPENBLAS_CONSTdoublec, OPENBLAS_CONSTdoubles);
voidcblas_csrot(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincY, OPENBLAS_CONSTfloatc, OPENBLAS_CONSTfloats);
voidcblas_zdrot(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, void*y, OPENBLAS_CONSTblasintincY, OPENBLAS_CONSTdoublec, OPENBLAS_CONSTdoubles);
voidcblas_srotg(float*a, float*b, float*c, float*s);
voidcblas_drotg(double*a, double*b, double*c, double*s);
voidcblas_crotg(void*a, void*b, float*c, void*s);
voidcblas_zrotg(void*a, void*b, double*c, void*s);
voidcblas_srotm(OPENBLAS_CONSTblasintN, float*X, OPENBLAS_CONSTblasintincX, float*Y, OPENBLAS_CONSTblasintincY, OPENBLAS_CONSTfloat*P);
voidcblas_drotm(OPENBLAS_CONSTblasintN, double*X, OPENBLAS_CONSTblasintincX, double*Y, OPENBLAS_CONSTblasintincY, OPENBLAS_CONSTdouble*P);
voidcblas_srotmg(float*d1, float*d2, float*b1, OPENBLAS_CONSTfloatb2, float*P);
voidcblas_drotmg(double*d1, double*d2, double*b1, OPENBLAS_CONSTdoubleb2, double*P);
voidcblas_sscal(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dscal(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_cscal(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_zscal(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_csscal(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_zdscal(OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_sgemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSEtrans, OPENBLAS_CONSTblasintm, OPENBLAS_CONSTblasintn,
OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*a, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTfloatbeta, float*y, OPENBLAS_CONSTblasintincy);
voidcblas_dgemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSEtrans, OPENBLAS_CONSTblasintm, OPENBLAS_CONSTblasintn,
OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*a, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTdoublebeta, double*y, OPENBLAS_CONSTblasintincy);
voidcblas_cgemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSEtrans, OPENBLAS_CONSTblasintm, OPENBLAS_CONSTblasintn,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*a, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*beta, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_zgemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSEtrans, OPENBLAS_CONSTblasintm, OPENBLAS_CONSTblasintn,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*a, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTvoid*beta, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_sger (OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloat*Y, OPENBLAS_CONSTblasintincY, float*A, OPENBLAS_CONSTblasintlda);
voidcblas_dger (OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdouble*Y, OPENBLAS_CONSTblasintincY, double*A, OPENBLAS_CONSTblasintlda);
voidcblas_cgeru(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_cgerc(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_zgeru(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_zgerc(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_strsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dtrsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_ctrsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ztrsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_strmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dtrmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_ctrmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ztrmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ssyr(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, float*A, OPENBLAS_CONSTblasintlda);
voidcblas_dsyr(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, double*A, OPENBLAS_CONSTblasintlda);
voidcblas_cher(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_zher(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_ssyr2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo,OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*X,
OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloat*Y, OPENBLAS_CONSTblasintincY, float*A, OPENBLAS_CONSTblasintlda);
voidcblas_dsyr2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*X,
OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdouble*Y, OPENBLAS_CONSTblasintincY, double*A, OPENBLAS_CONSTblasintlda);
voidcblas_cher2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX,
OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_zher2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX,
OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*A, OPENBLAS_CONSTblasintlda);
voidcblas_sgbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTblasintKL, OPENBLAS_CONSTblasintKU, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloatbeta, float*Y, OPENBLAS_CONSTblasintincY);
voidcblas_dgbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTblasintKL, OPENBLAS_CONSTblasintKU, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdoublebeta, double*Y, OPENBLAS_CONSTblasintincY);
voidcblas_cgbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTblasintKL, OPENBLAS_CONSTblasintKU, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_zgbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTblasintKL, OPENBLAS_CONSTblasintKU, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_ssbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A,
OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloatbeta, float*Y, OPENBLAS_CONSTblasintincY);
voidcblas_dsbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A,
OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdoublebeta, double*Y, OPENBLAS_CONSTblasintincY);
voidcblas_stbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dtbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_ctbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ztbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_stbsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dtbsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_ctbsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ztbsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_stpmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloat*Ap, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dtpmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdouble*Ap, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_ctpmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*Ap, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ztpmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*Ap, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_stpsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloat*Ap, float*X, OPENBLAS_CONSTblasintincX);
voidcblas_dtpsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdouble*Ap, double*X, OPENBLAS_CONSTblasintincX);
voidcblas_ctpsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*Ap, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ztpsv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_DIAGDiag,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*Ap, void*X, OPENBLAS_CONSTblasintincX);
voidcblas_ssymv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A,
OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloatbeta, float*Y, OPENBLAS_CONSTblasintincY);
voidcblas_dsymv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A,
OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdoublebeta, double*Y, OPENBLAS_CONSTblasintincY);
voidcblas_chemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A,
OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_zhemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A,
OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_sspmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*Ap,
OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloatbeta, float*Y, OPENBLAS_CONSTblasintincY);
voidcblas_dspmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*Ap,
OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdoublebeta, double*Y, OPENBLAS_CONSTblasintincY);
voidcblas_sspr(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, float*Ap);
voidcblas_dspr(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, double*Ap);
voidcblas_chpr(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, void*A);
voidcblas_zhpr(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTvoid*X,OPENBLAS_CONSTblasintincX, void*A);
voidcblas_sspr2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTfloat*Y, OPENBLAS_CONSTblasintincY, float*A);
voidcblas_dspr2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTdouble*Y, OPENBLAS_CONSTblasintincY, double*A);
voidcblas_chpr2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*Ap);
voidcblas_zhpr2(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*Y, OPENBLAS_CONSTblasintincY, void*Ap);
voidcblas_chbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_zhbmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_chpmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*Ap, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_zhpmv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*Ap, OPENBLAS_CONSTvoid*X, OPENBLAS_CONSTblasintincX, OPENBLAS_CONSTvoid*beta, void*Y, OPENBLAS_CONSTblasintincY);
voidcblas_sgemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTfloatbeta, float*C, OPENBLAS_CONSTblasintldc);
voidcblas_dgemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTdoublebeta, double*C, OPENBLAS_CONSTblasintldc);
voidcblas_cgemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_cgemm3m(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zgemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zgemm3m(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_ssymm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTfloatbeta, float*C, OPENBLAS_CONSTblasintldc);
voidcblas_dsymm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTdoublebeta, double*C, OPENBLAS_CONSTblasintldc);
voidcblas_csymm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zsymm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_ssyrk(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloatbeta, float*C, OPENBLAS_CONSTblasintldc);
voidcblas_dsyrk(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdoublebeta, double*C, OPENBLAS_CONSTblasintldc);
voidcblas_csyrk(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zsyrk(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_ssyr2k(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloat*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTfloatbeta, float*C, OPENBLAS_CONSTblasintldc);
voidcblas_dsyr2k(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdouble*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTdoublebeta, double*C, OPENBLAS_CONSTblasintldc);
voidcblas_csyr2k(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zsyr2k(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans,
OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_strmm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, float*B, OPENBLAS_CONSTblasintldb);
voidcblas_dtrmm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, double*B, OPENBLAS_CONSTblasintldb);
voidcblas_ctrmm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*B, OPENBLAS_CONSTblasintldb);
voidcblas_ztrmm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*B, OPENBLAS_CONSTblasintldb);
voidcblas_strsm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*A, OPENBLAS_CONSTblasintlda, float*B, OPENBLAS_CONSTblasintldb);
voidcblas_dtrsm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*A, OPENBLAS_CONSTblasintlda, double*B, OPENBLAS_CONSTblasintldb);
voidcblas_ctrsm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*B, OPENBLAS_CONSTblasintldb);
voidcblas_ztrsm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA,
OPENBLAS_CONSTenumCBLAS_DIAGDiag, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, void*B, OPENBLAS_CONSTblasintldb);
voidcblas_chemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zhemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_SIDESide, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTvoid*beta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_cherk(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTfloatbeta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zherk(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTdoublebeta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_cher2k(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTfloatbeta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_zher2k(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_UPLOUplo, OPENBLAS_CONSTenumCBLAS_TRANSPOSETrans, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTvoid*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTdoublebeta, void*C, OPENBLAS_CONSTblasintldc);
voidcblas_xerbla(blasintp, char*rout, char*form, ...);
/*** BLAS extensions ***/
voidcblas_saxpby(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTfloat*x, OPENBLAS_CONSTblasintincx,OPENBLAS_CONSTfloatbeta, float*y, OPENBLAS_CONSTblasintincy);
voidcblas_daxpby(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdoublealpha, OPENBLAS_CONSTdouble*x, OPENBLAS_CONSTblasintincx,OPENBLAS_CONSTdoublebeta, double*y, OPENBLAS_CONSTblasintincy);
voidcblas_caxpby(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx,OPENBLAS_CONSTvoid*beta, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_zaxpby(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTvoid*alpha, OPENBLAS_CONSTvoid*x, OPENBLAS_CONSTblasintincx,OPENBLAS_CONSTvoid*beta, void*y, OPENBLAS_CONSTblasintincy);
voidcblas_somatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTfloatcalpha, OPENBLAS_CONSTfloat*a,
OPENBLAS_CONSTblasintclda, float*b, OPENBLAS_CONSTblasintcldb);
voidcblas_domatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTdoublecalpha, OPENBLAS_CONSTdouble*a,
OPENBLAS_CONSTblasintclda, double*b, OPENBLAS_CONSTblasintcldb);
voidcblas_comatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTfloat*calpha, OPENBLAS_CONSTfloat*a,
OPENBLAS_CONSTblasintclda, float*b, OPENBLAS_CONSTblasintcldb);
voidcblas_zomatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTdouble*calpha, OPENBLAS_CONSTdouble*a,
OPENBLAS_CONSTblasintclda, double*b, OPENBLAS_CONSTblasintcldb);
voidcblas_simatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTfloatcalpha, float*a,
OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTblasintcldb);
voidcblas_dimatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTdoublecalpha, double*a,
OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTblasintcldb);
voidcblas_cimatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTfloat*calpha, float*a,
OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTblasintcldb);
voidcblas_zimatcopy(OPENBLAS_CONSTenumCBLAS_ORDERCORDER, OPENBLAS_CONSTenumCBLAS_TRANSPOSECTRANS, OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTdouble*calpha, double*a,
OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTblasintcldb);
voidcblas_sgeadd(OPENBLAS_CONSTenumCBLAS_ORDERCORDER,OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTfloatcalpha, float*a, OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTfloatcbeta,
float*c, OPENBLAS_CONSTblasintcldc);
voidcblas_dgeadd(OPENBLAS_CONSTenumCBLAS_ORDERCORDER,OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTdoublecalpha, double*a, OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTdoublecbeta,
double*c, OPENBLAS_CONSTblasintcldc);
voidcblas_cgeadd(OPENBLAS_CONSTenumCBLAS_ORDERCORDER,OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTfloat*calpha, float*a, OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTfloat*cbeta,
float*c, OPENBLAS_CONSTblasintcldc);
voidcblas_zgeadd(OPENBLAS_CONSTenumCBLAS_ORDERCORDER,OPENBLAS_CONSTblasintcrows, OPENBLAS_CONSTblasintccols, OPENBLAS_CONSTdouble*calpha, double*a, OPENBLAS_CONSTblasintclda, OPENBLAS_CONSTdouble*cbeta,
double*c, OPENBLAS_CONSTblasintcldc);
/*** BFLOAT16 and INT8 extensions ***/
/* convert float array to BFLOAT16 array by rounding */
voidcblas_sbstobf16(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloat*in, OPENBLAS_CONSTblasintincin, bfloat16*out, OPENBLAS_CONSTblasintincout);
/* convert double array to BFLOAT16 array by rounding */
voidcblas_sbdtobf16(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTdouble*in, OPENBLAS_CONSTblasintincin, bfloat16*out, OPENBLAS_CONSTblasintincout);
/* convert BFLOAT16 array to float array */
voidcblas_sbf16tos(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTbfloat16*in, OPENBLAS_CONSTblasintincin, float*out, OPENBLAS_CONSTblasintincout);
/* convert BFLOAT16 array to double array */
voidcblas_dbf16tod(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTbfloat16*in, OPENBLAS_CONSTblasintincin, double*out, OPENBLAS_CONSTblasintincout);
/* dot production of BFLOAT16 input arrays, and output as float */
floatcblas_sbdot(OPENBLAS_CONSTblasintn, OPENBLAS_CONSTbfloat16*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTbfloat16*y, OPENBLAS_CONSTblasintincy);
voidcblas_sbgemv(OPENBLAS_CONSTenumCBLAS_ORDERorder, OPENBLAS_CONSTenumCBLAS_TRANSPOSEtrans, OPENBLAS_CONSTblasintm, OPENBLAS_CONSTblasintn, OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTbfloat16*a, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTbfloat16*x, OPENBLAS_CONSTblasintincx, OPENBLAS_CONSTfloatbeta, float*y, OPENBLAS_CONSTblasintincy);
voidcblas_sbgemm(OPENBLAS_CONSTenumCBLAS_ORDEROrder, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransA, OPENBLAS_CONSTenumCBLAS_TRANSPOSETransB, OPENBLAS_CONSTblasintM, OPENBLAS_CONSTblasintN, OPENBLAS_CONSTblasintK,
OPENBLAS_CONSTfloatalpha, OPENBLAS_CONSTbfloat16*A, OPENBLAS_CONSTblasintlda, OPENBLAS_CONSTbfloat16*B, OPENBLAS_CONSTblasintldb, OPENBLAS_CONSTfloatbeta, float*C, OPENBLAS_CONSTblasintldc);
#ifdef__cplusplus
}
#endif/* __cplusplus */
#endif