blas_array2/ffi/
blas.rs

1#![allow(non_camel_case_types)]
2
3use core::ffi::c_char;
4use num_complex::*;
5
6#[cfg(not(feature = "ilp64"))]
7pub type blas_int = i32;
8#[cfg(feature = "ilp64")]
9pub type blas_int = i64;
10
11pub type c32 = Complex<f32>;
12pub type c64 = Complex<f64>;
13
14/* automatically generated by rust-bindgen 0.69.4 */
15
16extern "C" {
17    pub fn dcabs1_(z: *const c64) -> f64;
18}
19extern "C" {
20    pub fn scabs1_(c: *const c32) -> f32;
21}
22extern "C" {
23    pub fn dasum_(n: *const blas_int, x: *const f64, incx: *const blas_int) -> f64;
24}
25extern "C" {
26    pub fn dzasum_(n: *const blas_int, x: *const c64, incx: *const blas_int) -> f64;
27}
28extern "C" {
29    pub fn sasum_(n: *const blas_int, x: *const f32, incx: *const blas_int) -> f32;
30}
31extern "C" {
32    pub fn scasum_(n: *const blas_int, x: *const c32, incx: *const blas_int) -> f32;
33}
34extern "C" {
35    pub fn caxpy_(
36        n: *const blas_int,
37        alpha: *const c32,
38        x: *const c32,
39        incx: *const blas_int,
40        y: *mut c32,
41        incy: *const blas_int,
42    );
43}
44extern "C" {
45    pub fn daxpy_(
46        n: *const blas_int,
47        alpha: *const f64,
48        x: *const f64,
49        incx: *const blas_int,
50        y: *mut f64,
51        incy: *const blas_int,
52    );
53}
54extern "C" {
55    pub fn saxpy_(
56        n: *const blas_int,
57        alpha: *const f32,
58        x: *const f32,
59        incx: *const blas_int,
60        y: *mut f32,
61        incy: *const blas_int,
62    );
63}
64extern "C" {
65    pub fn zaxpy_(
66        n: *const blas_int,
67        alpha: *const c64,
68        x: *const c64,
69        incx: *const blas_int,
70        y: *mut c64,
71        incy: *const blas_int,
72    );
73}
74extern "C" {
75    pub fn ccopy_(
76        n: *const blas_int,
77        x: *const c32,
78        incx: *const blas_int,
79        y: *mut c32,
80        incy: *const blas_int,
81    );
82}
83extern "C" {
84    pub fn dcopy_(
85        n: *const blas_int,
86        x: *const f64,
87        incx: *const blas_int,
88        y: *mut f64,
89        incy: *const blas_int,
90    );
91}
92extern "C" {
93    pub fn scopy_(
94        n: *const blas_int,
95        x: *const f32,
96        incx: *const blas_int,
97        y: *mut f32,
98        incy: *const blas_int,
99    );
100}
101extern "C" {
102    pub fn zcopy_(
103        n: *const blas_int,
104        x: *const c64,
105        incx: *const blas_int,
106        y: *mut c64,
107        incy: *const blas_int,
108    );
109}
110extern "C" {
111    pub fn cdotc_(
112        pres: *mut c32,
113        n: *const blas_int,
114        x: *const c32,
115        incx: *const blas_int,
116        y: *const c32,
117        incy: *const blas_int,
118    );
119}
120extern "C" {
121    pub fn cdotu_(
122        pres: *mut c32,
123        n: *const blas_int,
124        x: *const c32,
125        incx: *const blas_int,
126        y: *const c32,
127        incy: *const blas_int,
128    );
129}
130extern "C" {
131    pub fn ddot_(
132        n: *const blas_int,
133        x: *const f64,
134        incx: *const blas_int,
135        y: *const f64,
136        incy: *const blas_int,
137    ) -> f64;
138}
139extern "C" {
140    pub fn dsdot_(
141        n: *const blas_int,
142        x: *const f32,
143        incx: *const blas_int,
144        y: *const f32,
145        incy: *const blas_int,
146    ) -> f64;
147}
148extern "C" {
149    pub fn sdot_(
150        n: *const blas_int,
151        x: *const f32,
152        incx: *const blas_int,
153        y: *const f32,
154        incy: *const blas_int,
155    ) -> f32;
156}
157extern "C" {
158    pub fn sdsdot_(
159        n: *const blas_int,
160        sb: *const f32,
161        x: *const f32,
162        incx: *const blas_int,
163        y: *const f32,
164        incy: *const blas_int,
165    ) -> f32;
166}
167extern "C" {
168    pub fn zdotc_(
169        pres: *mut c64,
170        n: *const blas_int,
171        x: *const c64,
172        incx: *const blas_int,
173        y: *const c64,
174        incy: *const blas_int,
175    );
176}
177extern "C" {
178    pub fn zdotu_(
179        pres: *mut c64,
180        n: *const blas_int,
181        x: *const c64,
182        incx: *const blas_int,
183        y: *const c64,
184        incy: *const blas_int,
185    );
186}
187extern "C" {
188    pub fn icamax_(n: *const blas_int, x: *const c32, incx: *const blas_int) -> blas_int;
189}
190extern "C" {
191    pub fn idamax_(n: *const blas_int, x: *const f64, incx: *const blas_int) -> blas_int;
192}
193extern "C" {
194    pub fn isamax_(n: *const blas_int, x: *const f32, incx: *const blas_int) -> blas_int;
195}
196extern "C" {
197    pub fn izamax_(n: *const blas_int, x: *const c64, incx: *const blas_int) -> blas_int;
198}
199extern "C" {
200    pub fn dnrm2_(n: *const blas_int, x: *const f64, incx: *const blas_int) -> f64;
201}
202extern "C" {
203    pub fn dznrm2_(n: *const blas_int, x: *const c64, incx: *const blas_int) -> f64;
204}
205extern "C" {
206    pub fn snrm2_(n: *const blas_int, x: *const f32, incx: *const blas_int) -> f32;
207}
208extern "C" {
209    pub fn scnrm2_(n: *const blas_int, x: *const c32, incx: *const blas_int) -> f32;
210}
211extern "C" {
212    pub fn cscal_(n: *const blas_int, a: *const c32, x: *mut c32, incx: *const blas_int);
213}
214extern "C" {
215    pub fn csscal_(n: *const blas_int, a: *const f32, x: *mut c32, incx: *const blas_int);
216}
217extern "C" {
218    pub fn dscal_(n: *const blas_int, a: *const f64, x: *mut f64, incx: *const blas_int);
219}
220extern "C" {
221    pub fn sscal_(n: *const blas_int, a: *const f32, x: *mut f32, incx: *const blas_int);
222}
223extern "C" {
224    pub fn zdscal_(n: *const blas_int, a: *const f64, x: *mut c64, incx: *const blas_int);
225}
226extern "C" {
227    pub fn zscal_(n: *const blas_int, a: *const c64, x: *mut c64, incx: *const blas_int);
228}
229extern "C" {
230    pub fn cswap_(n: *const blas_int, x: *mut c32, incx: *const blas_int, y: *mut c32, incy: *const blas_int);
231}
232extern "C" {
233    pub fn dswap_(n: *const blas_int, x: *mut f64, incx: *const blas_int, y: *mut f64, incy: *const blas_int);
234}
235extern "C" {
236    pub fn sswap_(n: *const blas_int, x: *mut f32, incx: *const blas_int, y: *mut f32, incy: *const blas_int);
237}
238extern "C" {
239    pub fn zswap_(n: *const blas_int, x: *mut c64, incx: *const blas_int, y: *mut c64, incy: *const blas_int);
240}
241extern "C" {
242    pub fn csrot_(
243        n: *const blas_int,
244        x: *mut c32,
245        incx: *const blas_int,
246        y: *mut c32,
247        incy: *const blas_int,
248        c: *const f32,
249        s: *const f32,
250    );
251}
252extern "C" {
253    pub fn drot_(
254        n: *const blas_int,
255        x: *mut f64,
256        incx: *const blas_int,
257        y: *mut f64,
258        incy: *const blas_int,
259        c: *const f64,
260        s: *const f64,
261    );
262}
263extern "C" {
264    pub fn srot_(
265        n: *const blas_int,
266        x: *mut f32,
267        incx: *const blas_int,
268        y: *mut f32,
269        incy: *const blas_int,
270        c: *const f32,
271        s: *const f32,
272    );
273}
274extern "C" {
275    pub fn zdrot_(
276        n: *const blas_int,
277        x: *mut c64,
278        incx: *const blas_int,
279        y: *mut c64,
280        incy: *const blas_int,
281        c: *const f64,
282        s: *const f64,
283    );
284}
285extern "C" {
286    pub fn crotg_(a: *mut c32, b: *const c32, c: *mut f32, s: *mut c32);
287}
288extern "C" {
289    pub fn drotg_(a: *mut f64, b: *mut f64, c: *mut f64, s: *mut f64);
290}
291extern "C" {
292    pub fn srotg_(a: *mut f32, b: *mut f32, c: *mut f32, s: *mut f32);
293}
294extern "C" {
295    pub fn zrotg_(a: *mut c64, b: *const c64, c: *mut f64, s: *mut c64);
296}
297extern "C" {
298    pub fn drotm_(
299        n: *const blas_int,
300        x: *mut f64,
301        incx: *const blas_int,
302        y: *mut f64,
303        incy: *const blas_int,
304        param: *const f64,
305    );
306}
307extern "C" {
308    pub fn srotm_(
309        n: *const blas_int,
310        x: *mut f32,
311        incx: *const blas_int,
312        y: *mut f32,
313        incy: *const blas_int,
314        param: *const f32,
315    );
316}
317extern "C" {
318    pub fn drotmg_(d1: *mut f64, d2: *mut f64, x1: *mut f64, y1: *const f64, param: *mut f64);
319}
320extern "C" {
321    pub fn srotmg_(d1: *mut f32, d2: *mut f32, x1: *mut f32, y1: *const f32, param: *mut f32);
322}
323extern "C" {
324    pub fn cgemv_(
325        trans: *const c_char,
326        m: *const blas_int,
327        n: *const blas_int,
328        alpha: *const c32,
329        a: *const c32,
330        lda: *const blas_int,
331        x: *const c32,
332        incx: *const blas_int,
333        beta: *const c32,
334        y: *mut c32,
335        incy: *const blas_int,
336    );
337}
338extern "C" {
339    pub fn dgemv_(
340        trans: *const c_char,
341        m: *const blas_int,
342        n: *const blas_int,
343        alpha: *const f64,
344        a: *const f64,
345        lda: *const blas_int,
346        x: *const f64,
347        incx: *const blas_int,
348        beta: *const f64,
349        y: *mut f64,
350        incy: *const blas_int,
351    );
352}
353extern "C" {
354    pub fn sgemv_(
355        trans: *const c_char,
356        m: *const blas_int,
357        n: *const blas_int,
358        alpha: *const f32,
359        a: *const f32,
360        lda: *const blas_int,
361        x: *const f32,
362        incx: *const blas_int,
363        beta: *const f32,
364        y: *mut f32,
365        incy: *const blas_int,
366    );
367}
368extern "C" {
369    pub fn zgemv_(
370        trans: *const c_char,
371        m: *const blas_int,
372        n: *const blas_int,
373        alpha: *const c64,
374        a: *const c64,
375        lda: *const blas_int,
376        x: *const c64,
377        incx: *const blas_int,
378        beta: *const c64,
379        y: *mut c64,
380        incy: *const blas_int,
381    );
382}
383extern "C" {
384    pub fn cgerc_(
385        m: *const blas_int,
386        n: *const blas_int,
387        alpha: *const c32,
388        x: *const c32,
389        incx: *const blas_int,
390        y: *const c32,
391        incy: *const blas_int,
392        a: *mut c32,
393        lda: *const blas_int,
394    );
395}
396extern "C" {
397    pub fn cgeru_(
398        m: *const blas_int,
399        n: *const blas_int,
400        alpha: *const c32,
401        x: *const c32,
402        incx: *const blas_int,
403        y: *const c32,
404        incy: *const blas_int,
405        a: *mut c32,
406        lda: *const blas_int,
407    );
408}
409extern "C" {
410    pub fn dger_(
411        m: *const blas_int,
412        n: *const blas_int,
413        alpha: *const f64,
414        x: *const f64,
415        incx: *const blas_int,
416        y: *const f64,
417        incy: *const blas_int,
418        a: *mut f64,
419        lda: *const blas_int,
420    );
421}
422extern "C" {
423    pub fn sger_(
424        m: *const blas_int,
425        n: *const blas_int,
426        alpha: *const f32,
427        x: *const f32,
428        incx: *const blas_int,
429        y: *const f32,
430        incy: *const blas_int,
431        a: *mut f32,
432        lda: *const blas_int,
433    );
434}
435extern "C" {
436    pub fn zgerc_(
437        m: *const blas_int,
438        n: *const blas_int,
439        alpha: *const c64,
440        x: *const c64,
441        incx: *const blas_int,
442        y: *const c64,
443        incy: *const blas_int,
444        a: *mut c64,
445        lda: *const blas_int,
446    );
447}
448extern "C" {
449    pub fn zgeru_(
450        m: *const blas_int,
451        n: *const blas_int,
452        alpha: *const c64,
453        x: *const c64,
454        incx: *const blas_int,
455        y: *const c64,
456        incy: *const blas_int,
457        a: *mut c64,
458        lda: *const blas_int,
459    );
460}
461extern "C" {
462    pub fn chemv_(
463        uplo: *const c_char,
464        n: *const blas_int,
465        alpha: *const c32,
466        a: *const c32,
467        lda: *const blas_int,
468        x: *const c32,
469        incx: *const blas_int,
470        beta: *const c32,
471        y: *mut c32,
472        incy: *const blas_int,
473    );
474}
475extern "C" {
476    pub fn dsymv_(
477        uplo: *const c_char,
478        n: *const blas_int,
479        alpha: *const f64,
480        a: *const f64,
481        lda: *const blas_int,
482        x: *const f64,
483        incx: *const blas_int,
484        beta: *const f64,
485        y: *mut f64,
486        incy: *const blas_int,
487    );
488}
489extern "C" {
490    pub fn ssymv_(
491        uplo: *const c_char,
492        n: *const blas_int,
493        alpha: *const f32,
494        a: *const f32,
495        lda: *const blas_int,
496        x: *const f32,
497        incx: *const blas_int,
498        beta: *const f32,
499        y: *mut f32,
500        incy: *const blas_int,
501    );
502}
503extern "C" {
504    pub fn zhemv_(
505        uplo: *const c_char,
506        n: *const blas_int,
507        alpha: *const c64,
508        a: *const c64,
509        lda: *const blas_int,
510        x: *const c64,
511        incx: *const blas_int,
512        beta: *const c64,
513        y: *mut c64,
514        incy: *const blas_int,
515    );
516}
517extern "C" {
518    pub fn cher_(
519        uplo: *const c_char,
520        n: *const blas_int,
521        alpha: *const f32,
522        x: *const c32,
523        incx: *const blas_int,
524        a: *mut c32,
525        lda: *const blas_int,
526    );
527}
528extern "C" {
529    pub fn dsyr_(
530        uplo: *const c_char,
531        n: *const blas_int,
532        alpha: *const f64,
533        x: *const f64,
534        incx: *const blas_int,
535        a: *mut f64,
536        lda: *const blas_int,
537    );
538}
539extern "C" {
540    pub fn ssyr_(
541        uplo: *const c_char,
542        n: *const blas_int,
543        alpha: *const f32,
544        x: *const f32,
545        incx: *const blas_int,
546        a: *mut f32,
547        lda: *const blas_int,
548    );
549}
550extern "C" {
551    pub fn zher_(
552        uplo: *const c_char,
553        n: *const blas_int,
554        alpha: *const f64,
555        x: *const c64,
556        incx: *const blas_int,
557        a: *mut c64,
558        lda: *const blas_int,
559    );
560}
561extern "C" {
562    pub fn cher2_(
563        uplo: *const c_char,
564        n: *const blas_int,
565        alpha: *const c32,
566        x: *const c32,
567        incx: *const blas_int,
568        y: *const c32,
569        incy: *const blas_int,
570        a: *mut c32,
571        lda: *const blas_int,
572    );
573}
574extern "C" {
575    pub fn dsyr2_(
576        uplo: *const c_char,
577        n: *const blas_int,
578        alpha: *const f64,
579        x: *const f64,
580        incx: *const blas_int,
581        y: *const f64,
582        incy: *const blas_int,
583        a: *mut f64,
584        lda: *const blas_int,
585    );
586}
587extern "C" {
588    pub fn ssyr2_(
589        uplo: *const c_char,
590        n: *const blas_int,
591        alpha: *const f32,
592        x: *const f32,
593        incx: *const blas_int,
594        y: *const f32,
595        incy: *const blas_int,
596        a: *mut f32,
597        lda: *const blas_int,
598    );
599}
600extern "C" {
601    pub fn zher2_(
602        uplo: *const c_char,
603        n: *const blas_int,
604        alpha: *const c64,
605        x: *const c64,
606        incx: *const blas_int,
607        y: *const c64,
608        incy: *const blas_int,
609        a: *mut c64,
610        lda: *const blas_int,
611    );
612}
613extern "C" {
614    pub fn ctrmv_(
615        uplo: *const c_char,
616        transa: *const c_char,
617        diag: *const c_char,
618        n: *const blas_int,
619        a: *const c32,
620        lda: *const blas_int,
621        b: *mut c32,
622        incx: *const blas_int,
623    );
624}
625extern "C" {
626    pub fn dtrmv_(
627        uplo: *const c_char,
628        transa: *const c_char,
629        diag: *const c_char,
630        n: *const blas_int,
631        a: *const f64,
632        lda: *const blas_int,
633        b: *mut f64,
634        incx: *const blas_int,
635    );
636}
637extern "C" {
638    pub fn strmv_(
639        uplo: *const c_char,
640        transa: *const c_char,
641        diag: *const c_char,
642        n: *const blas_int,
643        a: *const f32,
644        lda: *const blas_int,
645        b: *mut f32,
646        incx: *const blas_int,
647    );
648}
649extern "C" {
650    pub fn ztrmv_(
651        uplo: *const c_char,
652        transa: *const c_char,
653        diag: *const c_char,
654        n: *const blas_int,
655        a: *const c64,
656        lda: *const blas_int,
657        b: *mut c64,
658        incx: *const blas_int,
659    );
660}
661extern "C" {
662    pub fn ctrsv_(
663        uplo: *const c_char,
664        transa: *const c_char,
665        diag: *const c_char,
666        n: *const blas_int,
667        a: *const c32,
668        lda: *const blas_int,
669        b: *mut c32,
670        incx: *const blas_int,
671    );
672}
673extern "C" {
674    pub fn dtrsv_(
675        uplo: *const c_char,
676        transa: *const c_char,
677        diag: *const c_char,
678        n: *const blas_int,
679        a: *const f64,
680        lda: *const blas_int,
681        b: *mut f64,
682        incx: *const blas_int,
683    );
684}
685extern "C" {
686    pub fn strsv_(
687        uplo: *const c_char,
688        transa: *const c_char,
689        diag: *const c_char,
690        n: *const blas_int,
691        a: *const f32,
692        lda: *const blas_int,
693        b: *mut f32,
694        incx: *const blas_int,
695    );
696}
697extern "C" {
698    pub fn ztrsv_(
699        uplo: *const c_char,
700        transa: *const c_char,
701        diag: *const c_char,
702        n: *const blas_int,
703        a: *const c64,
704        lda: *const blas_int,
705        b: *mut c64,
706        incx: *const blas_int,
707    );
708}
709extern "C" {
710    pub fn chpmv_(
711        uplo: *const c_char,
712        n: *const blas_int,
713        alpha: *const c32,
714        ap: *const c32,
715        x: *const c32,
716        incx: *const blas_int,
717        beta: *const c32,
718        y: *mut c32,
719        incy: *const blas_int,
720    );
721}
722extern "C" {
723    pub fn dspmv_(
724        uplo: *const c_char,
725        n: *const blas_int,
726        alpha: *const f64,
727        ap: *const f64,
728        x: *const f64,
729        incx: *const blas_int,
730        beta: *const f64,
731        y: *mut f64,
732        incy: *const blas_int,
733    );
734}
735extern "C" {
736    pub fn sspmv_(
737        uplo: *const c_char,
738        n: *const blas_int,
739        alpha: *const f32,
740        ap: *const f32,
741        x: *const f32,
742        incx: *const blas_int,
743        beta: *const f32,
744        y: *mut f32,
745        incy: *const blas_int,
746    );
747}
748extern "C" {
749    pub fn zhpmv_(
750        uplo: *const c_char,
751        n: *const blas_int,
752        alpha: *const c64,
753        ap: *const c64,
754        x: *const c64,
755        incx: *const blas_int,
756        beta: *const c64,
757        y: *mut c64,
758        incy: *const blas_int,
759    );
760}
761extern "C" {
762    pub fn chpr_(
763        uplo: *const c_char,
764        n: *const blas_int,
765        alpha: *const f32,
766        x: *const c32,
767        incx: *const blas_int,
768        ap: *mut c32,
769    );
770}
771extern "C" {
772    pub fn dspr_(
773        uplo: *const c_char,
774        n: *const blas_int,
775        alpha: *const f64,
776        x: *const f64,
777        incx: *const blas_int,
778        ap: *mut f64,
779    );
780}
781extern "C" {
782    pub fn sspr_(
783        uplo: *const c_char,
784        n: *const blas_int,
785        alpha: *const f32,
786        x: *const f32,
787        incx: *const blas_int,
788        ap: *mut f32,
789    );
790}
791extern "C" {
792    pub fn zhpr_(
793        uplo: *const c_char,
794        n: *const blas_int,
795        alpha: *const f64,
796        x: *const c64,
797        incx: *const blas_int,
798        ap: *mut c64,
799    );
800}
801extern "C" {
802    pub fn chpr2_(
803        uplo: *const c_char,
804        n: *const blas_int,
805        alpha: *const c32,
806        x: *const c32,
807        incx: *const blas_int,
808        y: *const c32,
809        incy: *const blas_int,
810        ap: *mut c32,
811    );
812}
813extern "C" {
814    pub fn dspr2_(
815        uplo: *const c_char,
816        n: *const blas_int,
817        alpha: *const f64,
818        x: *const f64,
819        incx: *const blas_int,
820        y: *const f64,
821        incy: *const blas_int,
822        ap: *mut f64,
823    );
824}
825extern "C" {
826    pub fn sspr2_(
827        uplo: *const c_char,
828        n: *const blas_int,
829        alpha: *const f32,
830        x: *const f32,
831        incx: *const blas_int,
832        y: *const f32,
833        incy: *const blas_int,
834        ap: *mut f32,
835    );
836}
837extern "C" {
838    pub fn zhpr2_(
839        uplo: *const c_char,
840        n: *const blas_int,
841        alpha: *const c64,
842        x: *const c64,
843        incx: *const blas_int,
844        y: *const c64,
845        incy: *const blas_int,
846        ap: *mut c64,
847    );
848}
849extern "C" {
850    pub fn ctpmv_(
851        uplo: *const c_char,
852        trans: *const c_char,
853        diag: *const c_char,
854        n: *const blas_int,
855        ap: *const c32,
856        x: *mut c32,
857        incx: *const blas_int,
858    );
859}
860extern "C" {
861    pub fn dtpmv_(
862        uplo: *const c_char,
863        trans: *const c_char,
864        diag: *const c_char,
865        n: *const blas_int,
866        ap: *const f64,
867        x: *mut f64,
868        incx: *const blas_int,
869    );
870}
871extern "C" {
872    pub fn stpmv_(
873        uplo: *const c_char,
874        trans: *const c_char,
875        diag: *const c_char,
876        n: *const blas_int,
877        ap: *const f32,
878        x: *mut f32,
879        incx: *const blas_int,
880    );
881}
882extern "C" {
883    pub fn ztpmv_(
884        uplo: *const c_char,
885        trans: *const c_char,
886        diag: *const c_char,
887        n: *const blas_int,
888        ap: *const c64,
889        x: *mut c64,
890        incx: *const blas_int,
891    );
892}
893extern "C" {
894    pub fn ctpsv_(
895        uplo: *const c_char,
896        trans: *const c_char,
897        diag: *const c_char,
898        n: *const blas_int,
899        ap: *const c32,
900        x: *mut c32,
901        incx: *const blas_int,
902    );
903}
904extern "C" {
905    pub fn dtpsv_(
906        uplo: *const c_char,
907        trans: *const c_char,
908        diag: *const c_char,
909        n: *const blas_int,
910        ap: *const f64,
911        x: *mut f64,
912        incx: *const blas_int,
913    );
914}
915extern "C" {
916    pub fn stpsv_(
917        uplo: *const c_char,
918        trans: *const c_char,
919        diag: *const c_char,
920        n: *const blas_int,
921        ap: *const f32,
922        x: *mut f32,
923        incx: *const blas_int,
924    );
925}
926extern "C" {
927    pub fn ztpsv_(
928        uplo: *const c_char,
929        trans: *const c_char,
930        diag: *const c_char,
931        n: *const blas_int,
932        ap: *const c64,
933        x: *mut c64,
934        incx: *const blas_int,
935    );
936}
937extern "C" {
938    pub fn cgbmv_(
939        trans: *const c_char,
940        m: *const blas_int,
941        n: *const blas_int,
942        kl: *const blas_int,
943        ku: *const blas_int,
944        alpha: *const c32,
945        a: *const c32,
946        lda: *const blas_int,
947        x: *const c32,
948        incx: *const blas_int,
949        beta: *const c32,
950        y: *mut c32,
951        incy: *const blas_int,
952    );
953}
954extern "C" {
955    pub fn dgbmv_(
956        trans: *const c_char,
957        m: *const blas_int,
958        n: *const blas_int,
959        kl: *const blas_int,
960        ku: *const blas_int,
961        alpha: *const f64,
962        a: *const f64,
963        lda: *const blas_int,
964        x: *const f64,
965        incx: *const blas_int,
966        beta: *const f64,
967        y: *mut f64,
968        incy: *const blas_int,
969    );
970}
971extern "C" {
972    pub fn sgbmv_(
973        trans: *const c_char,
974        m: *const blas_int,
975        n: *const blas_int,
976        kl: *const blas_int,
977        ku: *const blas_int,
978        alpha: *const f32,
979        a: *const f32,
980        lda: *const blas_int,
981        x: *const f32,
982        incx: *const blas_int,
983        beta: *const f32,
984        y: *mut f32,
985        incy: *const blas_int,
986    );
987}
988extern "C" {
989    pub fn zgbmv_(
990        trans: *const c_char,
991        m: *const blas_int,
992        n: *const blas_int,
993        kl: *const blas_int,
994        ku: *const blas_int,
995        alpha: *const c64,
996        a: *const c64,
997        lda: *const blas_int,
998        x: *const c64,
999        incx: *const blas_int,
1000        beta: *const c64,
1001        y: *mut c64,
1002        incy: *const blas_int,
1003    );
1004}
1005extern "C" {
1006    pub fn chbmv_(
1007        uplo: *const c_char,
1008        n: *const blas_int,
1009        k: *const blas_int,
1010        alpha: *const c32,
1011        a: *const c32,
1012        lda: *const blas_int,
1013        x: *const c32,
1014        incx: *const blas_int,
1015        beta: *const c32,
1016        y: *mut c32,
1017        incy: *const blas_int,
1018    );
1019}
1020extern "C" {
1021    pub fn dsbmv_(
1022        uplo: *const c_char,
1023        n: *const blas_int,
1024        k: *const blas_int,
1025        alpha: *const f64,
1026        a: *const f64,
1027        lda: *const blas_int,
1028        x: *const f64,
1029        incx: *const blas_int,
1030        beta: *const f64,
1031        y: *mut f64,
1032        incy: *const blas_int,
1033    );
1034}
1035extern "C" {
1036    pub fn ssbmv_(
1037        uplo: *const c_char,
1038        n: *const blas_int,
1039        k: *const blas_int,
1040        alpha: *const f32,
1041        a: *const f32,
1042        lda: *const blas_int,
1043        x: *const f32,
1044        incx: *const blas_int,
1045        beta: *const f32,
1046        y: *mut f32,
1047        incy: *const blas_int,
1048    );
1049}
1050extern "C" {
1051    pub fn zhbmv_(
1052        uplo: *const c_char,
1053        n: *const blas_int,
1054        k: *const blas_int,
1055        alpha: *const c64,
1056        a: *const c64,
1057        lda: *const blas_int,
1058        x: *const c64,
1059        incx: *const blas_int,
1060        beta: *const c64,
1061        y: *mut c64,
1062        incy: *const blas_int,
1063    );
1064}
1065extern "C" {
1066    pub fn ctbmv_(
1067        uplo: *const c_char,
1068        trans: *const c_char,
1069        diag: *const c_char,
1070        n: *const blas_int,
1071        k: *const blas_int,
1072        a: *const c32,
1073        lda: *const blas_int,
1074        x: *mut c32,
1075        incx: *const blas_int,
1076    );
1077}
1078extern "C" {
1079    pub fn dtbmv_(
1080        uplo: *const c_char,
1081        trans: *const c_char,
1082        diag: *const c_char,
1083        n: *const blas_int,
1084        k: *const blas_int,
1085        a: *const f64,
1086        lda: *const blas_int,
1087        x: *mut f64,
1088        incx: *const blas_int,
1089    );
1090}
1091extern "C" {
1092    pub fn stbmv_(
1093        uplo: *const c_char,
1094        trans: *const c_char,
1095        diag: *const c_char,
1096        n: *const blas_int,
1097        k: *const blas_int,
1098        a: *const f32,
1099        lda: *const blas_int,
1100        x: *mut f32,
1101        incx: *const blas_int,
1102    );
1103}
1104extern "C" {
1105    pub fn ztbmv_(
1106        uplo: *const c_char,
1107        trans: *const c_char,
1108        diag: *const c_char,
1109        n: *const blas_int,
1110        k: *const blas_int,
1111        a: *const c64,
1112        lda: *const blas_int,
1113        x: *mut c64,
1114        incx: *const blas_int,
1115    );
1116}
1117extern "C" {
1118    pub fn ctbsv_(
1119        uplo: *const c_char,
1120        trans: *const c_char,
1121        diag: *const c_char,
1122        n: *const blas_int,
1123        k: *const blas_int,
1124        a: *const c32,
1125        lda: *const blas_int,
1126        x: *mut c32,
1127        incx: *const blas_int,
1128    );
1129}
1130extern "C" {
1131    pub fn dtbsv_(
1132        uplo: *const c_char,
1133        trans: *const c_char,
1134        diag: *const c_char,
1135        n: *const blas_int,
1136        k: *const blas_int,
1137        a: *const f64,
1138        lda: *const blas_int,
1139        x: *mut f64,
1140        incx: *const blas_int,
1141    );
1142}
1143extern "C" {
1144    pub fn stbsv_(
1145        uplo: *const c_char,
1146        trans: *const c_char,
1147        diag: *const c_char,
1148        n: *const blas_int,
1149        k: *const blas_int,
1150        a: *const f32,
1151        lda: *const blas_int,
1152        x: *mut f32,
1153        incx: *const blas_int,
1154    );
1155}
1156extern "C" {
1157    pub fn ztbsv_(
1158        uplo: *const c_char,
1159        trans: *const c_char,
1160        diag: *const c_char,
1161        n: *const blas_int,
1162        k: *const blas_int,
1163        a: *const c64,
1164        lda: *const blas_int,
1165        x: *mut c64,
1166        incx: *const blas_int,
1167    );
1168}
1169extern "C" {
1170    pub fn cgemm_(
1171        transa: *const c_char,
1172        transb: *const c_char,
1173        m: *const blas_int,
1174        n: *const blas_int,
1175        k: *const blas_int,
1176        alpha: *const c32,
1177        a: *const c32,
1178        lda: *const blas_int,
1179        b: *const c32,
1180        ldb: *const blas_int,
1181        beta: *const c32,
1182        c: *mut c32,
1183        ldc: *const blas_int,
1184    );
1185}
1186extern "C" {
1187    pub fn dgemm_(
1188        transa: *const c_char,
1189        transb: *const c_char,
1190        m: *const blas_int,
1191        n: *const blas_int,
1192        k: *const blas_int,
1193        alpha: *const f64,
1194        a: *const f64,
1195        lda: *const blas_int,
1196        b: *const f64,
1197        ldb: *const blas_int,
1198        beta: *const f64,
1199        c: *mut f64,
1200        ldc: *const blas_int,
1201    );
1202}
1203extern "C" {
1204    pub fn sgemm_(
1205        transa: *const c_char,
1206        transb: *const c_char,
1207        m: *const blas_int,
1208        n: *const blas_int,
1209        k: *const blas_int,
1210        alpha: *const f32,
1211        a: *const f32,
1212        lda: *const blas_int,
1213        b: *const f32,
1214        ldb: *const blas_int,
1215        beta: *const f32,
1216        c: *mut f32,
1217        ldc: *const blas_int,
1218    );
1219}
1220extern "C" {
1221    pub fn zgemm_(
1222        transa: *const c_char,
1223        transb: *const c_char,
1224        m: *const blas_int,
1225        n: *const blas_int,
1226        k: *const blas_int,
1227        alpha: *const c64,
1228        a: *const c64,
1229        lda: *const blas_int,
1230        b: *const c64,
1231        ldb: *const blas_int,
1232        beta: *const c64,
1233        c: *mut c64,
1234        ldc: *const blas_int,
1235    );
1236}
1237extern "C" {
1238    pub fn chemm_(
1239        side: *const c_char,
1240        uplo: *const c_char,
1241        m: *const blas_int,
1242        n: *const blas_int,
1243        alpha: *const c32,
1244        a: *const c32,
1245        lda: *const blas_int,
1246        b: *const c32,
1247        ldb: *const blas_int,
1248        beta: *const c32,
1249        c: *mut c32,
1250        ldc: *const blas_int,
1251    );
1252}
1253extern "C" {
1254    pub fn csymm_(
1255        side: *const c_char,
1256        uplo: *const c_char,
1257        m: *const blas_int,
1258        n: *const blas_int,
1259        alpha: *const c32,
1260        a: *const c32,
1261        lda: *const blas_int,
1262        b: *const c32,
1263        ldb: *const blas_int,
1264        beta: *const c32,
1265        c: *mut c32,
1266        ldc: *const blas_int,
1267    );
1268}
1269extern "C" {
1270    pub fn dsymm_(
1271        side: *const c_char,
1272        uplo: *const c_char,
1273        m: *const blas_int,
1274        n: *const blas_int,
1275        alpha: *const f64,
1276        a: *const f64,
1277        lda: *const blas_int,
1278        b: *const f64,
1279        ldb: *const blas_int,
1280        beta: *const f64,
1281        c: *mut f64,
1282        ldc: *const blas_int,
1283    );
1284}
1285extern "C" {
1286    pub fn ssymm_(
1287        side: *const c_char,
1288        uplo: *const c_char,
1289        m: *const blas_int,
1290        n: *const blas_int,
1291        alpha: *const f32,
1292        a: *const f32,
1293        lda: *const blas_int,
1294        b: *const f32,
1295        ldb: *const blas_int,
1296        beta: *const f32,
1297        c: *mut f32,
1298        ldc: *const blas_int,
1299    );
1300}
1301extern "C" {
1302    pub fn zhemm_(
1303        side: *const c_char,
1304        uplo: *const c_char,
1305        m: *const blas_int,
1306        n: *const blas_int,
1307        alpha: *const c64,
1308        a: *const c64,
1309        lda: *const blas_int,
1310        b: *const c64,
1311        ldb: *const blas_int,
1312        beta: *const c64,
1313        c: *mut c64,
1314        ldc: *const blas_int,
1315    );
1316}
1317extern "C" {
1318    pub fn zsymm_(
1319        side: *const c_char,
1320        uplo: *const c_char,
1321        m: *const blas_int,
1322        n: *const blas_int,
1323        alpha: *const c64,
1324        a: *const c64,
1325        lda: *const blas_int,
1326        b: *const c64,
1327        ldb: *const blas_int,
1328        beta: *const c64,
1329        c: *mut c64,
1330        ldc: *const blas_int,
1331    );
1332}
1333extern "C" {
1334    pub fn cherk_(
1335        uplo: *const c_char,
1336        trans: *const c_char,
1337        n: *const blas_int,
1338        k: *const blas_int,
1339        alpha: *const f32,
1340        a: *const c32,
1341        lda: *const blas_int,
1342        beta: *const f32,
1343        c: *mut c32,
1344        ldc: *const blas_int,
1345    );
1346}
1347extern "C" {
1348    pub fn csyrk_(
1349        uplo: *const c_char,
1350        trans: *const c_char,
1351        n: *const blas_int,
1352        k: *const blas_int,
1353        alpha: *const c32,
1354        a: *const c32,
1355        lda: *const blas_int,
1356        beta: *const c32,
1357        c: *mut c32,
1358        ldc: *const blas_int,
1359    );
1360}
1361extern "C" {
1362    pub fn dsyrk_(
1363        uplo: *const c_char,
1364        trans: *const c_char,
1365        n: *const blas_int,
1366        k: *const blas_int,
1367        alpha: *const f64,
1368        a: *const f64,
1369        lda: *const blas_int,
1370        beta: *const f64,
1371        c: *mut f64,
1372        ldc: *const blas_int,
1373    );
1374}
1375extern "C" {
1376    pub fn ssyrk_(
1377        uplo: *const c_char,
1378        trans: *const c_char,
1379        n: *const blas_int,
1380        k: *const blas_int,
1381        alpha: *const f32,
1382        a: *const f32,
1383        lda: *const blas_int,
1384        beta: *const f32,
1385        c: *mut f32,
1386        ldc: *const blas_int,
1387    );
1388}
1389extern "C" {
1390    pub fn zherk_(
1391        uplo: *const c_char,
1392        trans: *const c_char,
1393        n: *const blas_int,
1394        k: *const blas_int,
1395        alpha: *const f64,
1396        a: *const c64,
1397        lda: *const blas_int,
1398        beta: *const f64,
1399        c: *mut c64,
1400        ldc: *const blas_int,
1401    );
1402}
1403extern "C" {
1404    pub fn zsyrk_(
1405        uplo: *const c_char,
1406        trans: *const c_char,
1407        n: *const blas_int,
1408        k: *const blas_int,
1409        alpha: *const c64,
1410        a: *const c64,
1411        lda: *const blas_int,
1412        beta: *const c64,
1413        c: *mut c64,
1414        ldc: *const blas_int,
1415    );
1416}
1417extern "C" {
1418    pub fn cher2k_(
1419        uplo: *const c_char,
1420        trans: *const c_char,
1421        n: *const blas_int,
1422        k: *const blas_int,
1423        alpha: *const c32,
1424        a: *const c32,
1425        lda: *const blas_int,
1426        b: *const c32,
1427        ldb: *const blas_int,
1428        beta: *const f32,
1429        c: *mut c32,
1430        ldc: *const blas_int,
1431    );
1432}
1433extern "C" {
1434    pub fn csyr2k_(
1435        uplo: *const c_char,
1436        trans: *const c_char,
1437        n: *const blas_int,
1438        k: *const blas_int,
1439        alpha: *const c32,
1440        a: *const c32,
1441        lda: *const blas_int,
1442        b: *const c32,
1443        ldb: *const blas_int,
1444        beta: *const c32,
1445        c: *mut c32,
1446        ldc: *const blas_int,
1447    );
1448}
1449extern "C" {
1450    pub fn dsyr2k_(
1451        uplo: *const c_char,
1452        trans: *const c_char,
1453        n: *const blas_int,
1454        k: *const blas_int,
1455        alpha: *const f64,
1456        a: *const f64,
1457        lda: *const blas_int,
1458        b: *const f64,
1459        ldb: *const blas_int,
1460        beta: *const f64,
1461        c: *mut f64,
1462        ldc: *const blas_int,
1463    );
1464}
1465extern "C" {
1466    pub fn ssyr2k_(
1467        uplo: *const c_char,
1468        trans: *const c_char,
1469        n: *const blas_int,
1470        k: *const blas_int,
1471        alpha: *const f32,
1472        a: *const f32,
1473        lda: *const blas_int,
1474        b: *const f32,
1475        ldb: *const blas_int,
1476        beta: *const f32,
1477        c: *mut f32,
1478        ldc: *const blas_int,
1479    );
1480}
1481extern "C" {
1482    pub fn zher2k_(
1483        uplo: *const c_char,
1484        trans: *const c_char,
1485        n: *const blas_int,
1486        k: *const blas_int,
1487        alpha: *const c64,
1488        a: *const c64,
1489        lda: *const blas_int,
1490        b: *const c64,
1491        ldb: *const blas_int,
1492        beta: *const f64,
1493        c: *mut c64,
1494        ldc: *const blas_int,
1495    );
1496}
1497extern "C" {
1498    pub fn zsyr2k_(
1499        uplo: *const c_char,
1500        trans: *const c_char,
1501        n: *const blas_int,
1502        k: *const blas_int,
1503        alpha: *const c64,
1504        a: *const c64,
1505        lda: *const blas_int,
1506        b: *const c64,
1507        ldb: *const blas_int,
1508        beta: *const c64,
1509        c: *mut c64,
1510        ldc: *const blas_int,
1511    );
1512}
1513extern "C" {
1514    pub fn ctrmm_(
1515        side: *const c_char,
1516        uplo: *const c_char,
1517        transa: *const c_char,
1518        diag: *const c_char,
1519        m: *const blas_int,
1520        n: *const blas_int,
1521        alpha: *const c32,
1522        a: *const c32,
1523        lda: *const blas_int,
1524        b: *mut c32,
1525        ldb: *const blas_int,
1526    );
1527}
1528extern "C" {
1529    pub fn dtrmm_(
1530        side: *const c_char,
1531        uplo: *const c_char,
1532        transa: *const c_char,
1533        diag: *const c_char,
1534        m: *const blas_int,
1535        n: *const blas_int,
1536        alpha: *const f64,
1537        a: *const f64,
1538        lda: *const blas_int,
1539        b: *mut f64,
1540        ldb: *const blas_int,
1541    );
1542}
1543extern "C" {
1544    pub fn strmm_(
1545        side: *const c_char,
1546        uplo: *const c_char,
1547        transa: *const c_char,
1548        diag: *const c_char,
1549        m: *const blas_int,
1550        n: *const blas_int,
1551        alpha: *const f32,
1552        a: *const f32,
1553        lda: *const blas_int,
1554        b: *mut f32,
1555        ldb: *const blas_int,
1556    );
1557}
1558extern "C" {
1559    pub fn ztrmm_(
1560        side: *const c_char,
1561        uplo: *const c_char,
1562        transa: *const c_char,
1563        diag: *const c_char,
1564        m: *const blas_int,
1565        n: *const blas_int,
1566        alpha: *const c64,
1567        a: *const c64,
1568        lda: *const blas_int,
1569        b: *mut c64,
1570        ldb: *const blas_int,
1571    );
1572}
1573extern "C" {
1574    pub fn ctrsm_(
1575        side: *const c_char,
1576        uplo: *const c_char,
1577        transa: *const c_char,
1578        diag: *const c_char,
1579        m: *const blas_int,
1580        n: *const blas_int,
1581        alpha: *const c32,
1582        a: *const c32,
1583        lda: *const blas_int,
1584        b: *mut c32,
1585        ldb: *const blas_int,
1586    );
1587}
1588extern "C" {
1589    pub fn dtrsm_(
1590        side: *const c_char,
1591        uplo: *const c_char,
1592        transa: *const c_char,
1593        diag: *const c_char,
1594        m: *const blas_int,
1595        n: *const blas_int,
1596        alpha: *const f64,
1597        a: *const f64,
1598        lda: *const blas_int,
1599        b: *mut f64,
1600        ldb: *const blas_int,
1601    );
1602}
1603extern "C" {
1604    pub fn strsm_(
1605        side: *const c_char,
1606        uplo: *const c_char,
1607        transa: *const c_char,
1608        diag: *const c_char,
1609        m: *const blas_int,
1610        n: *const blas_int,
1611        alpha: *const f32,
1612        a: *const f32,
1613        lda: *const blas_int,
1614        b: *mut f32,
1615        ldb: *const blas_int,
1616    );
1617}
1618extern "C" {
1619    pub fn ztrsm_(
1620        side: *const c_char,
1621        uplo: *const c_char,
1622        transa: *const c_char,
1623        diag: *const c_char,
1624        m: *const blas_int,
1625        n: *const blas_int,
1626        alpha: *const c64,
1627        a: *const c64,
1628        lda: *const blas_int,
1629        b: *mut c64,
1630        ldb: *const blas_int,
1631    );
1632}
1633extern "C" {
1634    pub fn sgemmt_(
1635        uplo: *const c_char,
1636        transa: *const c_char,
1637        transb: *const c_char,
1638        n: *const blas_int,
1639        k: *const blas_int,
1640        alpha: *const f32,
1641        a: *const f32,
1642        lda: *const blas_int,
1643        b: *const f32,
1644        ldb: *const blas_int,
1645        beta: *const f32,
1646        c: *mut f32,
1647        ldc: *const blas_int,
1648    );
1649}
1650extern "C" {
1651    pub fn cgemmt_(
1652        uplo: *const c_char,
1653        transa: *const c_char,
1654        transb: *const c_char,
1655        n: *const blas_int,
1656        k: *const blas_int,
1657        alpha: *const c32,
1658        a: *const c32,
1659        lda: *const blas_int,
1660        b: *const c32,
1661        ldb: *const blas_int,
1662        beta: *const c32,
1663        c: *mut c32,
1664        ldc: *const blas_int,
1665    );
1666}
1667extern "C" {
1668    pub fn dgemmt_(
1669        uplo: *const c_char,
1670        transa: *const c_char,
1671        transb: *const c_char,
1672        n: *const blas_int,
1673        k: *const blas_int,
1674        alpha: *const f64,
1675        a: *const f64,
1676        lda: *const blas_int,
1677        b: *const f64,
1678        ldb: *const blas_int,
1679        beta: *const f64,
1680        c: *mut f64,
1681        ldc: *const blas_int,
1682    );
1683}
1684extern "C" {
1685    pub fn zgemmt_(
1686        uplo: *const c_char,
1687        transa: *const c_char,
1688        transb: *const c_char,
1689        n: *const blas_int,
1690        k: *const blas_int,
1691        alpha: *const c64,
1692        a: *const c64,
1693        lda: *const blas_int,
1694        b: *const c64,
1695        ldb: *const blas_int,
1696        beta: *const c64,
1697        c: *mut c64,
1698        ldc: *const blas_int,
1699    );
1700}