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
14extern "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}