- Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathcommon_interface.h
791 lines (689 loc) · 47.7 KB
/
common_interface.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
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
/*********************************************************************/
/* Copyright 2009, 2010 The University of Texas at Austin. */
/* All rights reserved. */
/* */
/* Redistribution and use in source and binary forms, with or */
/* without modification, are permitted provided that the following */
/* conditions are met: */
/* */
/* 1. Redistributions of source code must retain the above */
/* copyright notice, this list of conditions and the following */
/* disclaimer. */
/* */
/* 2. Redistributions in binary form must reproduce the above */
/* copyright notice, this list of conditions and the following */
/* disclaimer in the documentation and/or other materials */
/* provided with the distribution. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
/* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
/* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */
/* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */
/* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
/* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */
/* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
/* POSSIBILITY OF SUCH DAMAGE. */
/* */
/* The views and conclusions contained in the software and */
/* documentation are those of the authors and should not be */
/* interpreted as representing official policies, either expressed */
/* or implied, of The University of Texas at Austin. */
/*********************************************************************/
#ifndefASSEMBLER
#ifdef__cplusplus
extern"C" {
/* Assume C declarations for C++ */
#endif/* __cplusplus */
intBLASFUNC(xerbla)(char*, blasint*info, blasint);
voidopenblas_set_num_threads_(int*);
FLOATRETBLASFUNC(sdot) (blasint*, float*, blasint*, float*, blasint*);
FLOATRETBLASFUNC(sdsdot)(blasint*, float*, float*, blasint*, float*, blasint*);
doubleBLASFUNC(dsdot) (blasint*, float*, blasint*, float*, blasint*);
doubleBLASFUNC(ddot) (blasint*, double*, blasint*, double*, blasint*);
xdoubleBLASFUNC(qdot) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
floatBLASFUNC(sbdot) (blasint*, bfloat16*, blasint*, bfloat16*, blasint*);
voidBLASFUNC(sbstobf16) (blasint*, float*, blasint*, bfloat16*, blasint*);
voidBLASFUNC(sbdtobf16) (blasint*, double*, blasint*, bfloat16*, blasint*);
voidBLASFUNC(sbf16tos) (blasint*, bfloat16*, blasint*, float*, blasint*);
voidBLASFUNC(dbf16tod) (blasint*, bfloat16*, blasint*, double*, blasint*);
#ifdefRETURN_BY_STRUCT
typedefstruct {
floatr, i;
} myccomplex_t;
typedefstruct {
doubler, i;
} myzcomplex_t;
typedefstruct {
xdoubler, i;
} myxcomplex_t;
myccomplex_tBLASFUNC(cdotu) (blasint*, float*, blasint*, float*, blasint*);
myccomplex_tBLASFUNC(cdotc) (blasint*, float*, blasint*, float*, blasint*);
myzcomplex_tBLASFUNC(zdotu) (blasint*, double*, blasint*, double*, blasint*);
myzcomplex_tBLASFUNC(zdotc) (blasint*, double*, blasint*, double*, blasint*);
myxcomplex_tBLASFUNC(xdotu) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
myxcomplex_tBLASFUNC(xdotc) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
#elif defined RETURN_BY_STACK
voidBLASFUNC(cdotu) (openblas_complex_float*, blasint*, float* , blasint*, float*, blasint*);
voidBLASFUNC(cdotc) (openblas_complex_float*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zdotu) (openblas_complex_double*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(zdotc) (openblas_complex_double*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xdotu) (openblas_complex_xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(xdotc) (openblas_complex_xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
#else
openblas_complex_floatBLASFUNC(cdotu) (blasint*, float*, blasint*, float*, blasint*);
openblas_complex_floatBLASFUNC(cdotc) (blasint*, float*, blasint*, float*, blasint*);
openblas_complex_doubleBLASFUNC(zdotu) (blasint*, double*, blasint*, double*, blasint*);
openblas_complex_doubleBLASFUNC(zdotc) (blasint*, double*, blasint*, double*, blasint*);
openblas_complex_xdoubleBLASFUNC(xdotu) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
openblas_complex_xdoubleBLASFUNC(xdotc) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
#endif
voidBLASFUNC(saxpy) (blasint*, float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(daxpy) (blasint*, double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qaxpy) (blasint*, xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(caxpy) (blasint*, float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zaxpy) (blasint*, double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xaxpy) (blasint*, xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(caxpyc)(blasint*, float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zaxpyc)(blasint*, double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xaxpyc)(blasint*, xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(scopy) (blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dcopy) (blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qcopy) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ccopy) (blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zcopy) (blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xcopy) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(sswap) (blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dswap) (blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qswap) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(cswap) (blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zswap) (blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xswap) (blasint*, xdouble*, blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(sasum) (blasint*, float*, blasint*);
FLOATRETBLASFUNC(scasum)(blasint*, float*, blasint*);
doubleBLASFUNC(dasum) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qasum) (blasint*, xdouble*, blasint*);
doubleBLASFUNC(dzasum)(blasint*, double*, blasint*);
xdoubleBLASFUNC(qxasum)(blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(ssum) (blasint*, float*, blasint*);
FLOATRETBLASFUNC(scsum)(blasint*, float*, blasint*);
doubleBLASFUNC(dsum) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qsum) (blasint*, xdouble*, blasint*);
doubleBLASFUNC(dzsum)(blasint*, double*, blasint*);
xdoubleBLASFUNC(qxsum)(blasint*, xdouble*, blasint*);
blasintBLASFUNC(isamax)(blasint*, float*, blasint*);
blasintBLASFUNC(idamax)(blasint*, double*, blasint*);
blasintBLASFUNC(iqamax)(blasint*, xdouble*, blasint*);
blasintBLASFUNC(icamax)(blasint*, float*, blasint*);
blasintBLASFUNC(izamax)(blasint*, double*, blasint*);
blasintBLASFUNC(ixamax)(blasint*, xdouble*, blasint*);
blasintBLASFUNC(ismax) (blasint*, float*, blasint*);
blasintBLASFUNC(idmax) (blasint*, double*, blasint*);
blasintBLASFUNC(iqmax) (blasint*, xdouble*, blasint*);
blasintBLASFUNC(icmax) (blasint*, float*, blasint*);
blasintBLASFUNC(izmax) (blasint*, double*, blasint*);
blasintBLASFUNC(ixmax) (blasint*, xdouble*, blasint*);
blasintBLASFUNC(isamin)(blasint*, float*, blasint*);
blasintBLASFUNC(idamin)(blasint*, double*, blasint*);
blasintBLASFUNC(iqamin)(blasint*, xdouble*, blasint*);
blasintBLASFUNC(icamin)(blasint*, float*, blasint*);
blasintBLASFUNC(izamin)(blasint*, double*, blasint*);
blasintBLASFUNC(ixamin)(blasint*, xdouble*, blasint*);
blasintBLASFUNC(ismin)(blasint*, float*, blasint*);
blasintBLASFUNC(idmin)(blasint*, double*, blasint*);
blasintBLASFUNC(iqmin)(blasint*, xdouble*, blasint*);
blasintBLASFUNC(icmin)(blasint*, float*, blasint*);
blasintBLASFUNC(izmin)(blasint*, double*, blasint*);
blasintBLASFUNC(ixmin)(blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(samax) (blasint*, float*, blasint*);
doubleBLASFUNC(damax) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qamax) (blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(scamax)(blasint*, float*, blasint*);
doubleBLASFUNC(dzamax)(blasint*, double*, blasint*);
xdoubleBLASFUNC(qxamax)(blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(samin) (blasint*, float*, blasint*);
doubleBLASFUNC(damin) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qamin) (blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(scamin)(blasint*, float*, blasint*);
doubleBLASFUNC(dzamin)(blasint*, double*, blasint*);
xdoubleBLASFUNC(qxamin)(blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(smax) (blasint*, float*, blasint*);
doubleBLASFUNC(dmax) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qmax) (blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(scmax) (blasint*, float*, blasint*);
doubleBLASFUNC(dzmax) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qxmax) (blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(smin) (blasint*, float*, blasint*);
doubleBLASFUNC(dmin) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qmin) (blasint*, xdouble*, blasint*);
FLOATRETBLASFUNC(scmin) (blasint*, float*, blasint*);
doubleBLASFUNC(dzmin) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qxmin) (blasint*, xdouble*, blasint*);
voidBLASFUNC(sscal) (blasint*, float*, float*, blasint*);
voidBLASFUNC(dscal) (blasint*, double*, double*, blasint*);
voidBLASFUNC(qscal) (blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cscal) (blasint*, float*, float*, blasint*);
voidBLASFUNC(zscal) (blasint*, double*, double*, blasint*);
voidBLASFUNC(xscal) (blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(csscal)(blasint*, float*, float*, blasint*);
voidBLASFUNC(zdscal)(blasint*, double*, double*, blasint*);
voidBLASFUNC(xqscal)(blasint*, xdouble*, xdouble*, blasint*);
FLOATRETBLASFUNC(snrm2) (blasint*, float*, blasint*);
FLOATRETBLASFUNC(scnrm2)(blasint*, float*, blasint*);
doubleBLASFUNC(dnrm2) (blasint*, double*, blasint*);
xdoubleBLASFUNC(qnrm2) (blasint*, xdouble*, blasint*);
doubleBLASFUNC(dznrm2)(blasint*, double*, blasint*);
xdoubleBLASFUNC(qxnrm2)(blasint*, xdouble*, blasint*);
voidBLASFUNC(srot) (blasint*, float*, blasint*, float*, blasint*, float*, float*);
voidBLASFUNC(drot) (blasint*, double*, blasint*, double*, blasint*, double*, double*);
voidBLASFUNC(qrot) (blasint*, xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*);
voidBLASFUNC(csrot) (blasint*, float*, blasint*, float*, blasint*, float*, float*);
voidBLASFUNC(zdrot) (blasint*, double*, blasint*, double*, blasint*, double*, double*);
voidBLASFUNC(xqrot) (blasint*, xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*);
voidBLASFUNC(srotg) (float*, float*, float*, float*);
voidBLASFUNC(drotg) (double*, double*, double*, double*);
voidBLASFUNC(qrotg) (xdouble*, xdouble*, xdouble*, xdouble*);
voidBLASFUNC(crotg) (float*, float*, float*, float*);
voidBLASFUNC(zrotg) (double*, double*, double*, double*);
voidBLASFUNC(xrotg) (xdouble*, xdouble*, xdouble*, xdouble*);
voidBLASFUNC(srotmg)(float*, float*, float*, float*, float*);
voidBLASFUNC(drotmg)(double*, double*, double*, double*, double*);
voidBLASFUNC(srotm) (blasint*, float*, blasint*, float*, blasint*, float*);
voidBLASFUNC(drotm) (blasint*, double*, blasint*, double*, blasint*, double*);
voidBLASFUNC(qrotm) (blasint*, xdouble*, blasint*, xdouble*, blasint*, xdouble*);
/* Level 2 routines */
voidBLASFUNC(sger)(blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, blasint*);
voidBLASFUNC(dger)(blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, blasint*);
voidBLASFUNC(qger)(blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(cgeru)(blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, blasint*);
voidBLASFUNC(cgerc)(blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, blasint*);
voidBLASFUNC(zgeru)(blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, blasint*);
voidBLASFUNC(zgerc)(blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, blasint*);
voidBLASFUNC(xgeru)(blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(xgerc)(blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(sbgemv)(char*, blasint*, blasint*, float*, bfloat16*, blasint*,
bfloat16*, blasint*, float*, float*, blasint*);
voidBLASFUNC(sgemv)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dgemv)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qgemv)(char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cgemv)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zgemv)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xgemv)(char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(strsv) (char*, char*, char*, blasint*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(dtrsv) (char*, char*, char*, blasint*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(qtrsv) (char*, char*, char*, blasint*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(ctrsv) (char*, char*, char*, blasint*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(ztrsv) (char*, char*, char*, blasint*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(xtrsv) (char*, char*, char*, blasint*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(strmv) (char*, char*, char*, blasint*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(dtrmv) (char*, char*, char*, blasint*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(qtrmv) (char*, char*, char*, blasint*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(ctrmv) (char*, char*, char*, blasint*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(ztrmv) (char*, char*, char*, blasint*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(xtrmv) (char*, char*, char*, blasint*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(stpsv) (char*, char*, char*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dtpsv) (char*, char*, char*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qtpsv) (char*, char*, char*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(ctpsv) (char*, char*, char*, blasint*, float*, float*, blasint*);
voidBLASFUNC(ztpsv) (char*, char*, char*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xtpsv) (char*, char*, char*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(stpmv) (char*, char*, char*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dtpmv) (char*, char*, char*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qtpmv) (char*, char*, char*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(ctpmv) (char*, char*, char*, blasint*, float*, float*, blasint*);
voidBLASFUNC(ztpmv) (char*, char*, char*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xtpmv) (char*, char*, char*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(stbmv) (char*, char*, char*, blasint*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dtbmv) (char*, char*, char*, blasint*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qtbmv) (char*, char*, char*, blasint*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ctbmv) (char*, char*, char*, blasint*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(ztbmv) (char*, char*, char*, blasint*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xtbmv) (char*, char*, char*, blasint*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(stbsv) (char*, char*, char*, blasint*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dtbsv) (char*, char*, char*, blasint*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qtbsv) (char*, char*, char*, blasint*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ctbsv) (char*, char*, char*, blasint*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(ztbsv) (char*, char*, char*, blasint*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xtbsv) (char*, char*, char*, blasint*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ssymv) (char*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dsymv) (char*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qsymv) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(csymv) (char*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zsymv) (char*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xsymv) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(sspmv) (char*, blasint*, float*, float*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dspmv) (char*, blasint*, double*, double*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qspmv) (char*, blasint*, xdouble*, xdouble*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cspmv) (char*, blasint*, float*, float*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zspmv) (char*, blasint*, double*, double*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xspmv) (char*, blasint*, xdouble*, xdouble*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(ssyr) (char*, blasint*, float*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(dsyr) (char*, blasint*, double*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(qsyr) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(csyr) (char*, blasint*, float*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(zsyr) (char*, blasint*, double*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(xsyr) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(ssyr2) (char*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dsyr2) (char*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qsyr2) (char*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(csyr2) (char*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zsyr2) (char*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xsyr2) (char*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(sspr) (char*, blasint*, float*, float*, blasint*,
float*);
voidBLASFUNC(dspr) (char*, blasint*, double*, double*, blasint*,
double*);
voidBLASFUNC(qspr) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*);
voidBLASFUNC(cspr) (char*, blasint*, float*, float*, blasint*,
float*);
voidBLASFUNC(zspr) (char*, blasint*, double*, double*, blasint*,
double*);
voidBLASFUNC(xspr) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*);
voidBLASFUNC(sspr2) (char*, blasint*, float*,
float*, blasint*, float*, blasint*, float*);
voidBLASFUNC(dspr2) (char*, blasint*, double*,
double*, blasint*, double*, blasint*, double*);
voidBLASFUNC(qspr2) (char*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*);
voidBLASFUNC(cspr2) (char*, blasint*, float*,
float*, blasint*, float*, blasint*, float*);
voidBLASFUNC(zspr2) (char*, blasint*, double*,
double*, blasint*, double*, blasint*, double*);
voidBLASFUNC(xspr2) (char*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*);
voidBLASFUNC(cher) (char*, blasint*, float*, float*, blasint*,
float*, blasint*);
voidBLASFUNC(zher) (char*, blasint*, double*, double*, blasint*,
double*, blasint*);
voidBLASFUNC(xher) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*);
voidBLASFUNC(chpr) (char*, blasint*, float*, float*, blasint*, float*);
voidBLASFUNC(zhpr) (char*, blasint*, double*, double*, blasint*, double*);
voidBLASFUNC(xhpr) (char*, blasint*, xdouble*, xdouble*, blasint*, xdouble*);
voidBLASFUNC(cher2) (char*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zher2) (char*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xher2) (char*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(chpr2) (char*, blasint*, float*,
float*, blasint*, float*, blasint*, float*);
voidBLASFUNC(zhpr2) (char*, blasint*, double*,
double*, blasint*, double*, blasint*, double*);
voidBLASFUNC(xhpr2) (char*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*);
voidBLASFUNC(chemv) (char*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zhemv) (char*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xhemv) (char*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(chpmv) (char*, blasint*, float*, float*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zhpmv) (char*, blasint*, double*, double*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xhpmv) (char*, blasint*, xdouble*, xdouble*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
intBLASFUNC(snorm)(char*, blasint*, blasint*, float*, blasint*);
intBLASFUNC(dnorm)(char*, blasint*, blasint*, double*, blasint*);
intBLASFUNC(cnorm)(char*, blasint*, blasint*, float*, blasint*);
intBLASFUNC(znorm)(char*, blasint*, blasint*, double*, blasint*);
voidBLASFUNC(sgbmv)(char*, blasint*, blasint*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dgbmv)(char*, blasint*, blasint*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qgbmv)(char*, blasint*, blasint*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cgbmv)(char*, blasint*, blasint*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zgbmv)(char*, blasint*, blasint*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xgbmv)(char*, blasint*, blasint*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(ssbmv)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dsbmv)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qsbmv)(char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(csbmv)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zsbmv)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xsbmv)(char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(chbmv)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zhbmv)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xhbmv)(char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
/* Level 3 routines */
voidBLASFUNC(sbgemm)(char*, char*, blasint*, blasint*, blasint*, float*,
bfloat16*, blasint*, bfloat16*, blasint*, float*, float*, blasint*);
voidBLASFUNC(sgemm)(char*, char*, blasint*, blasint*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dgemm)(char*, char*, blasint*, blasint*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qgemm)(char*, char*, blasint*, blasint*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cgemm)(char*, char*, blasint*, blasint*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zgemm)(char*, char*, blasint*, blasint*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xgemm)(char*, char*, blasint*, blasint*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cgemm3m)(char*, char*, blasint*, blasint*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zgemm3m)(char*, char*, blasint*, blasint*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xgemm3m)(char*, char*, blasint*, blasint*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*, blasint*);
intBLASFUNC(sge2mm)(char*, char*, char*, blasint*, blasint*,
float*, float*, blasint*, float*, blasint*,
float*, float*, blasint*);
intBLASFUNC(dge2mm)(char*, char*, char*, blasint*, blasint*,
double*, double*, blasint*, double*, blasint*,
double*, double*, blasint*);
intBLASFUNC(cge2mm)(char*, char*, char*, blasint*, blasint*,
float*, float*, blasint*, float*, blasint*,
float*, float*, blasint*);
intBLASFUNC(zge2mm)(char*, char*, char*, blasint*, blasint*,
double*, double*, blasint*, double*, blasint*,
double*, double*, blasint*);
voidBLASFUNC(strsm)(char*, char*, char*, char*, blasint*, blasint*,
float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dtrsm)(char*, char*, char*, char*, blasint*, blasint*,
double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qtrsm)(char*, char*, char*, char*, blasint*, blasint*,
xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ctrsm)(char*, char*, char*, char*, blasint*, blasint*,
float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(ztrsm)(char*, char*, char*, char*, blasint*, blasint*,
double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xtrsm)(char*, char*, char*, char*, blasint*, blasint*,
xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(strmm)(char*, char*, char*, char*, blasint*, blasint*,
float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(dtrmm)(char*, char*, char*, char*, blasint*, blasint*,
double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(qtrmm)(char*, char*, char*, char*, blasint*, blasint*,
xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ctrmm)(char*, char*, char*, char*, blasint*, blasint*,
float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(ztrmm)(char*, char*, char*, char*, blasint*, blasint*,
double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(xtrmm)(char*, char*, char*, char*, blasint*, blasint*,
xdouble*, xdouble*, blasint*, xdouble*, blasint*);
voidBLASFUNC(ssymm)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dsymm)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qsymm)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(csymm)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zsymm)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xsymm)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(csymm3m)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zsymm3m)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xsymm3m)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(ssyrk)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, float*, blasint*);
voidBLASFUNC(dsyrk)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, double*, blasint*);
voidBLASFUNC(qsyrk)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, xdouble*, blasint*);
voidBLASFUNC(csyrk)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, float*, blasint*);
voidBLASFUNC(zsyrk)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, double*, blasint*);
voidBLASFUNC(xsyrk)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, xdouble*, blasint*);
voidBLASFUNC(ssyr2k)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dsyr2k)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(qsyr2k)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(csyr2k)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zsyr2k)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xsyr2k)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(chemm)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zhemm)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xhemm)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(chemm3m)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zhemm3m)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xhemm3m)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
voidBLASFUNC(cherk)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, float*, blasint*);
voidBLASFUNC(zherk)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, double*, blasint*);
voidBLASFUNC(xherk)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, xdouble*, blasint*);
voidBLASFUNC(cher2k)(char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zher2k)(char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(xher2k)(char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
intBLASFUNC(cher2m)(char*, char*, char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*, float*, float*, blasint*);
intBLASFUNC(zher2m)(char*, char*, char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*, double*, double*, blasint*);
intBLASFUNC(xher2m)(char*, char*, char*, blasint*, blasint*, xdouble*, xdouble*, blasint*,
xdouble*, blasint*, xdouble*, xdouble*, blasint*);
intBLASFUNC(sgemt)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*);
intBLASFUNC(dgemt)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*);
intBLASFUNC(cgemt)(char*, blasint*, blasint*, float*, float*, blasint*,
float*, blasint*);
intBLASFUNC(zgemt)(char*, blasint*, blasint*, double*, double*, blasint*,
double*, blasint*);
intBLASFUNC(sgema)(char*, char*, blasint*, blasint*, float*,
float*, blasint*, float*, float*, blasint*, float*, blasint*);
intBLASFUNC(dgema)(char*, char*, blasint*, blasint*, double*,
double*, blasint*, double*, double*, blasint*, double*, blasint*);
intBLASFUNC(cgema)(char*, char*, blasint*, blasint*, float*,
float*, blasint*, float*, float*, blasint*, float*, blasint*);
intBLASFUNC(zgema)(char*, char*, blasint*, blasint*, double*,
double*, blasint*, double*, double*, blasint*, double*, blasint*);
intBLASFUNC(sgems)(char*, char*, blasint*, blasint*, float*,
float*, blasint*, float*, float*, blasint*, float*, blasint*);
intBLASFUNC(dgems)(char*, char*, blasint*, blasint*, double*,
double*, blasint*, double*, double*, blasint*, double*, blasint*);
intBLASFUNC(cgems)(char*, char*, blasint*, blasint*, float*,
float*, blasint*, float*, float*, blasint*, float*, blasint*);
intBLASFUNC(zgems)(char*, char*, blasint*, blasint*, double*,
double*, blasint*, double*, double*, blasint*, double*, blasint*);
intBLASFUNC(sgemc)(char*, char*, blasint*, blasint*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, blasint*, float*, float*, blasint*);
intBLASFUNC(dgemc)(char*, char*, blasint*, blasint*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, blasint*, double*, double*, blasint*);
intBLASFUNC(qgemc)(char*, char*, blasint*, blasint*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*, blasint*);
intBLASFUNC(cgemc)(char*, char*, blasint*, blasint*, blasint*, float*,
float*, blasint*, float*, blasint*, float*, blasint*, float*, float*, blasint*);
intBLASFUNC(zgemc)(char*, char*, blasint*, blasint*, blasint*, double*,
double*, blasint*, double*, blasint*, double*, blasint*, double*, double*, blasint*);
intBLASFUNC(xgemc)(char*, char*, blasint*, blasint*, blasint*, xdouble*,
xdouble*, blasint*, xdouble*, blasint*, xdouble*, blasint*, xdouble*, xdouble*, blasint*);
/* Lapack routines */
intBLASFUNC(sgetf2)(blasint*, blasint*, float*, blasint*, blasint*, blasint*);
intBLASFUNC(dgetf2)(blasint*, blasint*, double*, blasint*, blasint*, blasint*);
intBLASFUNC(qgetf2)(blasint*, blasint*, xdouble*, blasint*, blasint*, blasint*);
intBLASFUNC(cgetf2)(blasint*, blasint*, float*, blasint*, blasint*, blasint*);
intBLASFUNC(zgetf2)(blasint*, blasint*, double*, blasint*, blasint*, blasint*);
intBLASFUNC(xgetf2)(blasint*, blasint*, xdouble*, blasint*, blasint*, blasint*);
intBLASFUNC(sgetrf)(blasint*, blasint*, float*, blasint*, blasint*, blasint*);
intBLASFUNC(dgetrf)(blasint*, blasint*, double*, blasint*, blasint*, blasint*);
intBLASFUNC(qgetrf)(blasint*, blasint*, xdouble*, blasint*, blasint*, blasint*);
intBLASFUNC(cgetrf)(blasint*, blasint*, float*, blasint*, blasint*, blasint*);
intBLASFUNC(zgetrf)(blasint*, blasint*, double*, blasint*, blasint*, blasint*);
intBLASFUNC(xgetrf)(blasint*, blasint*, xdouble*, blasint*, blasint*, blasint*);
intBLASFUNC(slaswp)(blasint*, float*, blasint*, blasint*, blasint*, blasint*, blasint*);
intBLASFUNC(dlaswp)(blasint*, double*, blasint*, blasint*, blasint*, blasint*, blasint*);
intBLASFUNC(qlaswp)(blasint*, xdouble*, blasint*, blasint*, blasint*, blasint*, blasint*);
intBLASFUNC(claswp)(blasint*, float*, blasint*, blasint*, blasint*, blasint*, blasint*);
intBLASFUNC(zlaswp)(blasint*, double*, blasint*, blasint*, blasint*, blasint*, blasint*);
intBLASFUNC(xlaswp)(blasint*, xdouble*, blasint*, blasint*, blasint*, blasint*, blasint*);
intBLASFUNC(sgetrs)(char*, blasint*, blasint*, float*, blasint*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dgetrs)(char*, blasint*, blasint*, double*, blasint*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qgetrs)(char*, blasint*, blasint*, xdouble*, blasint*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(cgetrs)(char*, blasint*, blasint*, float*, blasint*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zgetrs)(char*, blasint*, blasint*, double*, blasint*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xgetrs)(char*, blasint*, blasint*, xdouble*, blasint*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(sgesv)(blasint*, blasint*, float*, blasint*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dgesv)(blasint*, blasint*, double*, blasint*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qgesv)(blasint*, blasint*, xdouble*, blasint*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(cgesv)(blasint*, blasint*, float*, blasint*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zgesv)(blasint*, blasint*, double*, blasint*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xgesv)(blasint*, blasint*, xdouble*, blasint*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(spotf2)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dpotf2)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qpotf2)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(cpotf2)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zpotf2)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xpotf2)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(spotrf)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dpotrf)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qpotrf)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(cpotrf)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zpotrf)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xpotrf)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(spotri)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dpotri)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qpotri)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(cpotri)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zpotri)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xpotri)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(spotrs)(char*, blasint*, blasint*, float*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dpotrs)(char*, blasint*, blasint*, double*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qpotrs)(char*, blasint*, blasint*, xdouble*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(cpotrs)(char*, blasint*, blasint*, float*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zpotrs)(char*, blasint*, blasint*, double*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xpotrs)(char*, blasint*, blasint*, xdouble*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(slauu2)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dlauu2)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qlauu2)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(clauu2)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zlauu2)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xlauu2)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(slauum)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dlauum)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qlauum)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(clauum)(char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(zlauum)(char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xlauum)(char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(strti2)(char*, char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dtrti2)(char*, char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qtrti2)(char*, char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(ctrti2)(char*, char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(ztrti2)(char*, char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xtrti2)(char*, char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(strtri)(char*, char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(dtrtri)(char*, char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(qtrtri)(char*, char*, blasint*, xdouble*, blasint*, blasint*);
intBLASFUNC(ctrtri)(char*, char*, blasint*, float*, blasint*, blasint*);
intBLASFUNC(ztrtri)(char*, char*, blasint*, double*, blasint*, blasint*);
intBLASFUNC(xtrtri)(char*, char*, blasint*, xdouble*, blasint*, blasint*);
FLOATRETBLASFUNC(slamch)(char*);
doubleBLASFUNC(dlamch)(char*);
xdoubleBLASFUNC(qlamch)(char*);
FLOATRETBLASFUNC(slamc3)(float*, float*);
doubleBLASFUNC(dlamc3)(double*, double*);
xdoubleBLASFUNC(qlamc3)(xdouble*, xdouble*);
/* BLAS extensions */
voidBLASFUNC(saxpby) (blasint*, float*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(daxpby) (blasint*, double*, double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(caxpby) (blasint*, float*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zaxpby) (blasint*, double*, double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(somatcopy) (char*, char*, blasint*, blasint*, float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(domatcopy) (char*, char*, blasint*, blasint*, double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(comatcopy) (char*, char*, blasint*, blasint*, float*, float*, blasint*, float*, blasint*);
voidBLASFUNC(zomatcopy) (char*, char*, blasint*, blasint*, double*, double*, blasint*, double*, blasint*);
voidBLASFUNC(simatcopy) (char*, char*, blasint*, blasint*, float*, float*, blasint*, blasint*);
voidBLASFUNC(dimatcopy) (char*, char*, blasint*, blasint*, double*, double*, blasint*, blasint*);
voidBLASFUNC(cimatcopy) (char*, char*, blasint*, blasint*, float*, float*, blasint*, blasint*);
voidBLASFUNC(zimatcopy) (char*, char*, blasint*, blasint*, double*, double*, blasint*, blasint*);
voidBLASFUNC(sgeadd) (blasint*, blasint*, float*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(dgeadd) (blasint*, blasint*, double*, double*, blasint*, double*, double*, blasint*);
voidBLASFUNC(cgeadd) (blasint*, blasint*, float*, float*, blasint*, float*, float*, blasint*);
voidBLASFUNC(zgeadd) (blasint*, blasint*, double*, double*, blasint*, double*, double*, blasint*);
#ifdef__cplusplus
}
#endif/* __cplusplus */
#endif