1#[inline]
2pub unsafe fn cbbcsd(
3 jobu1: u8,
4 jobu2: u8,
5 jobv1t: u8,
6 jobv2t: u8,
7 trans: u8,
8 m: i32,
9 p: i32,
10 q: &[i32],
11 theta: &mut [f32],
12 phi: &mut [f32],
13 u1: &mut [c32],
14 ldu1: i32,
15 u2: &mut [c32],
16 ldu2: i32,
17 v1t: &mut [c32],
18 ldv1t: i32,
19 v2t: &mut [c32],
20 ldv2t: i32,
21 b11d: &mut [f32],
22 b11e: &mut [f32],
23 b12d: &mut [f32],
24 b12e: &mut [f32],
25 b21d: &mut [f32],
26 b21e: &mut [f32],
27 b22d: &mut [f32],
28 b22e: &mut [f32],
29 rwork: &mut [f32],
30 lrwork: i32,
31 info: &mut i32,
32) {
33 ffi::cbbcsd_(
34 &(jobu1 as c_char),
35 &(jobu2 as c_char),
36 &(jobv1t as c_char),
37 &(jobv2t as c_char),
38 &(trans as c_char),
39 &m,
40 &p,
41 q.as_ptr(),
42 theta.as_mut_ptr(),
43 phi.as_mut_ptr(),
44 u1.as_mut_ptr() as *mut _,
45 &ldu1,
46 u2.as_mut_ptr() as *mut _,
47 &ldu2,
48 v1t.as_mut_ptr() as *mut _,
49 &ldv1t,
50 v2t.as_mut_ptr() as *mut _,
51 &ldv2t,
52 b11d.as_mut_ptr(),
53 b11e.as_mut_ptr(),
54 b12d.as_mut_ptr(),
55 b12e.as_mut_ptr(),
56 b21d.as_mut_ptr(),
57 b21e.as_mut_ptr(),
58 b22d.as_mut_ptr(),
59 b22e.as_mut_ptr(),
60 rwork.as_mut_ptr(),
61 &lrwork,
62 info,
63 )
64}
65
66#[inline]
67pub unsafe fn dbbcsd(
68 jobu1: u8,
69 jobu2: u8,
70 jobv1t: u8,
71 jobv2t: u8,
72 trans: u8,
73 m: i32,
74 p: i32,
75 q: &[i32],
76 theta: &mut [f64],
77 phi: &mut [f64],
78 u1: &mut [f64],
79 ldu1: i32,
80 u2: &mut [f64],
81 ldu2: i32,
82 v1t: &mut [f64],
83 ldv1t: i32,
84 v2t: &mut [f64],
85 ldv2t: i32,
86 b11d: &mut [f64],
87 b11e: &mut [f64],
88 b12d: &mut [f64],
89 b12e: &mut [f64],
90 b21d: &mut [f64],
91 b21e: &mut [f64],
92 b22d: &mut [f64],
93 b22e: &mut [f64],
94 work: &mut [f64],
95 lwork: i32,
96 info: &mut i32,
97) {
98 ffi::dbbcsd_(
99 &(jobu1 as c_char),
100 &(jobu2 as c_char),
101 &(jobv1t as c_char),
102 &(jobv2t as c_char),
103 &(trans as c_char),
104 &m,
105 &p,
106 q.as_ptr(),
107 theta.as_mut_ptr(),
108 phi.as_mut_ptr(),
109 u1.as_mut_ptr(),
110 &ldu1,
111 u2.as_mut_ptr(),
112 &ldu2,
113 v1t.as_mut_ptr(),
114 &ldv1t,
115 v2t.as_mut_ptr(),
116 &ldv2t,
117 b11d.as_mut_ptr(),
118 b11e.as_mut_ptr(),
119 b12d.as_mut_ptr(),
120 b12e.as_mut_ptr(),
121 b21d.as_mut_ptr(),
122 b21e.as_mut_ptr(),
123 b22d.as_mut_ptr(),
124 b22e.as_mut_ptr(),
125 work.as_mut_ptr(),
126 &lwork,
127 info,
128 )
129}
130
131#[inline]
132pub unsafe fn sbbcsd(
133 jobu1: u8,
134 jobu2: u8,
135 jobv1t: u8,
136 jobv2t: u8,
137 trans: u8,
138 m: i32,
139 p: i32,
140 q: &[i32],
141 theta: &mut [f32],
142 phi: &mut [f32],
143 u1: &mut [f32],
144 ldu1: i32,
145 u2: &mut [f32],
146 ldu2: i32,
147 v1t: &mut [f32],
148 ldv1t: i32,
149 v2t: &mut [f32],
150 ldv2t: i32,
151 b11d: &mut [f32],
152 b11e: &mut [f32],
153 b12d: &mut [f32],
154 b12e: &mut [f32],
155 b21d: &mut [f32],
156 b21e: &mut [f32],
157 b22d: &mut [f32],
158 b22e: &mut [f32],
159 work: &mut [f32],
160 lwork: i32,
161 info: &mut i32,
162) {
163 ffi::sbbcsd_(
164 &(jobu1 as c_char),
165 &(jobu2 as c_char),
166 &(jobv1t as c_char),
167 &(jobv2t as c_char),
168 &(trans as c_char),
169 &m,
170 &p,
171 q.as_ptr(),
172 theta.as_mut_ptr(),
173 phi.as_mut_ptr(),
174 u1.as_mut_ptr(),
175 &ldu1,
176 u2.as_mut_ptr(),
177 &ldu2,
178 v1t.as_mut_ptr(),
179 &ldv1t,
180 v2t.as_mut_ptr(),
181 &ldv2t,
182 b11d.as_mut_ptr(),
183 b11e.as_mut_ptr(),
184 b12d.as_mut_ptr(),
185 b12e.as_mut_ptr(),
186 b21d.as_mut_ptr(),
187 b21e.as_mut_ptr(),
188 b22d.as_mut_ptr(),
189 b22e.as_mut_ptr(),
190 work.as_mut_ptr(),
191 &lwork,
192 info,
193 )
194}
195
196#[inline]
197pub unsafe fn zbbcsd(
198 jobu1: u8,
199 jobu2: u8,
200 jobv1t: u8,
201 jobv2t: u8,
202 trans: u8,
203 m: i32,
204 p: i32,
205 q: &[i32],
206 theta: &mut [f64],
207 phi: &mut [f64],
208 u1: &mut [c64],
209 ldu1: i32,
210 u2: &mut [c64],
211 ldu2: i32,
212 v1t: &mut [c64],
213 ldv1t: i32,
214 v2t: &mut [c64],
215 ldv2t: i32,
216 b11d: &mut [f64],
217 b11e: &mut [f64],
218 b12d: &mut [f64],
219 b12e: &mut [f64],
220 b21d: &mut [f64],
221 b21e: &mut [f64],
222 b22d: &mut [f64],
223 b22e: &mut [f64],
224 rwork: &mut [f64],
225 lrwork: i32,
226 info: &mut i32,
227) {
228 ffi::zbbcsd_(
229 &(jobu1 as c_char),
230 &(jobu2 as c_char),
231 &(jobv1t as c_char),
232 &(jobv2t as c_char),
233 &(trans as c_char),
234 &m,
235 &p,
236 q.as_ptr(),
237 theta.as_mut_ptr(),
238 phi.as_mut_ptr(),
239 u1.as_mut_ptr() as *mut _,
240 &ldu1,
241 u2.as_mut_ptr() as *mut _,
242 &ldu2,
243 v1t.as_mut_ptr() as *mut _,
244 &ldv1t,
245 v2t.as_mut_ptr() as *mut _,
246 &ldv2t,
247 b11d.as_mut_ptr(),
248 b11e.as_mut_ptr(),
249 b12d.as_mut_ptr(),
250 b12e.as_mut_ptr(),
251 b21d.as_mut_ptr(),
252 b21e.as_mut_ptr(),
253 b22d.as_mut_ptr(),
254 b22e.as_mut_ptr(),
255 rwork.as_mut_ptr(),
256 &lrwork,
257 info,
258 )
259}
260
261#[inline]
262pub unsafe fn dbdsdc(
263 uplo: u8,
264 compq: u8,
265 n: i32,
266 d: &mut [f64],
267 e: &mut [f64],
268 u: &mut [f64],
269 ldu: i32,
270 vt: &mut [f64],
271 ldvt: i32,
272 q: &mut [f64],
273 iq: &mut [i32],
274 work: &mut [f64],
275 iwork: &mut [i32],
276 info: &mut i32,
277) {
278 ffi::dbdsdc_(
279 &(uplo as c_char),
280 &(compq as c_char),
281 &n,
282 d.as_mut_ptr(),
283 e.as_mut_ptr(),
284 u.as_mut_ptr(),
285 &ldu,
286 vt.as_mut_ptr(),
287 &ldvt,
288 q.as_mut_ptr(),
289 iq.as_mut_ptr(),
290 work.as_mut_ptr(),
291 iwork.as_mut_ptr(),
292 info,
293 )
294}
295
296#[inline]
297pub unsafe fn sbdsdc(
298 uplo: u8,
299 compq: u8,
300 n: i32,
301 d: &mut [f32],
302 e: &mut [f32],
303 u: &mut [f32],
304 ldu: i32,
305 vt: &mut [f32],
306 ldvt: i32,
307 q: &mut [f32],
308 iq: &mut [i32],
309 work: &mut [f32],
310 iwork: &mut [i32],
311 info: &mut i32,
312) {
313 ffi::sbdsdc_(
314 &(uplo as c_char),
315 &(compq as c_char),
316 &n,
317 d.as_mut_ptr(),
318 e.as_mut_ptr(),
319 u.as_mut_ptr(),
320 &ldu,
321 vt.as_mut_ptr(),
322 &ldvt,
323 q.as_mut_ptr(),
324 iq.as_mut_ptr(),
325 work.as_mut_ptr(),
326 iwork.as_mut_ptr(),
327 info,
328 )
329}
330
331#[inline]
332pub unsafe fn cbdsqr(
333 uplo: u8,
334 n: i32,
335 ncvt: &[i32],
336 nru: &[i32],
337 ncc: &[i32],
338 d: &mut [f32],
339 e: &mut [f32],
340 vt: &mut [c32],
341 ldvt: i32,
342 u: &mut [c32],
343 ldu: i32,
344 c: &mut [c32],
345 ldc: i32,
346 rwork: &mut [f32],
347 info: &mut i32,
348) {
349 ffi::cbdsqr_(
350 &(uplo as c_char),
351 &n,
352 ncvt.as_ptr(),
353 nru.as_ptr(),
354 ncc.as_ptr(),
355 d.as_mut_ptr(),
356 e.as_mut_ptr(),
357 vt.as_mut_ptr() as *mut _,
358 &ldvt,
359 u.as_mut_ptr() as *mut _,
360 &ldu,
361 c.as_mut_ptr() as *mut _,
362 &ldc,
363 rwork.as_mut_ptr(),
364 info,
365 )
366}
367
368#[inline]
369pub unsafe fn dbdsqr(
370 uplo: u8,
371 n: i32,
372 ncvt: &[i32],
373 nru: &[i32],
374 ncc: &[i32],
375 d: &mut [f64],
376 e: &mut [f64],
377 vt: &mut [f64],
378 ldvt: i32,
379 u: &mut [f64],
380 ldu: i32,
381 c: &mut [f64],
382 ldc: i32,
383 work: &mut [f64],
384 info: &mut i32,
385) {
386 ffi::dbdsqr_(
387 &(uplo as c_char),
388 &n,
389 ncvt.as_ptr(),
390 nru.as_ptr(),
391 ncc.as_ptr(),
392 d.as_mut_ptr(),
393 e.as_mut_ptr(),
394 vt.as_mut_ptr(),
395 &ldvt,
396 u.as_mut_ptr(),
397 &ldu,
398 c.as_mut_ptr(),
399 &ldc,
400 work.as_mut_ptr(),
401 info,
402 )
403}
404
405#[inline]
406pub unsafe fn sbdsqr(
407 uplo: u8,
408 n: i32,
409 ncvt: &[i32],
410 nru: &[i32],
411 ncc: &[i32],
412 d: &mut [f32],
413 e: &mut [f32],
414 vt: &mut [f32],
415 ldvt: i32,
416 u: &mut [f32],
417 ldu: i32,
418 c: &mut [f32],
419 ldc: i32,
420 work: &mut [f32],
421 info: &mut i32,
422) {
423 ffi::sbdsqr_(
424 &(uplo as c_char),
425 &n,
426 ncvt.as_ptr(),
427 nru.as_ptr(),
428 ncc.as_ptr(),
429 d.as_mut_ptr(),
430 e.as_mut_ptr(),
431 vt.as_mut_ptr(),
432 &ldvt,
433 u.as_mut_ptr(),
434 &ldu,
435 c.as_mut_ptr(),
436 &ldc,
437 work.as_mut_ptr(),
438 info,
439 )
440}
441
442#[inline]
443pub unsafe fn zbdsqr(
444 uplo: u8,
445 n: i32,
446 ncvt: &[i32],
447 nru: &[i32],
448 ncc: &[i32],
449 d: &mut [f64],
450 e: &mut [f64],
451 vt: &mut [c64],
452 ldvt: i32,
453 u: &mut [c64],
454 ldu: i32,
455 c: &mut [c64],
456 ldc: i32,
457 rwork: &mut [f64],
458 info: &mut i32,
459) {
460 ffi::zbdsqr_(
461 &(uplo as c_char),
462 &n,
463 ncvt.as_ptr(),
464 nru.as_ptr(),
465 ncc.as_ptr(),
466 d.as_mut_ptr(),
467 e.as_mut_ptr(),
468 vt.as_mut_ptr() as *mut _,
469 &ldvt,
470 u.as_mut_ptr() as *mut _,
471 &ldu,
472 c.as_mut_ptr() as *mut _,
473 &ldc,
474 rwork.as_mut_ptr(),
475 info,
476 )
477}
478
479#[inline]
480pub unsafe fn dbdsvdx(
481 uplo: u8,
482 jobz: u8,
483 range: u8,
484 n: i32,
485 d: &[f64],
486 e: &[f64],
487 vl: f64,
488 vu: f64,
489 il: i32,
490 iu: i32,
491 ns: &mut [i32],
492 s: &mut [f64],
493 z: &mut [f64],
494 ldz: i32,
495 work: &mut [f64],
496 iwork: &mut [i32],
497 info: &mut i32,
498) {
499 ffi::dbdsvdx_(
500 &(uplo as c_char),
501 &(jobz as c_char),
502 &(range as c_char),
503 &n,
504 d.as_ptr(),
505 e.as_ptr(),
506 &vl,
507 &vu,
508 &il,
509 &iu,
510 ns.as_mut_ptr(),
511 s.as_mut_ptr(),
512 z.as_mut_ptr(),
513 &ldz,
514 work.as_mut_ptr(),
515 iwork.as_mut_ptr(),
516 info,
517 )
518}
519
520#[inline]
521pub unsafe fn sbdsvdx(
522 uplo: u8,
523 jobz: u8,
524 range: u8,
525 n: i32,
526 d: &[f32],
527 e: &[f32],
528 vl: f32,
529 vu: f32,
530 il: i32,
531 iu: i32,
532 ns: &mut [i32],
533 s: &mut [f32],
534 z: &mut [f32],
535 ldz: i32,
536 work: &mut [f32],
537 iwork: &mut [i32],
538 info: &mut i32,
539) {
540 ffi::sbdsvdx_(
541 &(uplo as c_char),
542 &(jobz as c_char),
543 &(range as c_char),
544 &n,
545 d.as_ptr(),
546 e.as_ptr(),
547 &vl,
548 &vu,
549 &il,
550 &iu,
551 ns.as_mut_ptr(),
552 s.as_mut_ptr(),
553 z.as_mut_ptr(),
554 &ldz,
555 work.as_mut_ptr(),
556 iwork.as_mut_ptr(),
557 info,
558 )
559}
560
561#[inline]
562pub unsafe fn ddisna(job: u8, m: i32, n: i32, d: &[f64], sep: &mut [f64], info: &mut i32) {
563 ffi::ddisna_(&(job as c_char), &m, &n, d.as_ptr(), sep.as_mut_ptr(), info)
564}
565
566#[inline]
567pub unsafe fn sdisna(job: u8, m: i32, n: i32, d: &[f32], sep: &mut [f32], info: &mut i32) {
568 ffi::sdisna_(&(job as c_char), &m, &n, d.as_ptr(), sep.as_mut_ptr(), info)
569}
570
571#[inline]
572pub unsafe fn cgbbrd(
573 vect: u8,
574 m: i32,
575 n: i32,
576 ncc: &[i32],
577 kl: i32,
578 ku: i32,
579 ab: &mut [c32],
580 ldab: i32,
581 d: &mut [f32],
582 e: &mut [f32],
583 q: &mut [c32],
584 ldq: i32,
585 pt: &mut [c32],
586 ldpt: i32,
587 c: &mut [c32],
588 ldc: i32,
589 work: &mut [c32],
590 rwork: &mut [f32],
591 info: &mut i32,
592) {
593 ffi::cgbbrd_(
594 &(vect as c_char),
595 &m,
596 &n,
597 ncc.as_ptr(),
598 &kl,
599 &ku,
600 ab.as_mut_ptr() as *mut _,
601 &ldab,
602 d.as_mut_ptr(),
603 e.as_mut_ptr(),
604 q.as_mut_ptr() as *mut _,
605 &ldq,
606 pt.as_mut_ptr() as *mut _,
607 &ldpt,
608 c.as_mut_ptr() as *mut _,
609 &ldc,
610 work.as_mut_ptr() as *mut _,
611 rwork.as_mut_ptr(),
612 info,
613 )
614}
615
616#[inline]
617pub unsafe fn dgbbrd(
618 vect: u8,
619 m: i32,
620 n: i32,
621 ncc: &[i32],
622 kl: i32,
623 ku: i32,
624 ab: &mut [f64],
625 ldab: i32,
626 d: &mut [f64],
627 e: &mut [f64],
628 q: &mut [f64],
629 ldq: i32,
630 pt: &mut [f64],
631 ldpt: i32,
632 c: &mut [f64],
633 ldc: i32,
634 work: &mut [f64],
635 info: &mut i32,
636) {
637 ffi::dgbbrd_(
638 &(vect as c_char),
639 &m,
640 &n,
641 ncc.as_ptr(),
642 &kl,
643 &ku,
644 ab.as_mut_ptr(),
645 &ldab,
646 d.as_mut_ptr(),
647 e.as_mut_ptr(),
648 q.as_mut_ptr(),
649 &ldq,
650 pt.as_mut_ptr(),
651 &ldpt,
652 c.as_mut_ptr(),
653 &ldc,
654 work.as_mut_ptr(),
655 info,
656 )
657}
658
659#[inline]
660pub unsafe fn sgbbrd(
661 vect: u8,
662 m: i32,
663 n: i32,
664 ncc: &[i32],
665 kl: i32,
666 ku: i32,
667 ab: &mut [f32],
668 ldab: i32,
669 d: &mut [f32],
670 e: &mut [f32],
671 q: &mut [f32],
672 ldq: i32,
673 pt: &mut [f32],
674 ldpt: i32,
675 c: &mut [f32],
676 ldc: i32,
677 work: &mut [f32],
678 info: &mut i32,
679) {
680 ffi::sgbbrd_(
681 &(vect as c_char),
682 &m,
683 &n,
684 ncc.as_ptr(),
685 &kl,
686 &ku,
687 ab.as_mut_ptr(),
688 &ldab,
689 d.as_mut_ptr(),
690 e.as_mut_ptr(),
691 q.as_mut_ptr(),
692 &ldq,
693 pt.as_mut_ptr(),
694 &ldpt,
695 c.as_mut_ptr(),
696 &ldc,
697 work.as_mut_ptr(),
698 info,
699 )
700}
701
702#[inline]
703pub unsafe fn zgbbrd(
704 vect: u8,
705 m: i32,
706 n: i32,
707 ncc: &[i32],
708 kl: i32,
709 ku: i32,
710 ab: &mut [c64],
711 ldab: i32,
712 d: &mut [f64],
713 e: &mut [f64],
714 q: &mut [c64],
715 ldq: i32,
716 pt: &mut [c64],
717 ldpt: i32,
718 c: &mut [c64],
719 ldc: i32,
720 work: &mut [c64],
721 rwork: &mut [f64],
722 info: &mut i32,
723) {
724 ffi::zgbbrd_(
725 &(vect as c_char),
726 &m,
727 &n,
728 ncc.as_ptr(),
729 &kl,
730 &ku,
731 ab.as_mut_ptr() as *mut _,
732 &ldab,
733 d.as_mut_ptr(),
734 e.as_mut_ptr(),
735 q.as_mut_ptr() as *mut _,
736 &ldq,
737 pt.as_mut_ptr() as *mut _,
738 &ldpt,
739 c.as_mut_ptr() as *mut _,
740 &ldc,
741 work.as_mut_ptr() as *mut _,
742 rwork.as_mut_ptr(),
743 info,
744 )
745}
746
747#[inline]
748pub unsafe fn cgbcon(
749 norm: u8,
750 n: i32,
751 kl: i32,
752 ku: i32,
753 ab: &[c32],
754 ldab: i32,
755 ipiv: &[i32],
756 anorm: f32,
757 rcond: &mut f32,
758 work: &mut [c32],
759 rwork: &mut [f32],
760 info: &mut i32,
761) {
762 ffi::cgbcon_(
763 &(norm as c_char),
764 &n,
765 &kl,
766 &ku,
767 ab.as_ptr() as *const _,
768 &ldab,
769 ipiv.as_ptr(),
770 &anorm,
771 rcond,
772 work.as_mut_ptr() as *mut _,
773 rwork.as_mut_ptr(),
774 info,
775 )
776}
777
778#[inline]
779pub unsafe fn dgbcon(
780 norm: u8,
781 n: i32,
782 kl: i32,
783 ku: i32,
784 ab: &[f64],
785 ldab: i32,
786 ipiv: &[i32],
787 anorm: f64,
788 rcond: &mut f64,
789 work: &mut [f64],
790 iwork: &mut [i32],
791 info: &mut i32,
792) {
793 ffi::dgbcon_(
794 &(norm as c_char),
795 &n,
796 &kl,
797 &ku,
798 ab.as_ptr(),
799 &ldab,
800 ipiv.as_ptr(),
801 &anorm,
802 rcond,
803 work.as_mut_ptr(),
804 iwork.as_mut_ptr(),
805 info,
806 )
807}
808
809#[inline]
810pub unsafe fn sgbcon(
811 norm: u8,
812 n: i32,
813 kl: i32,
814 ku: i32,
815 ab: &[f32],
816 ldab: i32,
817 ipiv: &[i32],
818 anorm: f32,
819 rcond: &mut f32,
820 work: &mut [f32],
821 iwork: &mut [i32],
822 info: &mut i32,
823) {
824 ffi::sgbcon_(
825 &(norm as c_char),
826 &n,
827 &kl,
828 &ku,
829 ab.as_ptr(),
830 &ldab,
831 ipiv.as_ptr(),
832 &anorm,
833 rcond,
834 work.as_mut_ptr(),
835 iwork.as_mut_ptr(),
836 info,
837 )
838}
839
840#[inline]
841pub unsafe fn zgbcon(
842 norm: u8,
843 n: i32,
844 kl: i32,
845 ku: i32,
846 ab: &[c64],
847 ldab: i32,
848 ipiv: &[i32],
849 anorm: f64,
850 rcond: &mut f64,
851 work: &mut [c64],
852 rwork: &mut [f64],
853 info: &mut i32,
854) {
855 ffi::zgbcon_(
856 &(norm as c_char),
857 &n,
858 &kl,
859 &ku,
860 ab.as_ptr() as *const _,
861 &ldab,
862 ipiv.as_ptr(),
863 &anorm,
864 rcond,
865 work.as_mut_ptr() as *mut _,
866 rwork.as_mut_ptr(),
867 info,
868 )
869}
870
871#[inline]
872pub unsafe fn cgbequ(
873 m: i32,
874 n: i32,
875 kl: i32,
876 ku: i32,
877 ab: &[c32],
878 ldab: i32,
879 r: &mut [f32],
880 c: &mut [f32],
881 rowcnd: &mut f32,
882 colcnd: &mut f32,
883 amax: &mut f32,
884 info: &mut i32,
885) {
886 ffi::cgbequ_(
887 &m,
888 &n,
889 &kl,
890 &ku,
891 ab.as_ptr() as *const _,
892 &ldab,
893 r.as_mut_ptr(),
894 c.as_mut_ptr(),
895 rowcnd,
896 colcnd,
897 amax,
898 info,
899 )
900}
901
902#[inline]
903pub unsafe fn dgbequ(
904 m: i32,
905 n: i32,
906 kl: i32,
907 ku: i32,
908 ab: &[f64],
909 ldab: i32,
910 r: &mut [f64],
911 c: &mut [f64],
912 rowcnd: &mut f64,
913 colcnd: &mut f64,
914 amax: &mut f64,
915 info: &mut i32,
916) {
917 ffi::dgbequ_(
918 &m,
919 &n,
920 &kl,
921 &ku,
922 ab.as_ptr(),
923 &ldab,
924 r.as_mut_ptr(),
925 c.as_mut_ptr(),
926 rowcnd,
927 colcnd,
928 amax,
929 info,
930 )
931}
932
933#[inline]
934pub unsafe fn sgbequ(
935 m: i32,
936 n: i32,
937 kl: i32,
938 ku: i32,
939 ab: &[f32],
940 ldab: i32,
941 r: &mut [f32],
942 c: &mut [f32],
943 rowcnd: &mut f32,
944 colcnd: &mut f32,
945 amax: &mut f32,
946 info: &mut i32,
947) {
948 ffi::sgbequ_(
949 &m,
950 &n,
951 &kl,
952 &ku,
953 ab.as_ptr(),
954 &ldab,
955 r.as_mut_ptr(),
956 c.as_mut_ptr(),
957 rowcnd,
958 colcnd,
959 amax,
960 info,
961 )
962}
963
964#[inline]
965pub unsafe fn zgbequ(
966 m: i32,
967 n: i32,
968 kl: i32,
969 ku: i32,
970 ab: &[c64],
971 ldab: i32,
972 r: &mut [f64],
973 c: &mut [f64],
974 rowcnd: &mut f64,
975 colcnd: &mut f64,
976 amax: &mut f64,
977 info: &mut i32,
978) {
979 ffi::zgbequ_(
980 &m,
981 &n,
982 &kl,
983 &ku,
984 ab.as_ptr() as *const _,
985 &ldab,
986 r.as_mut_ptr(),
987 c.as_mut_ptr(),
988 rowcnd,
989 colcnd,
990 amax,
991 info,
992 )
993}
994
995#[inline]
996pub unsafe fn cgbequb(
997 m: i32,
998 n: i32,
999 kl: i32,
1000 ku: i32,
1001 ab: &[c32],
1002 ldab: i32,
1003 r: &mut [f32],
1004 c: &mut [f32],
1005 rowcnd: &mut f32,
1006 colcnd: &mut f32,
1007 amax: &mut f32,
1008 info: &mut i32,
1009) {
1010 ffi::cgbequb_(
1011 &m,
1012 &n,
1013 &kl,
1014 &ku,
1015 ab.as_ptr() as *const _,
1016 &ldab,
1017 r.as_mut_ptr(),
1018 c.as_mut_ptr(),
1019 rowcnd,
1020 colcnd,
1021 amax,
1022 info,
1023 )
1024}
1025
1026#[inline]
1027pub unsafe fn dgbequb(
1028 m: i32,
1029 n: i32,
1030 kl: i32,
1031 ku: i32,
1032 ab: &[f64],
1033 ldab: i32,
1034 r: &mut [f64],
1035 c: &mut [f64],
1036 rowcnd: &mut f64,
1037 colcnd: &mut f64,
1038 amax: &mut f64,
1039 info: &mut i32,
1040) {
1041 ffi::dgbequb_(
1042 &m,
1043 &n,
1044 &kl,
1045 &ku,
1046 ab.as_ptr(),
1047 &ldab,
1048 r.as_mut_ptr(),
1049 c.as_mut_ptr(),
1050 rowcnd,
1051 colcnd,
1052 amax,
1053 info,
1054 )
1055}
1056
1057#[inline]
1058pub unsafe fn sgbequb(
1059 m: i32,
1060 n: i32,
1061 kl: i32,
1062 ku: i32,
1063 ab: &[f32],
1064 ldab: i32,
1065 r: &mut [f32],
1066 c: &mut [f32],
1067 rowcnd: &mut f32,
1068 colcnd: &mut f32,
1069 amax: &mut f32,
1070 info: &mut i32,
1071) {
1072 ffi::sgbequb_(
1073 &m,
1074 &n,
1075 &kl,
1076 &ku,
1077 ab.as_ptr(),
1078 &ldab,
1079 r.as_mut_ptr(),
1080 c.as_mut_ptr(),
1081 rowcnd,
1082 colcnd,
1083 amax,
1084 info,
1085 )
1086}
1087
1088#[inline]
1089pub unsafe fn zgbequb(
1090 m: i32,
1091 n: i32,
1092 kl: i32,
1093 ku: i32,
1094 ab: &[c64],
1095 ldab: i32,
1096 r: &mut [f64],
1097 c: &mut [f64],
1098 rowcnd: &mut f64,
1099 colcnd: &mut f64,
1100 amax: &mut f64,
1101 info: &mut i32,
1102) {
1103 ffi::zgbequb_(
1104 &m,
1105 &n,
1106 &kl,
1107 &ku,
1108 ab.as_ptr() as *const _,
1109 &ldab,
1110 r.as_mut_ptr(),
1111 c.as_mut_ptr(),
1112 rowcnd,
1113 colcnd,
1114 amax,
1115 info,
1116 )
1117}
1118
1119#[inline]
1120pub unsafe fn cgbrfs(
1121 trans: u8,
1122 n: i32,
1123 kl: i32,
1124 ku: i32,
1125 nrhs: i32,
1126 ab: &[c32],
1127 ldab: i32,
1128 afb: &[c32],
1129 ldafb: i32,
1130 ipiv: &[i32],
1131 b: &[c32],
1132 ldb: i32,
1133 x: &mut [c32],
1134 ldx: i32,
1135 ferr: &mut [f32],
1136 berr: &mut [f32],
1137 work: &mut [c32],
1138 rwork: &mut [f32],
1139 info: &mut i32,
1140) {
1141 ffi::cgbrfs_(
1142 &(trans as c_char),
1143 &n,
1144 &kl,
1145 &ku,
1146 &nrhs,
1147 ab.as_ptr() as *const _,
1148 &ldab,
1149 afb.as_ptr() as *const _,
1150 &ldafb,
1151 ipiv.as_ptr(),
1152 b.as_ptr() as *const _,
1153 &ldb,
1154 x.as_mut_ptr() as *mut _,
1155 &ldx,
1156 ferr.as_mut_ptr(),
1157 berr.as_mut_ptr(),
1158 work.as_mut_ptr() as *mut _,
1159 rwork.as_mut_ptr(),
1160 info,
1161 )
1162}
1163
1164#[inline]
1165pub unsafe fn dgbrfs(
1166 trans: u8,
1167 n: i32,
1168 kl: i32,
1169 ku: i32,
1170 nrhs: i32,
1171 ab: &[f64],
1172 ldab: i32,
1173 afb: &[f64],
1174 ldafb: i32,
1175 ipiv: &[i32],
1176 b: &[f64],
1177 ldb: i32,
1178 x: &mut [f64],
1179 ldx: i32,
1180 ferr: &mut [f64],
1181 berr: &mut [f64],
1182 work: &mut [f64],
1183 iwork: &mut [i32],
1184 info: &mut i32,
1185) {
1186 ffi::dgbrfs_(
1187 &(trans as c_char),
1188 &n,
1189 &kl,
1190 &ku,
1191 &nrhs,
1192 ab.as_ptr(),
1193 &ldab,
1194 afb.as_ptr(),
1195 &ldafb,
1196 ipiv.as_ptr(),
1197 b.as_ptr(),
1198 &ldb,
1199 x.as_mut_ptr(),
1200 &ldx,
1201 ferr.as_mut_ptr(),
1202 berr.as_mut_ptr(),
1203 work.as_mut_ptr(),
1204 iwork.as_mut_ptr(),
1205 info,
1206 )
1207}
1208
1209#[inline]
1210pub unsafe fn sgbrfs(
1211 trans: u8,
1212 n: i32,
1213 kl: i32,
1214 ku: i32,
1215 nrhs: i32,
1216 ab: &[f32],
1217 ldab: i32,
1218 afb: &[f32],
1219 ldafb: i32,
1220 ipiv: &[i32],
1221 b: &[f32],
1222 ldb: i32,
1223 x: &mut [f32],
1224 ldx: i32,
1225 ferr: &mut [f32],
1226 berr: &mut [f32],
1227 work: &mut [f32],
1228 iwork: &mut [i32],
1229 info: &mut i32,
1230) {
1231 ffi::sgbrfs_(
1232 &(trans as c_char),
1233 &n,
1234 &kl,
1235 &ku,
1236 &nrhs,
1237 ab.as_ptr(),
1238 &ldab,
1239 afb.as_ptr(),
1240 &ldafb,
1241 ipiv.as_ptr(),
1242 b.as_ptr(),
1243 &ldb,
1244 x.as_mut_ptr(),
1245 &ldx,
1246 ferr.as_mut_ptr(),
1247 berr.as_mut_ptr(),
1248 work.as_mut_ptr(),
1249 iwork.as_mut_ptr(),
1250 info,
1251 )
1252}
1253
1254#[inline]
1255pub unsafe fn zgbrfs(
1256 trans: u8,
1257 n: i32,
1258 kl: i32,
1259 ku: i32,
1260 nrhs: i32,
1261 ab: &[c64],
1262 ldab: i32,
1263 afb: &[c64],
1264 ldafb: i32,
1265 ipiv: &[i32],
1266 b: &[c64],
1267 ldb: i32,
1268 x: &mut [c64],
1269 ldx: i32,
1270 ferr: &mut [f64],
1271 berr: &mut [f64],
1272 work: &mut [c64],
1273 rwork: &mut [f64],
1274 info: &mut i32,
1275) {
1276 ffi::zgbrfs_(
1277 &(trans as c_char),
1278 &n,
1279 &kl,
1280 &ku,
1281 &nrhs,
1282 ab.as_ptr() as *const _,
1283 &ldab,
1284 afb.as_ptr() as *const _,
1285 &ldafb,
1286 ipiv.as_ptr(),
1287 b.as_ptr() as *const _,
1288 &ldb,
1289 x.as_mut_ptr() as *mut _,
1290 &ldx,
1291 ferr.as_mut_ptr(),
1292 berr.as_mut_ptr(),
1293 work.as_mut_ptr() as *mut _,
1294 rwork.as_mut_ptr(),
1295 info,
1296 )
1297}
1298
1299#[inline]
1300pub unsafe fn cgbrfsx(
1301 trans: u8,
1302 equed: u8,
1303 n: i32,
1304 kl: i32,
1305 ku: i32,
1306 nrhs: i32,
1307 ab: &[c32],
1308 ldab: i32,
1309 afb: &[c32],
1310 ldafb: i32,
1311 ipiv: &[i32],
1312 r: &mut [f32],
1313 c: &mut [f32],
1314 b: &[c32],
1315 ldb: i32,
1316 x: &mut [c32],
1317 ldx: i32,
1318 rcond: &mut f32,
1319 berr: &mut [f32],
1320 n_err_bnds: i32,
1321 err_bnds_norm: &mut [f32],
1322 err_bnds_comp: &mut [f32],
1323 nparams: &[i32],
1324 params: &mut [f32],
1325 work: &mut [c32],
1326 rwork: &mut [f32],
1327 info: &mut i32,
1328) {
1329 ffi::cgbrfsx_(
1330 &(trans as c_char),
1331 &(equed as c_char),
1332 &n,
1333 &kl,
1334 &ku,
1335 &nrhs,
1336 ab.as_ptr() as *const _,
1337 &ldab,
1338 afb.as_ptr() as *const _,
1339 &ldafb,
1340 ipiv.as_ptr(),
1341 r.as_mut_ptr(),
1342 c.as_mut_ptr(),
1343 b.as_ptr() as *const _,
1344 &ldb,
1345 x.as_mut_ptr() as *mut _,
1346 &ldx,
1347 rcond,
1348 berr.as_mut_ptr(),
1349 &n_err_bnds,
1350 err_bnds_norm.as_mut_ptr(),
1351 err_bnds_comp.as_mut_ptr(),
1352 nparams.as_ptr(),
1353 params.as_mut_ptr(),
1354 work.as_mut_ptr() as *mut _,
1355 rwork.as_mut_ptr(),
1356 info,
1357 )
1358}
1359
1360#[inline]
1361pub unsafe fn dgbrfsx(
1362 trans: u8,
1363 equed: u8,
1364 n: i32,
1365 kl: i32,
1366 ku: i32,
1367 nrhs: i32,
1368 ab: &[f64],
1369 ldab: i32,
1370 afb: &[f64],
1371 ldafb: i32,
1372 ipiv: &[i32],
1373 r: &mut [f64],
1374 c: &mut [f64],
1375 b: &[f64],
1376 ldb: i32,
1377 x: &mut [f64],
1378 ldx: i32,
1379 rcond: &mut f64,
1380 berr: &mut [f64],
1381 n_err_bnds: i32,
1382 err_bnds_norm: &mut [f64],
1383 err_bnds_comp: &mut [f64],
1384 nparams: &[i32],
1385 params: &mut [f64],
1386 work: &mut [f64],
1387 iwork: &mut [i32],
1388 info: &mut i32,
1389) {
1390 ffi::dgbrfsx_(
1391 &(trans as c_char),
1392 &(equed as c_char),
1393 &n,
1394 &kl,
1395 &ku,
1396 &nrhs,
1397 ab.as_ptr(),
1398 &ldab,
1399 afb.as_ptr(),
1400 &ldafb,
1401 ipiv.as_ptr(),
1402 r.as_mut_ptr(),
1403 c.as_mut_ptr(),
1404 b.as_ptr(),
1405 &ldb,
1406 x.as_mut_ptr(),
1407 &ldx,
1408 rcond,
1409 berr.as_mut_ptr(),
1410 &n_err_bnds,
1411 err_bnds_norm.as_mut_ptr(),
1412 err_bnds_comp.as_mut_ptr(),
1413 nparams.as_ptr(),
1414 params.as_mut_ptr(),
1415 work.as_mut_ptr(),
1416 iwork.as_mut_ptr(),
1417 info,
1418 )
1419}
1420
1421#[inline]
1422pub unsafe fn sgbrfsx(
1423 trans: u8,
1424 equed: u8,
1425 n: i32,
1426 kl: i32,
1427 ku: i32,
1428 nrhs: i32,
1429 ab: &[f32],
1430 ldab: i32,
1431 afb: &[f32],
1432 ldafb: i32,
1433 ipiv: &[i32],
1434 r: &mut [f32],
1435 c: &mut [f32],
1436 b: &[f32],
1437 ldb: i32,
1438 x: &mut [f32],
1439 ldx: i32,
1440 rcond: &mut f32,
1441 berr: &mut [f32],
1442 n_err_bnds: i32,
1443 err_bnds_norm: &mut [f32],
1444 err_bnds_comp: &mut [f32],
1445 nparams: &[i32],
1446 params: &mut [f32],
1447 work: &mut [f32],
1448 iwork: &mut [i32],
1449 info: &mut i32,
1450) {
1451 ffi::sgbrfsx_(
1452 &(trans as c_char),
1453 &(equed as c_char),
1454 &n,
1455 &kl,
1456 &ku,
1457 &nrhs,
1458 ab.as_ptr(),
1459 &ldab,
1460 afb.as_ptr(),
1461 &ldafb,
1462 ipiv.as_ptr(),
1463 r.as_mut_ptr(),
1464 c.as_mut_ptr(),
1465 b.as_ptr(),
1466 &ldb,
1467 x.as_mut_ptr(),
1468 &ldx,
1469 rcond,
1470 berr.as_mut_ptr(),
1471 &n_err_bnds,
1472 err_bnds_norm.as_mut_ptr(),
1473 err_bnds_comp.as_mut_ptr(),
1474 nparams.as_ptr(),
1475 params.as_mut_ptr(),
1476 work.as_mut_ptr(),
1477 iwork.as_mut_ptr(),
1478 info,
1479 )
1480}
1481
1482#[inline]
1483pub unsafe fn zgbrfsx(
1484 trans: u8,
1485 equed: u8,
1486 n: i32,
1487 kl: i32,
1488 ku: i32,
1489 nrhs: i32,
1490 ab: &[c64],
1491 ldab: i32,
1492 afb: &[c64],
1493 ldafb: i32,
1494 ipiv: &[i32],
1495 r: &mut [f64],
1496 c: &mut [f64],
1497 b: &[c64],
1498 ldb: i32,
1499 x: &mut [c64],
1500 ldx: i32,
1501 rcond: &mut f64,
1502 berr: &mut [f64],
1503 n_err_bnds: i32,
1504 err_bnds_norm: &mut [f64],
1505 err_bnds_comp: &mut [f64],
1506 nparams: &[i32],
1507 params: &mut [f64],
1508 work: &mut [c64],
1509 rwork: &mut [f64],
1510 info: &mut i32,
1511) {
1512 ffi::zgbrfsx_(
1513 &(trans as c_char),
1514 &(equed as c_char),
1515 &n,
1516 &kl,
1517 &ku,
1518 &nrhs,
1519 ab.as_ptr() as *const _,
1520 &ldab,
1521 afb.as_ptr() as *const _,
1522 &ldafb,
1523 ipiv.as_ptr(),
1524 r.as_mut_ptr(),
1525 c.as_mut_ptr(),
1526 b.as_ptr() as *const _,
1527 &ldb,
1528 x.as_mut_ptr() as *mut _,
1529 &ldx,
1530 rcond,
1531 berr.as_mut_ptr(),
1532 &n_err_bnds,
1533 err_bnds_norm.as_mut_ptr(),
1534 err_bnds_comp.as_mut_ptr(),
1535 nparams.as_ptr(),
1536 params.as_mut_ptr(),
1537 work.as_mut_ptr() as *mut _,
1538 rwork.as_mut_ptr(),
1539 info,
1540 )
1541}
1542
1543#[inline]
1544pub unsafe fn cgbsv(
1545 n: i32,
1546 kl: i32,
1547 ku: i32,
1548 nrhs: i32,
1549 ab: &mut [c32],
1550 ldab: i32,
1551 ipiv: &mut [i32],
1552 b: &mut [c32],
1553 ldb: i32,
1554 info: &mut i32,
1555) {
1556 ffi::cgbsv_(
1557 &n,
1558 &kl,
1559 &ku,
1560 &nrhs,
1561 ab.as_mut_ptr() as *mut _,
1562 &ldab,
1563 ipiv.as_mut_ptr(),
1564 b.as_mut_ptr() as *mut _,
1565 &ldb,
1566 info,
1567 )
1568}
1569
1570#[inline]
1571pub unsafe fn dgbsv(
1572 n: i32,
1573 kl: i32,
1574 ku: i32,
1575 nrhs: i32,
1576 ab: &mut [f64],
1577 ldab: i32,
1578 ipiv: &mut [i32],
1579 b: &mut [f64],
1580 ldb: i32,
1581 info: &mut i32,
1582) {
1583 ffi::dgbsv_(
1584 &n,
1585 &kl,
1586 &ku,
1587 &nrhs,
1588 ab.as_mut_ptr(),
1589 &ldab,
1590 ipiv.as_mut_ptr(),
1591 b.as_mut_ptr(),
1592 &ldb,
1593 info,
1594 )
1595}
1596
1597#[inline]
1598pub unsafe fn sgbsv(
1599 n: i32,
1600 kl: i32,
1601 ku: i32,
1602 nrhs: i32,
1603 ab: &mut [f32],
1604 ldab: i32,
1605 ipiv: &mut [i32],
1606 b: &mut [f32],
1607 ldb: i32,
1608 info: &mut i32,
1609) {
1610 ffi::sgbsv_(
1611 &n,
1612 &kl,
1613 &ku,
1614 &nrhs,
1615 ab.as_mut_ptr(),
1616 &ldab,
1617 ipiv.as_mut_ptr(),
1618 b.as_mut_ptr(),
1619 &ldb,
1620 info,
1621 )
1622}
1623
1624#[inline]
1625pub unsafe fn zgbsv(
1626 n: i32,
1627 kl: i32,
1628 ku: i32,
1629 nrhs: i32,
1630 ab: &mut [c64],
1631 ldab: i32,
1632 ipiv: &mut [i32],
1633 b: &mut [c64],
1634 ldb: i32,
1635 info: &mut i32,
1636) {
1637 ffi::zgbsv_(
1638 &n,
1639 &kl,
1640 &ku,
1641 &nrhs,
1642 ab.as_mut_ptr() as *mut _,
1643 &ldab,
1644 ipiv.as_mut_ptr(),
1645 b.as_mut_ptr() as *mut _,
1646 &ldb,
1647 info,
1648 )
1649}
1650
1651#[inline]
1652pub unsafe fn cgbsvx(
1653 fact: u8,
1654 trans: u8,
1655 n: i32,
1656 kl: i32,
1657 ku: i32,
1658 nrhs: i32,
1659 ab: &mut [c32],
1660 ldab: i32,
1661 afb: &mut [c32],
1662 ldafb: i32,
1663 ipiv: &mut [i32],
1664 equed: &mut u8,
1665 r: &mut [f32],
1666 c: &mut [f32],
1667 b: &mut [c32],
1668 ldb: i32,
1669 x: &mut [c32],
1670 ldx: i32,
1671 rcond: &mut f32,
1672 ferr: &mut [f32],
1673 berr: &mut [f32],
1674 work: &mut [c32],
1675 rwork: &mut [f32],
1676 info: &mut i32,
1677) {
1678 ffi::cgbsvx_(
1679 &(fact as c_char),
1680 &(trans as c_char),
1681 &n,
1682 &kl,
1683 &ku,
1684 &nrhs,
1685 ab.as_mut_ptr() as *mut _,
1686 &ldab,
1687 afb.as_mut_ptr() as *mut _,
1688 &ldafb,
1689 ipiv.as_mut_ptr(),
1690 equed as *mut _ as *mut _,
1691 r.as_mut_ptr(),
1692 c.as_mut_ptr(),
1693 b.as_mut_ptr() as *mut _,
1694 &ldb,
1695 x.as_mut_ptr() as *mut _,
1696 &ldx,
1697 rcond,
1698 ferr.as_mut_ptr(),
1699 berr.as_mut_ptr(),
1700 work.as_mut_ptr() as *mut _,
1701 rwork.as_mut_ptr(),
1702 info,
1703 )
1704}
1705
1706#[inline]
1707pub unsafe fn dgbsvx(
1708 fact: u8,
1709 trans: u8,
1710 n: i32,
1711 kl: i32,
1712 ku: i32,
1713 nrhs: i32,
1714 ab: &mut [f64],
1715 ldab: i32,
1716 afb: &mut [f64],
1717 ldafb: i32,
1718 ipiv: &mut [i32],
1719 equed: &mut u8,
1720 r: &mut [f64],
1721 c: &mut [f64],
1722 b: &mut [f64],
1723 ldb: i32,
1724 x: &mut [f64],
1725 ldx: i32,
1726 rcond: &mut f64,
1727 ferr: &mut [f64],
1728 berr: &mut [f64],
1729 work: &mut [f64],
1730 iwork: &mut [i32],
1731 info: &mut i32,
1732) {
1733 ffi::dgbsvx_(
1734 &(fact as c_char),
1735 &(trans as c_char),
1736 &n,
1737 &kl,
1738 &ku,
1739 &nrhs,
1740 ab.as_mut_ptr(),
1741 &ldab,
1742 afb.as_mut_ptr(),
1743 &ldafb,
1744 ipiv.as_mut_ptr(),
1745 equed as *mut _ as *mut _,
1746 r.as_mut_ptr(),
1747 c.as_mut_ptr(),
1748 b.as_mut_ptr(),
1749 &ldb,
1750 x.as_mut_ptr(),
1751 &ldx,
1752 rcond,
1753 ferr.as_mut_ptr(),
1754 berr.as_mut_ptr(),
1755 work.as_mut_ptr(),
1756 iwork.as_mut_ptr(),
1757 info,
1758 )
1759}
1760
1761#[inline]
1762pub unsafe fn sgbsvx(
1763 fact: u8,
1764 trans: u8,
1765 n: i32,
1766 kl: i32,
1767 ku: i32,
1768 nrhs: i32,
1769 ab: &mut [f32],
1770 ldab: i32,
1771 afb: &mut [f32],
1772 ldafb: i32,
1773 ipiv: &mut [i32],
1774 equed: &mut u8,
1775 r: &mut [f32],
1776 c: &mut [f32],
1777 b: &mut [f32],
1778 ldb: i32,
1779 x: &mut [f32],
1780 ldx: i32,
1781 rcond: &mut f32,
1782 ferr: &mut [f32],
1783 berr: &mut [f32],
1784 work: &mut [f32],
1785 iwork: &mut [i32],
1786 info: &mut i32,
1787) {
1788 ffi::sgbsvx_(
1789 &(fact as c_char),
1790 &(trans as c_char),
1791 &n,
1792 &kl,
1793 &ku,
1794 &nrhs,
1795 ab.as_mut_ptr(),
1796 &ldab,
1797 afb.as_mut_ptr(),
1798 &ldafb,
1799 ipiv.as_mut_ptr(),
1800 equed as *mut _ as *mut _,
1801 r.as_mut_ptr(),
1802 c.as_mut_ptr(),
1803 b.as_mut_ptr(),
1804 &ldb,
1805 x.as_mut_ptr(),
1806 &ldx,
1807 rcond,
1808 ferr.as_mut_ptr(),
1809 berr.as_mut_ptr(),
1810 work.as_mut_ptr(),
1811 iwork.as_mut_ptr(),
1812 info,
1813 )
1814}
1815
1816#[inline]
1817pub unsafe fn zgbsvx(
1818 fact: u8,
1819 trans: u8,
1820 n: i32,
1821 kl: i32,
1822 ku: i32,
1823 nrhs: i32,
1824 ab: &mut [c64],
1825 ldab: i32,
1826 afb: &mut [c64],
1827 ldafb: i32,
1828 ipiv: &mut [i32],
1829 equed: &mut u8,
1830 r: &mut [f64],
1831 c: &mut [f64],
1832 b: &mut [c64],
1833 ldb: i32,
1834 x: &mut [c64],
1835 ldx: i32,
1836 rcond: &mut f64,
1837 ferr: &mut [f64],
1838 berr: &mut [f64],
1839 work: &mut [c64],
1840 rwork: &mut [f64],
1841 info: &mut i32,
1842) {
1843 ffi::zgbsvx_(
1844 &(fact as c_char),
1845 &(trans as c_char),
1846 &n,
1847 &kl,
1848 &ku,
1849 &nrhs,
1850 ab.as_mut_ptr() as *mut _,
1851 &ldab,
1852 afb.as_mut_ptr() as *mut _,
1853 &ldafb,
1854 ipiv.as_mut_ptr(),
1855 equed as *mut _ as *mut _,
1856 r.as_mut_ptr(),
1857 c.as_mut_ptr(),
1858 b.as_mut_ptr() as *mut _,
1859 &ldb,
1860 x.as_mut_ptr() as *mut _,
1861 &ldx,
1862 rcond,
1863 ferr.as_mut_ptr(),
1864 berr.as_mut_ptr(),
1865 work.as_mut_ptr() as *mut _,
1866 rwork.as_mut_ptr(),
1867 info,
1868 )
1869}
1870
1871#[inline]
1872pub unsafe fn cgbsvxx(
1873 fact: u8,
1874 trans: u8,
1875 n: i32,
1876 kl: i32,
1877 ku: i32,
1878 nrhs: i32,
1879 ab: &mut [c32],
1880 ldab: i32,
1881 afb: &mut [c32],
1882 ldafb: i32,
1883 ipiv: &mut [i32],
1884 equed: &mut u8,
1885 r: &mut [f32],
1886 c: &mut [f32],
1887 b: &mut [c32],
1888 ldb: i32,
1889 x: &mut [c32],
1890 ldx: i32,
1891 rcond: &mut f32,
1892 rpvgrw: &mut f32,
1893 berr: &mut [f32],
1894 n_err_bnds: i32,
1895 err_bnds_norm: &mut [f32],
1896 err_bnds_comp: &mut [f32],
1897 nparams: &[i32],
1898 params: &mut [f32],
1899 work: &mut [c32],
1900 rwork: &mut [f32],
1901 info: &mut i32,
1902) {
1903 ffi::cgbsvxx_(
1904 &(fact as c_char),
1905 &(trans as c_char),
1906 &n,
1907 &kl,
1908 &ku,
1909 &nrhs,
1910 ab.as_mut_ptr() as *mut _,
1911 &ldab,
1912 afb.as_mut_ptr() as *mut _,
1913 &ldafb,
1914 ipiv.as_mut_ptr(),
1915 equed as *mut _ as *mut _,
1916 r.as_mut_ptr(),
1917 c.as_mut_ptr(),
1918 b.as_mut_ptr() as *mut _,
1919 &ldb,
1920 x.as_mut_ptr() as *mut _,
1921 &ldx,
1922 rcond,
1923 rpvgrw,
1924 berr.as_mut_ptr(),
1925 &n_err_bnds,
1926 err_bnds_norm.as_mut_ptr(),
1927 err_bnds_comp.as_mut_ptr(),
1928 nparams.as_ptr(),
1929 params.as_mut_ptr(),
1930 work.as_mut_ptr() as *mut _,
1931 rwork.as_mut_ptr(),
1932 info,
1933 )
1934}
1935
1936#[inline]
1937pub unsafe fn dgbsvxx(
1938 fact: u8,
1939 trans: u8,
1940 n: i32,
1941 kl: i32,
1942 ku: i32,
1943 nrhs: i32,
1944 ab: &mut [f64],
1945 ldab: i32,
1946 afb: &mut [f64],
1947 ldafb: i32,
1948 ipiv: &mut [i32],
1949 equed: &mut u8,
1950 r: &mut [f64],
1951 c: &mut [f64],
1952 b: &mut [f64],
1953 ldb: i32,
1954 x: &mut [f64],
1955 ldx: i32,
1956 rcond: &mut f64,
1957 rpvgrw: &mut f64,
1958 berr: &mut [f64],
1959 n_err_bnds: i32,
1960 err_bnds_norm: &mut [f64],
1961 err_bnds_comp: &mut [f64],
1962 nparams: &[i32],
1963 params: &mut [f64],
1964 work: &mut [f64],
1965 iwork: &mut [i32],
1966 info: &mut i32,
1967) {
1968 ffi::dgbsvxx_(
1969 &(fact as c_char),
1970 &(trans as c_char),
1971 &n,
1972 &kl,
1973 &ku,
1974 &nrhs,
1975 ab.as_mut_ptr(),
1976 &ldab,
1977 afb.as_mut_ptr(),
1978 &ldafb,
1979 ipiv.as_mut_ptr(),
1980 equed as *mut _ as *mut _,
1981 r.as_mut_ptr(),
1982 c.as_mut_ptr(),
1983 b.as_mut_ptr(),
1984 &ldb,
1985 x.as_mut_ptr(),
1986 &ldx,
1987 rcond,
1988 rpvgrw,
1989 berr.as_mut_ptr(),
1990 &n_err_bnds,
1991 err_bnds_norm.as_mut_ptr(),
1992 err_bnds_comp.as_mut_ptr(),
1993 nparams.as_ptr(),
1994 params.as_mut_ptr(),
1995 work.as_mut_ptr(),
1996 iwork.as_mut_ptr(),
1997 info,
1998 )
1999}
2000
2001#[inline]
2002pub unsafe fn sgbsvxx(
2003 fact: u8,
2004 trans: u8,
2005 n: i32,
2006 kl: i32,
2007 ku: i32,
2008 nrhs: i32,
2009 ab: &mut [f32],
2010 ldab: i32,
2011 afb: &mut [f32],
2012 ldafb: i32,
2013 ipiv: &mut [i32],
2014 equed: &mut u8,
2015 r: &mut [f32],
2016 c: &mut [f32],
2017 b: &mut [f32],
2018 ldb: i32,
2019 x: &mut [f32],
2020 ldx: i32,
2021 rcond: &mut f32,
2022 rpvgrw: &mut f32,
2023 berr: &mut [f32],
2024 n_err_bnds: i32,
2025 err_bnds_norm: &mut [f32],
2026 err_bnds_comp: &mut [f32],
2027 nparams: &[i32],
2028 params: &mut [f32],
2029 work: &mut [f32],
2030 iwork: &mut [i32],
2031 info: &mut i32,
2032) {
2033 ffi::sgbsvxx_(
2034 &(fact as c_char),
2035 &(trans as c_char),
2036 &n,
2037 &kl,
2038 &ku,
2039 &nrhs,
2040 ab.as_mut_ptr(),
2041 &ldab,
2042 afb.as_mut_ptr(),
2043 &ldafb,
2044 ipiv.as_mut_ptr(),
2045 equed as *mut _ as *mut _,
2046 r.as_mut_ptr(),
2047 c.as_mut_ptr(),
2048 b.as_mut_ptr(),
2049 &ldb,
2050 x.as_mut_ptr(),
2051 &ldx,
2052 rcond,
2053 rpvgrw,
2054 berr.as_mut_ptr(),
2055 &n_err_bnds,
2056 err_bnds_norm.as_mut_ptr(),
2057 err_bnds_comp.as_mut_ptr(),
2058 nparams.as_ptr(),
2059 params.as_mut_ptr(),
2060 work.as_mut_ptr(),
2061 iwork.as_mut_ptr(),
2062 info,
2063 )
2064}
2065
2066#[inline]
2067pub unsafe fn zgbsvxx(
2068 fact: u8,
2069 trans: u8,
2070 n: i32,
2071 kl: i32,
2072 ku: i32,
2073 nrhs: i32,
2074 ab: &mut [c64],
2075 ldab: i32,
2076 afb: &mut [c64],
2077 ldafb: i32,
2078 ipiv: &mut [i32],
2079 equed: &mut u8,
2080 r: &mut [f64],
2081 c: &mut [f64],
2082 b: &mut [c64],
2083 ldb: i32,
2084 x: &mut [c64],
2085 ldx: i32,
2086 rcond: &mut f64,
2087 rpvgrw: &mut f64,
2088 berr: &mut [f64],
2089 n_err_bnds: i32,
2090 err_bnds_norm: &mut [f64],
2091 err_bnds_comp: &mut [f64],
2092 nparams: &[i32],
2093 params: &mut [f64],
2094 work: &mut [c64],
2095 rwork: &mut [f64],
2096 info: &mut i32,
2097) {
2098 ffi::zgbsvxx_(
2099 &(fact as c_char),
2100 &(trans as c_char),
2101 &n,
2102 &kl,
2103 &ku,
2104 &nrhs,
2105 ab.as_mut_ptr() as *mut _,
2106 &ldab,
2107 afb.as_mut_ptr() as *mut _,
2108 &ldafb,
2109 ipiv.as_mut_ptr(),
2110 equed as *mut _ as *mut _,
2111 r.as_mut_ptr(),
2112 c.as_mut_ptr(),
2113 b.as_mut_ptr() as *mut _,
2114 &ldb,
2115 x.as_mut_ptr() as *mut _,
2116 &ldx,
2117 rcond,
2118 rpvgrw,
2119 berr.as_mut_ptr(),
2120 &n_err_bnds,
2121 err_bnds_norm.as_mut_ptr(),
2122 err_bnds_comp.as_mut_ptr(),
2123 nparams.as_ptr(),
2124 params.as_mut_ptr(),
2125 work.as_mut_ptr() as *mut _,
2126 rwork.as_mut_ptr(),
2127 info,
2128 )
2129}
2130
2131#[inline]
2132pub unsafe fn cgbtrf(
2133 m: i32,
2134 n: i32,
2135 kl: i32,
2136 ku: i32,
2137 ab: &mut [c32],
2138 ldab: i32,
2139 ipiv: &mut [i32],
2140 info: &mut i32,
2141) {
2142 ffi::cgbtrf_(
2143 &m,
2144 &n,
2145 &kl,
2146 &ku,
2147 ab.as_mut_ptr() as *mut _,
2148 &ldab,
2149 ipiv.as_mut_ptr(),
2150 info,
2151 )
2152}
2153
2154#[inline]
2155pub unsafe fn dgbtrf(
2156 m: i32,
2157 n: i32,
2158 kl: i32,
2159 ku: i32,
2160 ab: &mut [f64],
2161 ldab: i32,
2162 ipiv: &mut [i32],
2163 info: &mut i32,
2164) {
2165 ffi::dgbtrf_(
2166 &m,
2167 &n,
2168 &kl,
2169 &ku,
2170 ab.as_mut_ptr(),
2171 &ldab,
2172 ipiv.as_mut_ptr(),
2173 info,
2174 )
2175}
2176
2177#[inline]
2178pub unsafe fn sgbtrf(
2179 m: i32,
2180 n: i32,
2181 kl: i32,
2182 ku: i32,
2183 ab: &mut [f32],
2184 ldab: i32,
2185 ipiv: &mut [i32],
2186 info: &mut i32,
2187) {
2188 ffi::sgbtrf_(
2189 &m,
2190 &n,
2191 &kl,
2192 &ku,
2193 ab.as_mut_ptr(),
2194 &ldab,
2195 ipiv.as_mut_ptr(),
2196 info,
2197 )
2198}
2199
2200#[inline]
2201pub unsafe fn zgbtrf(
2202 m: i32,
2203 n: i32,
2204 kl: i32,
2205 ku: i32,
2206 ab: &mut [c64],
2207 ldab: i32,
2208 ipiv: &mut [i32],
2209 info: &mut i32,
2210) {
2211 ffi::zgbtrf_(
2212 &m,
2213 &n,
2214 &kl,
2215 &ku,
2216 ab.as_mut_ptr() as *mut _,
2217 &ldab,
2218 ipiv.as_mut_ptr(),
2219 info,
2220 )
2221}
2222
2223#[inline]
2224pub unsafe fn cgbtrs(
2225 trans: u8,
2226 n: i32,
2227 kl: i32,
2228 ku: i32,
2229 nrhs: i32,
2230 ab: &[c32],
2231 ldab: i32,
2232 ipiv: &[i32],
2233 b: &mut [c32],
2234 ldb: i32,
2235 info: &mut i32,
2236) {
2237 ffi::cgbtrs_(
2238 &(trans as c_char),
2239 &n,
2240 &kl,
2241 &ku,
2242 &nrhs,
2243 ab.as_ptr() as *const _,
2244 &ldab,
2245 ipiv.as_ptr(),
2246 b.as_mut_ptr() as *mut _,
2247 &ldb,
2248 info,
2249 )
2250}
2251
2252#[inline]
2253pub unsafe fn dgbtrs(
2254 trans: u8,
2255 n: i32,
2256 kl: i32,
2257 ku: i32,
2258 nrhs: i32,
2259 ab: &[f64],
2260 ldab: i32,
2261 ipiv: &[i32],
2262 b: &mut [f64],
2263 ldb: i32,
2264 info: &mut i32,
2265) {
2266 ffi::dgbtrs_(
2267 &(trans as c_char),
2268 &n,
2269 &kl,
2270 &ku,
2271 &nrhs,
2272 ab.as_ptr(),
2273 &ldab,
2274 ipiv.as_ptr(),
2275 b.as_mut_ptr(),
2276 &ldb,
2277 info,
2278 )
2279}
2280
2281#[inline]
2282pub unsafe fn sgbtrs(
2283 trans: u8,
2284 n: i32,
2285 kl: i32,
2286 ku: i32,
2287 nrhs: i32,
2288 ab: &[f32],
2289 ldab: i32,
2290 ipiv: &[i32],
2291 b: &mut [f32],
2292 ldb: i32,
2293 info: &mut i32,
2294) {
2295 ffi::sgbtrs_(
2296 &(trans as c_char),
2297 &n,
2298 &kl,
2299 &ku,
2300 &nrhs,
2301 ab.as_ptr(),
2302 &ldab,
2303 ipiv.as_ptr(),
2304 b.as_mut_ptr(),
2305 &ldb,
2306 info,
2307 )
2308}
2309
2310#[inline]
2311pub unsafe fn zgbtrs(
2312 trans: u8,
2313 n: i32,
2314 kl: i32,
2315 ku: i32,
2316 nrhs: i32,
2317 ab: &[c64],
2318 ldab: i32,
2319 ipiv: &[i32],
2320 b: &mut [c64],
2321 ldb: i32,
2322 info: &mut i32,
2323) {
2324 ffi::zgbtrs_(
2325 &(trans as c_char),
2326 &n,
2327 &kl,
2328 &ku,
2329 &nrhs,
2330 ab.as_ptr() as *const _,
2331 &ldab,
2332 ipiv.as_ptr(),
2333 b.as_mut_ptr() as *mut _,
2334 &ldb,
2335 info,
2336 )
2337}
2338
2339#[inline]
2340pub unsafe fn cgebak(
2341 job: u8,
2342 side: u8,
2343 n: i32,
2344 ilo: i32,
2345 ihi: i32,
2346 scale: &[f32],
2347 m: i32,
2348 v: &mut [c32],
2349 ldv: i32,
2350 info: &mut i32,
2351) {
2352 ffi::cgebak_(
2353 &(job as c_char),
2354 &(side as c_char),
2355 &n,
2356 &ilo,
2357 &ihi,
2358 scale.as_ptr(),
2359 &m,
2360 v.as_mut_ptr() as *mut _,
2361 &ldv,
2362 info,
2363 )
2364}
2365
2366#[inline]
2367pub unsafe fn dgebak(
2368 job: u8,
2369 side: u8,
2370 n: i32,
2371 ilo: i32,
2372 ihi: i32,
2373 scale: &[f64],
2374 m: i32,
2375 v: &mut [f64],
2376 ldv: i32,
2377 info: &mut i32,
2378) {
2379 ffi::dgebak_(
2380 &(job as c_char),
2381 &(side as c_char),
2382 &n,
2383 &ilo,
2384 &ihi,
2385 scale.as_ptr(),
2386 &m,
2387 v.as_mut_ptr(),
2388 &ldv,
2389 info,
2390 )
2391}
2392
2393#[inline]
2394pub unsafe fn sgebak(
2395 job: u8,
2396 side: u8,
2397 n: i32,
2398 ilo: i32,
2399 ihi: i32,
2400 scale: &[f32],
2401 m: i32,
2402 v: &mut [f32],
2403 ldv: i32,
2404 info: &mut i32,
2405) {
2406 ffi::sgebak_(
2407 &(job as c_char),
2408 &(side as c_char),
2409 &n,
2410 &ilo,
2411 &ihi,
2412 scale.as_ptr(),
2413 &m,
2414 v.as_mut_ptr(),
2415 &ldv,
2416 info,
2417 )
2418}
2419
2420#[inline]
2421pub unsafe fn zgebak(
2422 job: u8,
2423 side: u8,
2424 n: i32,
2425 ilo: i32,
2426 ihi: i32,
2427 scale: &[f64],
2428 m: i32,
2429 v: &mut [c64],
2430 ldv: i32,
2431 info: &mut i32,
2432) {
2433 ffi::zgebak_(
2434 &(job as c_char),
2435 &(side as c_char),
2436 &n,
2437 &ilo,
2438 &ihi,
2439 scale.as_ptr(),
2440 &m,
2441 v.as_mut_ptr() as *mut _,
2442 &ldv,
2443 info,
2444 )
2445}
2446
2447#[inline]
2448pub unsafe fn cgebal(
2449 job: u8,
2450 n: i32,
2451 a: &mut [c32],
2452 lda: i32,
2453 ilo: &mut i32,
2454 ihi: &mut i32,
2455 scale: &mut [f32],
2456 info: &mut i32,
2457) {
2458 ffi::cgebal_(
2459 &(job as c_char),
2460 &n,
2461 a.as_mut_ptr() as *mut _,
2462 &lda,
2463 ilo,
2464 ihi,
2465 scale.as_mut_ptr(),
2466 info,
2467 )
2468}
2469
2470#[inline]
2471pub unsafe fn dgebal(
2472 job: u8,
2473 n: i32,
2474 a: &mut [f64],
2475 lda: i32,
2476 ilo: &mut i32,
2477 ihi: &mut i32,
2478 scale: &mut [f64],
2479 info: &mut i32,
2480) {
2481 ffi::dgebal_(
2482 &(job as c_char),
2483 &n,
2484 a.as_mut_ptr(),
2485 &lda,
2486 ilo,
2487 ihi,
2488 scale.as_mut_ptr(),
2489 info,
2490 )
2491}
2492
2493#[inline]
2494pub unsafe fn sgebal(
2495 job: u8,
2496 n: i32,
2497 a: &mut [f32],
2498 lda: i32,
2499 ilo: &mut i32,
2500 ihi: &mut i32,
2501 scale: &mut [f32],
2502 info: &mut i32,
2503) {
2504 ffi::sgebal_(
2505 &(job as c_char),
2506 &n,
2507 a.as_mut_ptr(),
2508 &lda,
2509 ilo,
2510 ihi,
2511 scale.as_mut_ptr(),
2512 info,
2513 )
2514}
2515
2516#[inline]
2517pub unsafe fn zgebal(
2518 job: u8,
2519 n: i32,
2520 a: &mut [c64],
2521 lda: i32,
2522 ilo: &mut i32,
2523 ihi: &mut i32,
2524 scale: &mut [f64],
2525 info: &mut i32,
2526) {
2527 ffi::zgebal_(
2528 &(job as c_char),
2529 &n,
2530 a.as_mut_ptr() as *mut _,
2531 &lda,
2532 ilo,
2533 ihi,
2534 scale.as_mut_ptr(),
2535 info,
2536 )
2537}
2538
2539#[inline]
2540pub unsafe fn cgebrd(
2541 m: i32,
2542 n: i32,
2543 a: &mut [c32],
2544 lda: i32,
2545 d: &mut [f32],
2546 e: &mut [f32],
2547 tauq: &mut [c32],
2548 taup: &mut [c32],
2549 work: &mut [c32],
2550 lwork: i32,
2551 info: &mut i32,
2552) {
2553 ffi::cgebrd_(
2554 &m,
2555 &n,
2556 a.as_mut_ptr() as *mut _,
2557 &lda,
2558 d.as_mut_ptr(),
2559 e.as_mut_ptr(),
2560 tauq.as_mut_ptr() as *mut _,
2561 taup.as_mut_ptr() as *mut _,
2562 work.as_mut_ptr() as *mut _,
2563 &lwork,
2564 info,
2565 )
2566}
2567
2568#[inline]
2569pub unsafe fn dgebrd(
2570 m: i32,
2571 n: i32,
2572 a: &mut [f64],
2573 lda: i32,
2574 d: &mut [f64],
2575 e: &mut [f64],
2576 tauq: &mut [f64],
2577 taup: &mut [f64],
2578 work: &mut [f64],
2579 lwork: i32,
2580 info: &mut i32,
2581) {
2582 ffi::dgebrd_(
2583 &m,
2584 &n,
2585 a.as_mut_ptr(),
2586 &lda,
2587 d.as_mut_ptr(),
2588 e.as_mut_ptr(),
2589 tauq.as_mut_ptr(),
2590 taup.as_mut_ptr(),
2591 work.as_mut_ptr(),
2592 &lwork,
2593 info,
2594 )
2595}
2596
2597#[inline]
2598pub unsafe fn sgebrd(
2599 m: i32,
2600 n: i32,
2601 a: &mut [f32],
2602 lda: i32,
2603 d: &mut [f32],
2604 e: &mut [f32],
2605 tauq: &mut [f32],
2606 taup: &mut [f32],
2607 work: &mut [f32],
2608 lwork: i32,
2609 info: &mut i32,
2610) {
2611 ffi::sgebrd_(
2612 &m,
2613 &n,
2614 a.as_mut_ptr(),
2615 &lda,
2616 d.as_mut_ptr(),
2617 e.as_mut_ptr(),
2618 tauq.as_mut_ptr(),
2619 taup.as_mut_ptr(),
2620 work.as_mut_ptr(),
2621 &lwork,
2622 info,
2623 )
2624}
2625
2626#[inline]
2627pub unsafe fn zgebrd(
2628 m: i32,
2629 n: i32,
2630 a: &mut [c64],
2631 lda: i32,
2632 d: &mut [f64],
2633 e: &mut [f64],
2634 tauq: &mut [c64],
2635 taup: &mut [c64],
2636 work: &mut [c64],
2637 lwork: i32,
2638 info: &mut i32,
2639) {
2640 ffi::zgebrd_(
2641 &m,
2642 &n,
2643 a.as_mut_ptr() as *mut _,
2644 &lda,
2645 d.as_mut_ptr(),
2646 e.as_mut_ptr(),
2647 tauq.as_mut_ptr() as *mut _,
2648 taup.as_mut_ptr() as *mut _,
2649 work.as_mut_ptr() as *mut _,
2650 &lwork,
2651 info,
2652 )
2653}
2654
2655#[inline]
2656pub unsafe fn cgecon(
2657 norm: u8,
2658 n: i32,
2659 a: &[c32],
2660 lda: i32,
2661 anorm: f32,
2662 rcond: &mut f32,
2663 work: &mut [c32],
2664 rwork: &mut [f32],
2665 info: &mut i32,
2666) {
2667 ffi::cgecon_(
2668 &(norm as c_char),
2669 &n,
2670 a.as_ptr() as *const _,
2671 &lda,
2672 &anorm,
2673 rcond,
2674 work.as_mut_ptr() as *mut _,
2675 rwork.as_mut_ptr(),
2676 info,
2677 )
2678}
2679
2680#[inline]
2681pub unsafe fn dgecon(
2682 norm: u8,
2683 n: i32,
2684 a: &[f64],
2685 lda: i32,
2686 anorm: f64,
2687 rcond: &mut f64,
2688 work: &mut [f64],
2689 iwork: &mut [i32],
2690 info: &mut i32,
2691) {
2692 ffi::dgecon_(
2693 &(norm as c_char),
2694 &n,
2695 a.as_ptr(),
2696 &lda,
2697 &anorm,
2698 rcond,
2699 work.as_mut_ptr(),
2700 iwork.as_mut_ptr(),
2701 info,
2702 )
2703}
2704
2705#[inline]
2706pub unsafe fn sgecon(
2707 norm: u8,
2708 n: i32,
2709 a: &[f32],
2710 lda: i32,
2711 anorm: f32,
2712 rcond: &mut f32,
2713 work: &mut [f32],
2714 iwork: &mut [i32],
2715 info: &mut i32,
2716) {
2717 ffi::sgecon_(
2718 &(norm as c_char),
2719 &n,
2720 a.as_ptr(),
2721 &lda,
2722 &anorm,
2723 rcond,
2724 work.as_mut_ptr(),
2725 iwork.as_mut_ptr(),
2726 info,
2727 )
2728}
2729
2730#[inline]
2731pub unsafe fn zgecon(
2732 norm: u8,
2733 n: i32,
2734 a: &[c64],
2735 lda: i32,
2736 anorm: f64,
2737 rcond: &mut f64,
2738 work: &mut [c64],
2739 rwork: &mut [f64],
2740 info: &mut i32,
2741) {
2742 ffi::zgecon_(
2743 &(norm as c_char),
2744 &n,
2745 a.as_ptr() as *const _,
2746 &lda,
2747 &anorm,
2748 rcond,
2749 work.as_mut_ptr() as *mut _,
2750 rwork.as_mut_ptr(),
2751 info,
2752 )
2753}
2754
2755#[inline]
2756pub unsafe fn cgeequ(
2757 m: i32,
2758 n: i32,
2759 a: &[c32],
2760 lda: i32,
2761 r: &mut [f32],
2762 c: &mut [f32],
2763 rowcnd: &mut f32,
2764 colcnd: &mut f32,
2765 amax: &mut f32,
2766 info: &mut i32,
2767) {
2768 ffi::cgeequ_(
2769 &m,
2770 &n,
2771 a.as_ptr() as *const _,
2772 &lda,
2773 r.as_mut_ptr(),
2774 c.as_mut_ptr(),
2775 rowcnd,
2776 colcnd,
2777 amax,
2778 info,
2779 )
2780}
2781
2782#[inline]
2783pub unsafe fn dgeequ(
2784 m: i32,
2785 n: i32,
2786 a: &[f64],
2787 lda: i32,
2788 r: &mut [f64],
2789 c: &mut [f64],
2790 rowcnd: &mut f64,
2791 colcnd: &mut f64,
2792 amax: &mut f64,
2793 info: &mut i32,
2794) {
2795 ffi::dgeequ_(
2796 &m,
2797 &n,
2798 a.as_ptr(),
2799 &lda,
2800 r.as_mut_ptr(),
2801 c.as_mut_ptr(),
2802 rowcnd,
2803 colcnd,
2804 amax,
2805 info,
2806 )
2807}
2808
2809#[inline]
2810pub unsafe fn sgeequ(
2811 m: i32,
2812 n: i32,
2813 a: &[f32],
2814 lda: i32,
2815 r: &mut [f32],
2816 c: &mut [f32],
2817 rowcnd: &mut f32,
2818 colcnd: &mut f32,
2819 amax: &mut f32,
2820 info: &mut i32,
2821) {
2822 ffi::sgeequ_(
2823 &m,
2824 &n,
2825 a.as_ptr(),
2826 &lda,
2827 r.as_mut_ptr(),
2828 c.as_mut_ptr(),
2829 rowcnd,
2830 colcnd,
2831 amax,
2832 info,
2833 )
2834}
2835
2836#[inline]
2837pub unsafe fn zgeequ(
2838 m: i32,
2839 n: i32,
2840 a: &[c64],
2841 lda: i32,
2842 r: &mut [f64],
2843 c: &mut [f64],
2844 rowcnd: &mut f64,
2845 colcnd: &mut f64,
2846 amax: &mut f64,
2847 info: &mut i32,
2848) {
2849 ffi::zgeequ_(
2850 &m,
2851 &n,
2852 a.as_ptr() as *const _,
2853 &lda,
2854 r.as_mut_ptr(),
2855 c.as_mut_ptr(),
2856 rowcnd,
2857 colcnd,
2858 amax,
2859 info,
2860 )
2861}
2862
2863#[inline]
2864pub unsafe fn cgeequb(
2865 m: i32,
2866 n: i32,
2867 a: &[c32],
2868 lda: i32,
2869 r: &mut [f32],
2870 c: &mut [f32],
2871 rowcnd: &mut f32,
2872 colcnd: &mut f32,
2873 amax: &mut f32,
2874 info: &mut i32,
2875) {
2876 ffi::cgeequb_(
2877 &m,
2878 &n,
2879 a.as_ptr() as *const _,
2880 &lda,
2881 r.as_mut_ptr(),
2882 c.as_mut_ptr(),
2883 rowcnd,
2884 colcnd,
2885 amax,
2886 info,
2887 )
2888}
2889
2890#[inline]
2891pub unsafe fn dgeequb(
2892 m: i32,
2893 n: i32,
2894 a: &[f64],
2895 lda: i32,
2896 r: &mut [f64],
2897 c: &mut [f64],
2898 rowcnd: &mut f64,
2899 colcnd: &mut f64,
2900 amax: &mut f64,
2901 info: &mut i32,
2902) {
2903 ffi::dgeequb_(
2904 &m,
2905 &n,
2906 a.as_ptr(),
2907 &lda,
2908 r.as_mut_ptr(),
2909 c.as_mut_ptr(),
2910 rowcnd,
2911 colcnd,
2912 amax,
2913 info,
2914 )
2915}
2916
2917#[inline]
2918pub unsafe fn sgeequb(
2919 m: i32,
2920 n: i32,
2921 a: &[f32],
2922 lda: i32,
2923 r: &mut [f32],
2924 c: &mut [f32],
2925 rowcnd: &mut f32,
2926 colcnd: &mut f32,
2927 amax: &mut f32,
2928 info: &mut i32,
2929) {
2930 ffi::sgeequb_(
2931 &m,
2932 &n,
2933 a.as_ptr(),
2934 &lda,
2935 r.as_mut_ptr(),
2936 c.as_mut_ptr(),
2937 rowcnd,
2938 colcnd,
2939 amax,
2940 info,
2941 )
2942}
2943
2944#[inline]
2945pub unsafe fn zgeequb(
2946 m: i32,
2947 n: i32,
2948 a: &[c64],
2949 lda: i32,
2950 r: &mut [f64],
2951 c: &mut [f64],
2952 rowcnd: &mut f64,
2953 colcnd: &mut f64,
2954 amax: &mut f64,
2955 info: &mut i32,
2956) {
2957 ffi::zgeequb_(
2958 &m,
2959 &n,
2960 a.as_ptr() as *const _,
2961 &lda,
2962 r.as_mut_ptr(),
2963 c.as_mut_ptr(),
2964 rowcnd,
2965 colcnd,
2966 amax,
2967 info,
2968 )
2969}
2970
2971#[inline]
2972pub unsafe fn cgees(
2973 jobvs: u8,
2974 sort: u8,
2975 select: Select1C32,
2976 n: i32,
2977 a: &mut [c32],
2978 lda: i32,
2979 sdim: &mut i32,
2980 w: &mut [c32],
2981 vs: &mut [c32],
2982 ldvs: i32,
2983 work: &mut [c32],
2984 lwork: i32,
2985 rwork: &mut [f32],
2986 bwork: &mut [i32],
2987 info: &mut i32,
2988) {
2989 ffi::cgees_(
2990 &(jobvs as c_char),
2991 &(sort as c_char),
2992 transmute(select),
2993 &n,
2994 a.as_mut_ptr() as *mut _,
2995 &lda,
2996 sdim,
2997 w.as_mut_ptr() as *mut _,
2998 vs.as_mut_ptr() as *mut _,
2999 &ldvs,
3000 work.as_mut_ptr() as *mut _,
3001 &lwork,
3002 rwork.as_mut_ptr(),
3003 bwork.as_mut_ptr(),
3004 info,
3005 )
3006}
3007
3008#[inline]
3009pub unsafe fn dgees(
3010 jobvs: u8,
3011 sort: u8,
3012 select: Select2F64,
3013 n: i32,
3014 a: &mut [f64],
3015 lda: i32,
3016 sdim: &mut i32,
3017 wr: &mut [f64],
3018 wi: &mut [f64],
3019 vs: &mut [f64],
3020 ldvs: i32,
3021 work: &mut [f64],
3022 lwork: i32,
3023 bwork: &mut [i32],
3024 info: &mut i32,
3025) {
3026 ffi::dgees_(
3027 &(jobvs as c_char),
3028 &(sort as c_char),
3029 transmute(select),
3030 &n,
3031 a.as_mut_ptr(),
3032 &lda,
3033 sdim,
3034 wr.as_mut_ptr(),
3035 wi.as_mut_ptr(),
3036 vs.as_mut_ptr(),
3037 &ldvs,
3038 work.as_mut_ptr(),
3039 &lwork,
3040 bwork.as_mut_ptr(),
3041 info,
3042 )
3043}
3044
3045#[inline]
3046pub unsafe fn sgees(
3047 jobvs: u8,
3048 sort: u8,
3049 select: Select2F32,
3050 n: i32,
3051 a: &mut [f32],
3052 lda: i32,
3053 sdim: &mut i32,
3054 wr: &mut [f32],
3055 wi: &mut [f32],
3056 vs: &mut [f32],
3057 ldvs: i32,
3058 work: &mut [f32],
3059 lwork: i32,
3060 bwork: &mut [i32],
3061 info: &mut i32,
3062) {
3063 ffi::sgees_(
3064 &(jobvs as c_char),
3065 &(sort as c_char),
3066 transmute(select),
3067 &n,
3068 a.as_mut_ptr(),
3069 &lda,
3070 sdim,
3071 wr.as_mut_ptr(),
3072 wi.as_mut_ptr(),
3073 vs.as_mut_ptr(),
3074 &ldvs,
3075 work.as_mut_ptr(),
3076 &lwork,
3077 bwork.as_mut_ptr(),
3078 info,
3079 )
3080}
3081
3082#[inline]
3083pub unsafe fn zgees(
3084 jobvs: u8,
3085 sort: u8,
3086 select: Select1C64,
3087 n: i32,
3088 a: &mut [c64],
3089 lda: i32,
3090 sdim: &mut i32,
3091 w: &mut [c64],
3092 vs: &mut [c64],
3093 ldvs: i32,
3094 work: &mut [c64],
3095 lwork: i32,
3096 rwork: &mut [f64],
3097 bwork: &mut [i32],
3098 info: &mut i32,
3099) {
3100 ffi::zgees_(
3101 &(jobvs as c_char),
3102 &(sort as c_char),
3103 transmute(select),
3104 &n,
3105 a.as_mut_ptr() as *mut _,
3106 &lda,
3107 sdim,
3108 w.as_mut_ptr() as *mut _,
3109 vs.as_mut_ptr() as *mut _,
3110 &ldvs,
3111 work.as_mut_ptr() as *mut _,
3112 &lwork,
3113 rwork.as_mut_ptr(),
3114 bwork.as_mut_ptr(),
3115 info,
3116 )
3117}
3118
3119#[inline]
3120pub unsafe fn cgeesx(
3121 jobvs: u8,
3122 sort: u8,
3123 select: Select1C32,
3124 sense: u8,
3125 n: i32,
3126 a: &mut [c32],
3127 lda: i32,
3128 sdim: &mut i32,
3129 w: &mut [c32],
3130 vs: &mut [c32],
3131 ldvs: i32,
3132 rconde: &mut [f32],
3133 rcondv: &mut [f32],
3134 work: &mut [c32],
3135 lwork: i32,
3136 rwork: &mut [f32],
3137 bwork: &mut [i32],
3138 info: &mut i32,
3139) {
3140 ffi::cgeesx_(
3141 &(jobvs as c_char),
3142 &(sort as c_char),
3143 transmute(select),
3144 &(sense as c_char),
3145 &n,
3146 a.as_mut_ptr() as *mut _,
3147 &lda,
3148 sdim,
3149 w.as_mut_ptr() as *mut _,
3150 vs.as_mut_ptr() as *mut _,
3151 &ldvs,
3152 rconde.as_mut_ptr(),
3153 rcondv.as_mut_ptr(),
3154 work.as_mut_ptr() as *mut _,
3155 &lwork,
3156 rwork.as_mut_ptr(),
3157 bwork.as_mut_ptr(),
3158 info,
3159 )
3160}
3161
3162#[inline]
3163pub unsafe fn dgeesx(
3164 jobvs: u8,
3165 sort: u8,
3166 select: Select2F64,
3167 sense: u8,
3168 n: i32,
3169 a: &mut [f64],
3170 lda: i32,
3171 sdim: &mut i32,
3172 wr: &mut [f64],
3173 wi: &mut [f64],
3174 vs: &mut [f64],
3175 ldvs: i32,
3176 rconde: &mut [f64],
3177 rcondv: &mut [f64],
3178 work: &mut [f64],
3179 lwork: i32,
3180 iwork: &mut [i32],
3181 liwork: i32,
3182 bwork: &mut [i32],
3183 info: &mut i32,
3184) {
3185 ffi::dgeesx_(
3186 &(jobvs as c_char),
3187 &(sort as c_char),
3188 transmute(select),
3189 &(sense as c_char),
3190 &n,
3191 a.as_mut_ptr(),
3192 &lda,
3193 sdim,
3194 wr.as_mut_ptr(),
3195 wi.as_mut_ptr(),
3196 vs.as_mut_ptr(),
3197 &ldvs,
3198 rconde.as_mut_ptr(),
3199 rcondv.as_mut_ptr(),
3200 work.as_mut_ptr(),
3201 &lwork,
3202 iwork.as_mut_ptr(),
3203 &liwork,
3204 bwork.as_mut_ptr(),
3205 info,
3206 )
3207}
3208
3209#[inline]
3210pub unsafe fn sgeesx(
3211 jobvs: u8,
3212 sort: u8,
3213 select: Select2F32,
3214 sense: u8,
3215 n: i32,
3216 a: &mut [f32],
3217 lda: i32,
3218 sdim: &mut i32,
3219 wr: &mut [f32],
3220 wi: &mut [f32],
3221 vs: &mut [f32],
3222 ldvs: i32,
3223 rconde: &mut [f32],
3224 rcondv: &mut [f32],
3225 work: &mut [f32],
3226 lwork: i32,
3227 iwork: &mut [i32],
3228 liwork: i32,
3229 bwork: &mut [i32],
3230 info: &mut i32,
3231) {
3232 ffi::sgeesx_(
3233 &(jobvs as c_char),
3234 &(sort as c_char),
3235 transmute(select),
3236 &(sense as c_char),
3237 &n,
3238 a.as_mut_ptr(),
3239 &lda,
3240 sdim,
3241 wr.as_mut_ptr(),
3242 wi.as_mut_ptr(),
3243 vs.as_mut_ptr(),
3244 &ldvs,
3245 rconde.as_mut_ptr(),
3246 rcondv.as_mut_ptr(),
3247 work.as_mut_ptr(),
3248 &lwork,
3249 iwork.as_mut_ptr(),
3250 &liwork,
3251 bwork.as_mut_ptr(),
3252 info,
3253 )
3254}
3255
3256#[inline]
3257pub unsafe fn zgeesx(
3258 jobvs: u8,
3259 sort: u8,
3260 select: Select1C64,
3261 sense: u8,
3262 n: i32,
3263 a: &mut [c64],
3264 lda: i32,
3265 sdim: &mut i32,
3266 w: &mut [c64],
3267 vs: &mut [c64],
3268 ldvs: i32,
3269 rconde: &mut [f64],
3270 rcondv: &mut [f64],
3271 work: &mut [c64],
3272 lwork: i32,
3273 rwork: &mut [f64],
3274 bwork: &mut [i32],
3275 info: &mut i32,
3276) {
3277 ffi::zgeesx_(
3278 &(jobvs as c_char),
3279 &(sort as c_char),
3280 transmute(select),
3281 &(sense as c_char),
3282 &n,
3283 a.as_mut_ptr() as *mut _,
3284 &lda,
3285 sdim,
3286 w.as_mut_ptr() as *mut _,
3287 vs.as_mut_ptr() as *mut _,
3288 &ldvs,
3289 rconde.as_mut_ptr(),
3290 rcondv.as_mut_ptr(),
3291 work.as_mut_ptr() as *mut _,
3292 &lwork,
3293 rwork.as_mut_ptr(),
3294 bwork.as_mut_ptr(),
3295 info,
3296 )
3297}
3298
3299#[inline]
3300pub unsafe fn cgeev(
3301 jobvl: u8,
3302 jobvr: u8,
3303 n: i32,
3304 a: &mut [c32],
3305 lda: i32,
3306 w: &mut [c32],
3307 vl: &mut [c32],
3308 ldvl: i32,
3309 vr: &mut [c32],
3310 ldvr: i32,
3311 work: &mut [c32],
3312 lwork: i32,
3313 rwork: &mut [f32],
3314 info: &mut i32,
3315) {
3316 ffi::cgeev_(
3317 &(jobvl as c_char),
3318 &(jobvr as c_char),
3319 &n,
3320 a.as_mut_ptr() as *mut _,
3321 &lda,
3322 w.as_mut_ptr() as *mut _,
3323 vl.as_mut_ptr() as *mut _,
3324 &ldvl,
3325 vr.as_mut_ptr() as *mut _,
3326 &ldvr,
3327 work.as_mut_ptr() as *mut _,
3328 &lwork,
3329 rwork.as_mut_ptr(),
3330 info,
3331 )
3332}
3333
3334#[inline]
3335pub unsafe fn dgeev(
3336 jobvl: u8,
3337 jobvr: u8,
3338 n: i32,
3339 a: &mut [f64],
3340 lda: i32,
3341 wr: &mut [f64],
3342 wi: &mut [f64],
3343 vl: &mut [f64],
3344 ldvl: i32,
3345 vr: &mut [f64],
3346 ldvr: i32,
3347 work: &mut [f64],
3348 lwork: i32,
3349 info: &mut i32,
3350) {
3351 ffi::dgeev_(
3352 &(jobvl as c_char),
3353 &(jobvr as c_char),
3354 &n,
3355 a.as_mut_ptr(),
3356 &lda,
3357 wr.as_mut_ptr(),
3358 wi.as_mut_ptr(),
3359 vl.as_mut_ptr(),
3360 &ldvl,
3361 vr.as_mut_ptr(),
3362 &ldvr,
3363 work.as_mut_ptr(),
3364 &lwork,
3365 info,
3366 )
3367}
3368
3369#[inline]
3370pub unsafe fn sgeev(
3371 jobvl: u8,
3372 jobvr: u8,
3373 n: i32,
3374 a: &mut [f32],
3375 lda: i32,
3376 wr: &mut [f32],
3377 wi: &mut [f32],
3378 vl: &mut [f32],
3379 ldvl: i32,
3380 vr: &mut [f32],
3381 ldvr: i32,
3382 work: &mut [f32],
3383 lwork: i32,
3384 info: &mut i32,
3385) {
3386 ffi::sgeev_(
3387 &(jobvl as c_char),
3388 &(jobvr as c_char),
3389 &n,
3390 a.as_mut_ptr(),
3391 &lda,
3392 wr.as_mut_ptr(),
3393 wi.as_mut_ptr(),
3394 vl.as_mut_ptr(),
3395 &ldvl,
3396 vr.as_mut_ptr(),
3397 &ldvr,
3398 work.as_mut_ptr(),
3399 &lwork,
3400 info,
3401 )
3402}
3403
3404#[inline]
3405pub unsafe fn zgeev(
3406 jobvl: u8,
3407 jobvr: u8,
3408 n: i32,
3409 a: &mut [c64],
3410 lda: i32,
3411 w: &mut [c64],
3412 vl: &mut [c64],
3413 ldvl: i32,
3414 vr: &mut [c64],
3415 ldvr: i32,
3416 work: &mut [c64],
3417 lwork: i32,
3418 rwork: &mut [f64],
3419 info: &mut i32,
3420) {
3421 ffi::zgeev_(
3422 &(jobvl as c_char),
3423 &(jobvr as c_char),
3424 &n,
3425 a.as_mut_ptr() as *mut _,
3426 &lda,
3427 w.as_mut_ptr() as *mut _,
3428 vl.as_mut_ptr() as *mut _,
3429 &ldvl,
3430 vr.as_mut_ptr() as *mut _,
3431 &ldvr,
3432 work.as_mut_ptr() as *mut _,
3433 &lwork,
3434 rwork.as_mut_ptr(),
3435 info,
3436 )
3437}
3438
3439#[inline]
3440pub unsafe fn cgeevx(
3441 balanc: u8,
3442 jobvl: u8,
3443 jobvr: u8,
3444 sense: u8,
3445 n: i32,
3446 a: &mut [c32],
3447 lda: i32,
3448 w: &mut [c32],
3449 vl: &mut [c32],
3450 ldvl: i32,
3451 vr: &mut [c32],
3452 ldvr: i32,
3453 ilo: &mut i32,
3454 ihi: &mut i32,
3455 scale: &mut [f32],
3456 abnrm: &mut f32,
3457 rconde: &mut [f32],
3458 rcondv: &mut [f32],
3459 work: &mut [c32],
3460 lwork: i32,
3461 rwork: &mut [f32],
3462 info: &mut i32,
3463) {
3464 ffi::cgeevx_(
3465 &(balanc as c_char),
3466 &(jobvl as c_char),
3467 &(jobvr as c_char),
3468 &(sense as c_char),
3469 &n,
3470 a.as_mut_ptr() as *mut _,
3471 &lda,
3472 w.as_mut_ptr() as *mut _,
3473 vl.as_mut_ptr() as *mut _,
3474 &ldvl,
3475 vr.as_mut_ptr() as *mut _,
3476 &ldvr,
3477 ilo,
3478 ihi,
3479 scale.as_mut_ptr(),
3480 abnrm,
3481 rconde.as_mut_ptr(),
3482 rcondv.as_mut_ptr(),
3483 work.as_mut_ptr() as *mut _,
3484 &lwork,
3485 rwork.as_mut_ptr(),
3486 info,
3487 )
3488}
3489
3490#[inline]
3491pub unsafe fn dgeevx(
3492 balanc: u8,
3493 jobvl: u8,
3494 jobvr: u8,
3495 sense: u8,
3496 n: i32,
3497 a: &mut [f64],
3498 lda: i32,
3499 wr: &mut [f64],
3500 wi: &mut [f64],
3501 vl: &mut [f64],
3502 ldvl: i32,
3503 vr: &mut [f64],
3504 ldvr: i32,
3505 ilo: &mut i32,
3506 ihi: &mut i32,
3507 scale: &mut [f64],
3508 abnrm: &mut f64,
3509 rconde: &mut [f64],
3510 rcondv: &mut [f64],
3511 work: &mut [f64],
3512 lwork: i32,
3513 iwork: &mut [i32],
3514 info: &mut i32,
3515) {
3516 ffi::dgeevx_(
3517 &(balanc as c_char),
3518 &(jobvl as c_char),
3519 &(jobvr as c_char),
3520 &(sense as c_char),
3521 &n,
3522 a.as_mut_ptr(),
3523 &lda,
3524 wr.as_mut_ptr(),
3525 wi.as_mut_ptr(),
3526 vl.as_mut_ptr(),
3527 &ldvl,
3528 vr.as_mut_ptr(),
3529 &ldvr,
3530 ilo,
3531 ihi,
3532 scale.as_mut_ptr(),
3533 abnrm,
3534 rconde.as_mut_ptr(),
3535 rcondv.as_mut_ptr(),
3536 work.as_mut_ptr(),
3537 &lwork,
3538 iwork.as_mut_ptr(),
3539 info,
3540 )
3541}
3542
3543#[inline]
3544pub unsafe fn sgeevx(
3545 balanc: u8,
3546 jobvl: u8,
3547 jobvr: u8,
3548 sense: u8,
3549 n: i32,
3550 a: &mut [f32],
3551 lda: i32,
3552 wr: &mut [f32],
3553 wi: &mut [f32],
3554 vl: &mut [f32],
3555 ldvl: i32,
3556 vr: &mut [f32],
3557 ldvr: i32,
3558 ilo: &mut i32,
3559 ihi: &mut i32,
3560 scale: &mut [f32],
3561 abnrm: &mut f32,
3562 rconde: &mut [f32],
3563 rcondv: &mut [f32],
3564 work: &mut [f32],
3565 lwork: i32,
3566 iwork: &mut [i32],
3567 info: &mut i32,
3568) {
3569 ffi::sgeevx_(
3570 &(balanc as c_char),
3571 &(jobvl as c_char),
3572 &(jobvr as c_char),
3573 &(sense as c_char),
3574 &n,
3575 a.as_mut_ptr(),
3576 &lda,
3577 wr.as_mut_ptr(),
3578 wi.as_mut_ptr(),
3579 vl.as_mut_ptr(),
3580 &ldvl,
3581 vr.as_mut_ptr(),
3582 &ldvr,
3583 ilo,
3584 ihi,
3585 scale.as_mut_ptr(),
3586 abnrm,
3587 rconde.as_mut_ptr(),
3588 rcondv.as_mut_ptr(),
3589 work.as_mut_ptr(),
3590 &lwork,
3591 iwork.as_mut_ptr(),
3592 info,
3593 )
3594}
3595
3596#[inline]
3597pub unsafe fn zgeevx(
3598 balanc: u8,
3599 jobvl: u8,
3600 jobvr: u8,
3601 sense: u8,
3602 n: i32,
3603 a: &mut [c64],
3604 lda: i32,
3605 w: &mut [c64],
3606 vl: &mut [c64],
3607 ldvl: i32,
3608 vr: &mut [c64],
3609 ldvr: i32,
3610 ilo: &mut i32,
3611 ihi: &mut i32,
3612 scale: &mut [f64],
3613 abnrm: &mut f64,
3614 rconde: &mut [f64],
3615 rcondv: &mut [f64],
3616 work: &mut [c64],
3617 lwork: i32,
3618 rwork: &mut [f64],
3619 info: &mut i32,
3620) {
3621 ffi::zgeevx_(
3622 &(balanc as c_char),
3623 &(jobvl as c_char),
3624 &(jobvr as c_char),
3625 &(sense as c_char),
3626 &n,
3627 a.as_mut_ptr() as *mut _,
3628 &lda,
3629 w.as_mut_ptr() as *mut _,
3630 vl.as_mut_ptr() as *mut _,
3631 &ldvl,
3632 vr.as_mut_ptr() as *mut _,
3633 &ldvr,
3634 ilo,
3635 ihi,
3636 scale.as_mut_ptr(),
3637 abnrm,
3638 rconde.as_mut_ptr(),
3639 rcondv.as_mut_ptr(),
3640 work.as_mut_ptr() as *mut _,
3641 &lwork,
3642 rwork.as_mut_ptr(),
3643 info,
3644 )
3645}
3646
3647#[inline]
3648pub unsafe fn cgehrd(
3649 n: i32,
3650 ilo: i32,
3651 ihi: i32,
3652 a: &mut [c32],
3653 lda: i32,
3654 tau: &mut [c32],
3655 work: &mut [c32],
3656 lwork: i32,
3657 info: &mut i32,
3658) {
3659 ffi::cgehrd_(
3660 &n,
3661 &ilo,
3662 &ihi,
3663 a.as_mut_ptr() as *mut _,
3664 &lda,
3665 tau.as_mut_ptr() as *mut _,
3666 work.as_mut_ptr() as *mut _,
3667 &lwork,
3668 info,
3669 )
3670}
3671
3672#[inline]
3673pub unsafe fn dgehrd(
3674 n: i32,
3675 ilo: i32,
3676 ihi: i32,
3677 a: &mut [f64],
3678 lda: i32,
3679 tau: &mut [f64],
3680 work: &mut [f64],
3681 lwork: i32,
3682 info: &mut i32,
3683) {
3684 ffi::dgehrd_(
3685 &n,
3686 &ilo,
3687 &ihi,
3688 a.as_mut_ptr(),
3689 &lda,
3690 tau.as_mut_ptr(),
3691 work.as_mut_ptr(),
3692 &lwork,
3693 info,
3694 )
3695}
3696
3697#[inline]
3698pub unsafe fn sgehrd(
3699 n: i32,
3700 ilo: i32,
3701 ihi: i32,
3702 a: &mut [f32],
3703 lda: i32,
3704 tau: &mut [f32],
3705 work: &mut [f32],
3706 lwork: i32,
3707 info: &mut i32,
3708) {
3709 ffi::sgehrd_(
3710 &n,
3711 &ilo,
3712 &ihi,
3713 a.as_mut_ptr(),
3714 &lda,
3715 tau.as_mut_ptr(),
3716 work.as_mut_ptr(),
3717 &lwork,
3718 info,
3719 )
3720}
3721
3722#[inline]
3723pub unsafe fn zgehrd(
3724 n: i32,
3725 ilo: i32,
3726 ihi: i32,
3727 a: &mut [c64],
3728 lda: i32,
3729 tau: &mut [c64],
3730 work: &mut [c64],
3731 lwork: i32,
3732 info: &mut i32,
3733) {
3734 ffi::zgehrd_(
3735 &n,
3736 &ilo,
3737 &ihi,
3738 a.as_mut_ptr() as *mut _,
3739 &lda,
3740 tau.as_mut_ptr() as *mut _,
3741 work.as_mut_ptr() as *mut _,
3742 &lwork,
3743 info,
3744 )
3745}
3746
3747#[inline]
3748pub unsafe fn cgejsv(
3749 joba: u8,
3750 jobu: u8,
3751 jobv: u8,
3752 jobr: u8,
3753 jobt: u8,
3754 jobp: u8,
3755 m: i32,
3756 n: i32,
3757 a: &mut [c32],
3758 lda: i32,
3759 sva: &mut [f32],
3760 u: &mut [c32],
3761 ldu: i32,
3762 v: &mut [c32],
3763 ldv: i32,
3764 cwork: &mut [c32],
3765 lwork: i32,
3766 rwork: &mut [f32],
3767 lrwork: i32,
3768 iwork: &mut [i32],
3769 info: &mut i32,
3770) {
3771 ffi::cgejsv_(
3772 &(joba as c_char),
3773 &(jobu as c_char),
3774 &(jobv as c_char),
3775 &(jobr as c_char),
3776 &(jobt as c_char),
3777 &(jobp as c_char),
3778 &m,
3779 &n,
3780 a.as_mut_ptr() as *mut _,
3781 &lda,
3782 sva.as_mut_ptr(),
3783 u.as_mut_ptr() as *mut _,
3784 &ldu,
3785 v.as_mut_ptr() as *mut _,
3786 &ldv,
3787 cwork.as_mut_ptr() as *mut _,
3788 &lwork,
3789 rwork.as_mut_ptr(),
3790 &lrwork,
3791 iwork.as_mut_ptr(),
3792 info,
3793 )
3794}
3795
3796#[inline]
3797pub unsafe fn dgejsv(
3798 joba: u8,
3799 jobu: u8,
3800 jobv: u8,
3801 jobr: u8,
3802 jobt: u8,
3803 jobp: u8,
3804 m: i32,
3805 n: i32,
3806 a: &mut [f64],
3807 lda: i32,
3808 sva: &mut [f64],
3809 u: &mut [f64],
3810 ldu: i32,
3811 v: &mut [f64],
3812 ldv: i32,
3813 work: &mut [f64],
3814 lwork: i32,
3815 iwork: &mut [i32],
3816 info: &mut i32,
3817) {
3818 ffi::dgejsv_(
3819 &(joba as c_char),
3820 &(jobu as c_char),
3821 &(jobv as c_char),
3822 &(jobr as c_char),
3823 &(jobt as c_char),
3824 &(jobp as c_char),
3825 &m,
3826 &n,
3827 a.as_mut_ptr(),
3828 &lda,
3829 sva.as_mut_ptr(),
3830 u.as_mut_ptr(),
3831 &ldu,
3832 v.as_mut_ptr(),
3833 &ldv,
3834 work.as_mut_ptr(),
3835 &lwork,
3836 iwork.as_mut_ptr(),
3837 info,
3838 )
3839}
3840
3841#[inline]
3842pub unsafe fn sgejsv(
3843 joba: u8,
3844 jobu: u8,
3845 jobv: u8,
3846 jobr: u8,
3847 jobt: u8,
3848 jobp: u8,
3849 m: i32,
3850 n: i32,
3851 a: &mut [f32],
3852 lda: i32,
3853 sva: &mut [f32],
3854 u: &mut [f32],
3855 ldu: i32,
3856 v: &mut [f32],
3857 ldv: i32,
3858 work: &mut [f32],
3859 lwork: i32,
3860 iwork: &mut [i32],
3861 info: &mut i32,
3862) {
3863 ffi::sgejsv_(
3864 &(joba as c_char),
3865 &(jobu as c_char),
3866 &(jobv as c_char),
3867 &(jobr as c_char),
3868 &(jobt as c_char),
3869 &(jobp as c_char),
3870 &m,
3871 &n,
3872 a.as_mut_ptr(),
3873 &lda,
3874 sva.as_mut_ptr(),
3875 u.as_mut_ptr(),
3876 &ldu,
3877 v.as_mut_ptr(),
3878 &ldv,
3879 work.as_mut_ptr(),
3880 &lwork,
3881 iwork.as_mut_ptr(),
3882 info,
3883 )
3884}
3885
3886#[inline]
3887pub unsafe fn zgejsv(
3888 joba: u8,
3889 jobu: u8,
3890 jobv: u8,
3891 jobr: u8,
3892 jobt: u8,
3893 jobp: u8,
3894 m: i32,
3895 n: i32,
3896 a: &mut [c64],
3897 lda: i32,
3898 sva: &mut [f64],
3899 u: &mut [c64],
3900 ldu: i32,
3901 v: &mut [c64],
3902 ldv: i32,
3903 cwork: &mut [c64],
3904 lwork: i32,
3905 rwork: &mut [f64],
3906 lrwork: i32,
3907 iwork: &mut [i32],
3908 info: &mut i32,
3909) {
3910 ffi::zgejsv_(
3911 &(joba as c_char),
3912 &(jobu as c_char),
3913 &(jobv as c_char),
3914 &(jobr as c_char),
3915 &(jobt as c_char),
3916 &(jobp as c_char),
3917 &m,
3918 &n,
3919 a.as_mut_ptr() as *mut _,
3920 &lda,
3921 sva.as_mut_ptr(),
3922 u.as_mut_ptr() as *mut _,
3923 &ldu,
3924 v.as_mut_ptr() as *mut _,
3925 &ldv,
3926 cwork.as_mut_ptr() as *mut _,
3927 &lwork,
3928 rwork.as_mut_ptr(),
3929 &lrwork,
3930 iwork.as_mut_ptr(),
3931 info,
3932 )
3933}
3934
3935#[inline]
3936pub unsafe fn cgelq(
3937 m: i32,
3938 n: i32,
3939 a: &mut [c32],
3940 lda: i32,
3941 t: &mut [c32],
3942 tsize: &[i32],
3943 work: &mut [c32],
3944 lwork: i32,
3945 info: &mut i32,
3946) {
3947 ffi::cgelq_(
3948 &m,
3949 &n,
3950 a.as_mut_ptr() as *mut _,
3951 &lda,
3952 t.as_mut_ptr() as *mut _,
3953 tsize.as_ptr(),
3954 work.as_mut_ptr() as *mut _,
3955 &lwork,
3956 info,
3957 )
3958}
3959
3960#[inline]
3961pub unsafe fn dgelq(
3962 m: i32,
3963 n: i32,
3964 a: &mut [f64],
3965 lda: i32,
3966 t: &mut [f64],
3967 tsize: &[i32],
3968 work: &mut [f64],
3969 lwork: i32,
3970 info: &mut i32,
3971) {
3972 ffi::dgelq_(
3973 &m,
3974 &n,
3975 a.as_mut_ptr(),
3976 &lda,
3977 t.as_mut_ptr(),
3978 tsize.as_ptr(),
3979 work.as_mut_ptr(),
3980 &lwork,
3981 info,
3982 )
3983}
3984
3985#[inline]
3986pub unsafe fn sgelq(
3987 m: i32,
3988 n: i32,
3989 a: &mut [f32],
3990 lda: i32,
3991 t: &mut [f32],
3992 tsize: &[i32],
3993 work: &mut [f32],
3994 lwork: i32,
3995 info: &mut i32,
3996) {
3997 ffi::sgelq_(
3998 &m,
3999 &n,
4000 a.as_mut_ptr(),
4001 &lda,
4002 t.as_mut_ptr(),
4003 tsize.as_ptr(),
4004 work.as_mut_ptr(),
4005 &lwork,
4006 info,
4007 )
4008}
4009
4010#[inline]
4011pub unsafe fn zgelq(
4012 m: i32,
4013 n: i32,
4014 a: &mut [c64],
4015 lda: i32,
4016 t: &mut [c64],
4017 tsize: &[i32],
4018 work: &mut [c64],
4019 lwork: i32,
4020 info: &mut i32,
4021) {
4022 ffi::zgelq_(
4023 &m,
4024 &n,
4025 a.as_mut_ptr() as *mut _,
4026 &lda,
4027 t.as_mut_ptr() as *mut _,
4028 tsize.as_ptr(),
4029 work.as_mut_ptr() as *mut _,
4030 &lwork,
4031 info,
4032 )
4033}
4034
4035#[inline]
4036pub unsafe fn cgelq2(
4037 m: i32,
4038 n: i32,
4039 a: &mut [c32],
4040 lda: i32,
4041 tau: &mut [c32],
4042 work: &mut [c32],
4043 info: &mut i32,
4044) {
4045 ffi::cgelq2_(
4046 &m,
4047 &n,
4048 a.as_mut_ptr() as *mut _,
4049 &lda,
4050 tau.as_mut_ptr() as *mut _,
4051 work.as_mut_ptr() as *mut _,
4052 info,
4053 )
4054}
4055
4056#[inline]
4057pub unsafe fn dgelq2(
4058 m: i32,
4059 n: i32,
4060 a: &mut [f64],
4061 lda: i32,
4062 tau: &mut [f64],
4063 work: &mut [f64],
4064 info: &mut i32,
4065) {
4066 ffi::dgelq2_(
4067 &m,
4068 &n,
4069 a.as_mut_ptr(),
4070 &lda,
4071 tau.as_mut_ptr(),
4072 work.as_mut_ptr(),
4073 info,
4074 )
4075}
4076
4077#[inline]
4078pub unsafe fn sgelq2(
4079 m: i32,
4080 n: i32,
4081 a: &mut [f32],
4082 lda: i32,
4083 tau: &mut [f32],
4084 work: &mut [f32],
4085 info: &mut i32,
4086) {
4087 ffi::sgelq2_(
4088 &m,
4089 &n,
4090 a.as_mut_ptr(),
4091 &lda,
4092 tau.as_mut_ptr(),
4093 work.as_mut_ptr(),
4094 info,
4095 )
4096}
4097
4098#[inline]
4099pub unsafe fn zgelq2(
4100 m: i32,
4101 n: i32,
4102 a: &mut [c64],
4103 lda: i32,
4104 tau: &mut [c64],
4105 work: &mut [c64],
4106 info: &mut i32,
4107) {
4108 ffi::zgelq2_(
4109 &m,
4110 &n,
4111 a.as_mut_ptr() as *mut _,
4112 &lda,
4113 tau.as_mut_ptr() as *mut _,
4114 work.as_mut_ptr() as *mut _,
4115 info,
4116 )
4117}
4118
4119#[inline]
4120pub unsafe fn cgelqf(
4121 m: i32,
4122 n: i32,
4123 a: &mut [c32],
4124 lda: i32,
4125 tau: &mut [c32],
4126 work: &mut [c32],
4127 lwork: i32,
4128 info: &mut i32,
4129) {
4130 ffi::cgelqf_(
4131 &m,
4132 &n,
4133 a.as_mut_ptr() as *mut _,
4134 &lda,
4135 tau.as_mut_ptr() as *mut _,
4136 work.as_mut_ptr() as *mut _,
4137 &lwork,
4138 info,
4139 )
4140}
4141
4142#[inline]
4143pub unsafe fn dgelqf(
4144 m: i32,
4145 n: i32,
4146 a: &mut [f64],
4147 lda: i32,
4148 tau: &mut [f64],
4149 work: &mut [f64],
4150 lwork: i32,
4151 info: &mut i32,
4152) {
4153 ffi::dgelqf_(
4154 &m,
4155 &n,
4156 a.as_mut_ptr(),
4157 &lda,
4158 tau.as_mut_ptr(),
4159 work.as_mut_ptr(),
4160 &lwork,
4161 info,
4162 )
4163}
4164
4165#[inline]
4166pub unsafe fn sgelqf(
4167 m: i32,
4168 n: i32,
4169 a: &mut [f32],
4170 lda: i32,
4171 tau: &mut [f32],
4172 work: &mut [f32],
4173 lwork: i32,
4174 info: &mut i32,
4175) {
4176 ffi::sgelqf_(
4177 &m,
4178 &n,
4179 a.as_mut_ptr(),
4180 &lda,
4181 tau.as_mut_ptr(),
4182 work.as_mut_ptr(),
4183 &lwork,
4184 info,
4185 )
4186}
4187
4188#[inline]
4189pub unsafe fn zgelqf(
4190 m: i32,
4191 n: i32,
4192 a: &mut [c64],
4193 lda: i32,
4194 tau: &mut [c64],
4195 work: &mut [c64],
4196 lwork: i32,
4197 info: &mut i32,
4198) {
4199 ffi::zgelqf_(
4200 &m,
4201 &n,
4202 a.as_mut_ptr() as *mut _,
4203 &lda,
4204 tau.as_mut_ptr() as *mut _,
4205 work.as_mut_ptr() as *mut _,
4206 &lwork,
4207 info,
4208 )
4209}
4210
4211#[inline]
4212pub unsafe fn cgels(
4213 trans: u8,
4214 m: i32,
4215 n: i32,
4216 nrhs: i32,
4217 a: &mut [c32],
4218 lda: i32,
4219 b: &mut [c32],
4220 ldb: i32,
4221 work: &mut [c32],
4222 lwork: i32,
4223 info: &mut i32,
4224) {
4225 ffi::cgels_(
4226 &(trans as c_char),
4227 &m,
4228 &n,
4229 &nrhs,
4230 a.as_mut_ptr() as *mut _,
4231 &lda,
4232 b.as_mut_ptr() as *mut _,
4233 &ldb,
4234 work.as_mut_ptr() as *mut _,
4235 &lwork,
4236 info,
4237 )
4238}
4239
4240#[inline]
4241pub unsafe fn dgels(
4242 trans: u8,
4243 m: i32,
4244 n: i32,
4245 nrhs: i32,
4246 a: &mut [f64],
4247 lda: i32,
4248 b: &mut [f64],
4249 ldb: i32,
4250 work: &mut [f64],
4251 lwork: i32,
4252 info: &mut i32,
4253 arg1: size_t,
4254) {
4255 ffi::dgels_(
4256 &(trans as c_char),
4257 &m,
4258 &n,
4259 &nrhs,
4260 a.as_mut_ptr(),
4261 &lda,
4262 b.as_mut_ptr(),
4263 &ldb,
4264 work.as_mut_ptr(),
4265 &lwork,
4266 info,
4267 arg1,
4268 )
4269}
4270
4271#[inline]
4272pub unsafe fn sgels(
4273 trans: u8,
4274 m: i32,
4275 n: i32,
4276 nrhs: i32,
4277 a: &mut [f32],
4278 lda: i32,
4279 b: &mut [f32],
4280 ldb: i32,
4281 work: &mut [f32],
4282 lwork: i32,
4283 info: &mut i32,
4284) {
4285 ffi::sgels_(
4286 &(trans as c_char),
4287 &m,
4288 &n,
4289 &nrhs,
4290 a.as_mut_ptr(),
4291 &lda,
4292 b.as_mut_ptr(),
4293 &ldb,
4294 work.as_mut_ptr(),
4295 &lwork,
4296 info,
4297 )
4298}
4299
4300#[inline]
4301pub unsafe fn zgels(
4302 trans: u8,
4303 m: i32,
4304 n: i32,
4305 nrhs: i32,
4306 a: &mut [c64],
4307 lda: i32,
4308 b: &mut [c64],
4309 ldb: i32,
4310 work: &mut [c64],
4311 lwork: i32,
4312 info: &mut i32,
4313) {
4314 ffi::zgels_(
4315 &(trans as c_char),
4316 &m,
4317 &n,
4318 &nrhs,
4319 a.as_mut_ptr() as *mut _,
4320 &lda,
4321 b.as_mut_ptr() as *mut _,
4322 &ldb,
4323 work.as_mut_ptr() as *mut _,
4324 &lwork,
4325 info,
4326 )
4327}
4328
4329#[inline]
4330pub unsafe fn cgelsd(
4331 m: i32,
4332 n: i32,
4333 nrhs: i32,
4334 a: &mut [c32],
4335 lda: i32,
4336 b: &mut [c32],
4337 ldb: i32,
4338 s: &mut [f32],
4339 rcond: f32,
4340 rank: &mut i32,
4341 work: &mut [c32],
4342 lwork: i32,
4343 rwork: &mut [f32],
4344 iwork: &mut [i32],
4345 info: &mut i32,
4346) {
4347 ffi::cgelsd_(
4348 &m,
4349 &n,
4350 &nrhs,
4351 a.as_mut_ptr() as *mut _,
4352 &lda,
4353 b.as_mut_ptr() as *mut _,
4354 &ldb,
4355 s.as_mut_ptr(),
4356 &rcond,
4357 rank,
4358 work.as_mut_ptr() as *mut _,
4359 &lwork,
4360 rwork.as_mut_ptr(),
4361 iwork.as_mut_ptr(),
4362 info,
4363 )
4364}
4365
4366#[inline]
4367pub unsafe fn dgelsd(
4368 m: i32,
4369 n: i32,
4370 nrhs: i32,
4371 a: &mut [f64],
4372 lda: i32,
4373 b: &mut [f64],
4374 ldb: i32,
4375 s: &mut [f64],
4376 rcond: f64,
4377 rank: &mut i32,
4378 work: &mut [f64],
4379 lwork: i32,
4380 iwork: &mut [i32],
4381 info: &mut i32,
4382) {
4383 ffi::dgelsd_(
4384 &m,
4385 &n,
4386 &nrhs,
4387 a.as_mut_ptr(),
4388 &lda,
4389 b.as_mut_ptr(),
4390 &ldb,
4391 s.as_mut_ptr(),
4392 &rcond,
4393 rank,
4394 work.as_mut_ptr(),
4395 &lwork,
4396 iwork.as_mut_ptr(),
4397 info,
4398 )
4399}
4400
4401#[inline]
4402pub unsafe fn sgelsd(
4403 m: i32,
4404 n: i32,
4405 nrhs: i32,
4406 a: &mut [f32],
4407 lda: i32,
4408 b: &mut [f32],
4409 ldb: i32,
4410 s: &mut [f32],
4411 rcond: f32,
4412 rank: &mut i32,
4413 work: &mut [f32],
4414 lwork: i32,
4415 iwork: &mut [i32],
4416 info: &mut i32,
4417) {
4418 ffi::sgelsd_(
4419 &m,
4420 &n,
4421 &nrhs,
4422 a.as_mut_ptr(),
4423 &lda,
4424 b.as_mut_ptr(),
4425 &ldb,
4426 s.as_mut_ptr(),
4427 &rcond,
4428 rank,
4429 work.as_mut_ptr(),
4430 &lwork,
4431 iwork.as_mut_ptr(),
4432 info,
4433 )
4434}
4435
4436#[inline]
4437pub unsafe fn zgelsd(
4438 m: i32,
4439 n: i32,
4440 nrhs: i32,
4441 a: &mut [c64],
4442 lda: i32,
4443 b: &mut [c64],
4444 ldb: i32,
4445 s: &mut [f64],
4446 rcond: f64,
4447 rank: &mut i32,
4448 work: &mut [c64],
4449 lwork: i32,
4450 rwork: &mut [f64],
4451 iwork: &mut [i32],
4452 info: &mut i32,
4453) {
4454 ffi::zgelsd_(
4455 &m,
4456 &n,
4457 &nrhs,
4458 a.as_mut_ptr() as *mut _,
4459 &lda,
4460 b.as_mut_ptr() as *mut _,
4461 &ldb,
4462 s.as_mut_ptr(),
4463 &rcond,
4464 rank,
4465 work.as_mut_ptr() as *mut _,
4466 &lwork,
4467 rwork.as_mut_ptr(),
4468 iwork.as_mut_ptr(),
4469 info,
4470 )
4471}
4472
4473#[inline]
4474pub unsafe fn cgelss(
4475 m: i32,
4476 n: i32,
4477 nrhs: i32,
4478 a: &mut [c32],
4479 lda: i32,
4480 b: &mut [c32],
4481 ldb: i32,
4482 s: &mut [f32],
4483 rcond: f32,
4484 rank: &mut i32,
4485 work: &mut [c32],
4486 lwork: i32,
4487 rwork: &mut [f32],
4488 info: &mut i32,
4489) {
4490 ffi::cgelss_(
4491 &m,
4492 &n,
4493 &nrhs,
4494 a.as_mut_ptr() as *mut _,
4495 &lda,
4496 b.as_mut_ptr() as *mut _,
4497 &ldb,
4498 s.as_mut_ptr(),
4499 &rcond,
4500 rank,
4501 work.as_mut_ptr() as *mut _,
4502 &lwork,
4503 rwork.as_mut_ptr(),
4504 info,
4505 )
4506}
4507
4508#[inline]
4509pub unsafe fn dgelss(
4510 m: i32,
4511 n: i32,
4512 nrhs: i32,
4513 a: &mut [f64],
4514 lda: i32,
4515 b: &mut [f64],
4516 ldb: i32,
4517 s: &mut [f64],
4518 rcond: f64,
4519 rank: &mut i32,
4520 work: &mut [f64],
4521 lwork: i32,
4522 info: &mut i32,
4523) {
4524 ffi::dgelss_(
4525 &m,
4526 &n,
4527 &nrhs,
4528 a.as_mut_ptr(),
4529 &lda,
4530 b.as_mut_ptr(),
4531 &ldb,
4532 s.as_mut_ptr(),
4533 &rcond,
4534 rank,
4535 work.as_mut_ptr(),
4536 &lwork,
4537 info,
4538 )
4539}
4540
4541#[inline]
4542pub unsafe fn sgelss(
4543 m: i32,
4544 n: i32,
4545 nrhs: i32,
4546 a: &mut [f32],
4547 lda: i32,
4548 b: &mut [f32],
4549 ldb: i32,
4550 s: &mut [f32],
4551 rcond: f32,
4552 rank: &mut i32,
4553 work: &mut [f32],
4554 lwork: i32,
4555 info: &mut i32,
4556) {
4557 ffi::sgelss_(
4558 &m,
4559 &n,
4560 &nrhs,
4561 a.as_mut_ptr(),
4562 &lda,
4563 b.as_mut_ptr(),
4564 &ldb,
4565 s.as_mut_ptr(),
4566 &rcond,
4567 rank,
4568 work.as_mut_ptr(),
4569 &lwork,
4570 info,
4571 )
4572}
4573
4574#[inline]
4575pub unsafe fn zgelss(
4576 m: i32,
4577 n: i32,
4578 nrhs: i32,
4579 a: &mut [c64],
4580 lda: i32,
4581 b: &mut [c64],
4582 ldb: i32,
4583 s: &mut [f64],
4584 rcond: f64,
4585 rank: &mut i32,
4586 work: &mut [c64],
4587 lwork: i32,
4588 rwork: &mut [f64],
4589 info: &mut i32,
4590) {
4591 ffi::zgelss_(
4592 &m,
4593 &n,
4594 &nrhs,
4595 a.as_mut_ptr() as *mut _,
4596 &lda,
4597 b.as_mut_ptr() as *mut _,
4598 &ldb,
4599 s.as_mut_ptr(),
4600 &rcond,
4601 rank,
4602 work.as_mut_ptr() as *mut _,
4603 &lwork,
4604 rwork.as_mut_ptr(),
4605 info,
4606 )
4607}
4608
4609#[inline]
4610pub unsafe fn cgelsy(
4611 m: i32,
4612 n: i32,
4613 nrhs: i32,
4614 a: &mut [c32],
4615 lda: i32,
4616 b: &mut [c32],
4617 ldb: i32,
4618 jpvt: &mut [i32],
4619 rcond: f32,
4620 rank: &mut i32,
4621 work: &mut [c32],
4622 lwork: i32,
4623 rwork: &mut [f32],
4624 info: &mut i32,
4625) {
4626 ffi::cgelsy_(
4627 &m,
4628 &n,
4629 &nrhs,
4630 a.as_mut_ptr() as *mut _,
4631 &lda,
4632 b.as_mut_ptr() as *mut _,
4633 &ldb,
4634 jpvt.as_mut_ptr(),
4635 &rcond,
4636 rank,
4637 work.as_mut_ptr() as *mut _,
4638 &lwork,
4639 rwork.as_mut_ptr(),
4640 info,
4641 )
4642}
4643
4644#[inline]
4645pub unsafe fn dgelsy(
4646 m: i32,
4647 n: i32,
4648 nrhs: i32,
4649 a: &mut [f64],
4650 lda: i32,
4651 b: &mut [f64],
4652 ldb: i32,
4653 jpvt: &mut [i32],
4654 rcond: f64,
4655 rank: &mut i32,
4656 work: &mut [f64],
4657 lwork: i32,
4658 info: &mut i32,
4659) {
4660 ffi::dgelsy_(
4661 &m,
4662 &n,
4663 &nrhs,
4664 a.as_mut_ptr(),
4665 &lda,
4666 b.as_mut_ptr(),
4667 &ldb,
4668 jpvt.as_mut_ptr(),
4669 &rcond,
4670 rank,
4671 work.as_mut_ptr(),
4672 &lwork,
4673 info,
4674 )
4675}
4676
4677#[inline]
4678pub unsafe fn sgelsy(
4679 m: i32,
4680 n: i32,
4681 nrhs: i32,
4682 a: &mut [f32],
4683 lda: i32,
4684 b: &mut [f32],
4685 ldb: i32,
4686 jpvt: &mut [i32],
4687 rcond: f32,
4688 rank: &mut i32,
4689 work: &mut [f32],
4690 lwork: i32,
4691 info: &mut i32,
4692) {
4693 ffi::sgelsy_(
4694 &m,
4695 &n,
4696 &nrhs,
4697 a.as_mut_ptr(),
4698 &lda,
4699 b.as_mut_ptr(),
4700 &ldb,
4701 jpvt.as_mut_ptr(),
4702 &rcond,
4703 rank,
4704 work.as_mut_ptr(),
4705 &lwork,
4706 info,
4707 )
4708}
4709
4710#[inline]
4711pub unsafe fn zgelsy(
4712 m: i32,
4713 n: i32,
4714 nrhs: i32,
4715 a: &mut [c64],
4716 lda: i32,
4717 b: &mut [c64],
4718 ldb: i32,
4719 jpvt: &mut [i32],
4720 rcond: f64,
4721 rank: &mut i32,
4722 work: &mut [c64],
4723 lwork: i32,
4724 rwork: &mut [f64],
4725 info: &mut i32,
4726) {
4727 ffi::zgelsy_(
4728 &m,
4729 &n,
4730 &nrhs,
4731 a.as_mut_ptr() as *mut _,
4732 &lda,
4733 b.as_mut_ptr() as *mut _,
4734 &ldb,
4735 jpvt.as_mut_ptr(),
4736 &rcond,
4737 rank,
4738 work.as_mut_ptr() as *mut _,
4739 &lwork,
4740 rwork.as_mut_ptr(),
4741 info,
4742 )
4743}
4744
4745#[inline]
4746pub unsafe fn cgemlq(
4747 side: u8,
4748 trans: u8,
4749 m: i32,
4750 n: i32,
4751 k: i32,
4752 a: &[c32],
4753 lda: i32,
4754 t: &[c32],
4755 tsize: &[i32],
4756 c: &mut [c32],
4757 ldc: i32,
4758 work: &mut [c32],
4759 lwork: i32,
4760 info: &mut i32,
4761) {
4762 ffi::cgemlq_(
4763 &(side as c_char),
4764 &(trans as c_char),
4765 &m,
4766 &n,
4767 &k,
4768 a.as_ptr() as *const _,
4769 &lda,
4770 t.as_ptr() as *const _,
4771 tsize.as_ptr(),
4772 c.as_mut_ptr() as *mut _,
4773 &ldc,
4774 work.as_mut_ptr() as *mut _,
4775 &lwork,
4776 info,
4777 )
4778}
4779
4780#[inline]
4781pub unsafe fn dgemlq(
4782 side: u8,
4783 trans: u8,
4784 m: i32,
4785 n: i32,
4786 k: i32,
4787 a: &[f64],
4788 lda: i32,
4789 t: &[f64],
4790 tsize: &[i32],
4791 c: &mut [f64],
4792 ldc: i32,
4793 work: &mut [f64],
4794 lwork: i32,
4795 info: &mut i32,
4796) {
4797 ffi::dgemlq_(
4798 &(side as c_char),
4799 &(trans as c_char),
4800 &m,
4801 &n,
4802 &k,
4803 a.as_ptr(),
4804 &lda,
4805 t.as_ptr(),
4806 tsize.as_ptr(),
4807 c.as_mut_ptr(),
4808 &ldc,
4809 work.as_mut_ptr(),
4810 &lwork,
4811 info,
4812 )
4813}
4814
4815#[inline]
4816pub unsafe fn sgemlq(
4817 side: u8,
4818 trans: u8,
4819 m: i32,
4820 n: i32,
4821 k: i32,
4822 a: &[f32],
4823 lda: i32,
4824 t: &[f32],
4825 tsize: &[i32],
4826 c: &mut [f32],
4827 ldc: i32,
4828 work: &mut [f32],
4829 lwork: i32,
4830 info: &mut i32,
4831) {
4832 ffi::sgemlq_(
4833 &(side as c_char),
4834 &(trans as c_char),
4835 &m,
4836 &n,
4837 &k,
4838 a.as_ptr(),
4839 &lda,
4840 t.as_ptr(),
4841 tsize.as_ptr(),
4842 c.as_mut_ptr(),
4843 &ldc,
4844 work.as_mut_ptr(),
4845 &lwork,
4846 info,
4847 )
4848}
4849
4850#[inline]
4851pub unsafe fn zgemlq(
4852 side: u8,
4853 trans: u8,
4854 m: i32,
4855 n: i32,
4856 k: i32,
4857 a: &[c64],
4858 lda: i32,
4859 t: &[c64],
4860 tsize: &[i32],
4861 c: &mut [c64],
4862 ldc: i32,
4863 work: &mut [c64],
4864 lwork: i32,
4865 info: &mut i32,
4866) {
4867 ffi::zgemlq_(
4868 &(side as c_char),
4869 &(trans as c_char),
4870 &m,
4871 &n,
4872 &k,
4873 a.as_ptr() as *const _,
4874 &lda,
4875 t.as_ptr() as *const _,
4876 tsize.as_ptr(),
4877 c.as_mut_ptr() as *mut _,
4878 &ldc,
4879 work.as_mut_ptr() as *mut _,
4880 &lwork,
4881 info,
4882 )
4883}
4884
4885#[inline]
4886pub unsafe fn cgemqr(
4887 side: u8,
4888 trans: u8,
4889 m: i32,
4890 n: i32,
4891 k: i32,
4892 a: &[c32],
4893 lda: i32,
4894 t: &[c32],
4895 tsize: &[i32],
4896 c: &mut [c32],
4897 ldc: i32,
4898 work: &mut [c32],
4899 lwork: i32,
4900 info: &mut i32,
4901) {
4902 ffi::cgemqr_(
4903 &(side as c_char),
4904 &(trans as c_char),
4905 &m,
4906 &n,
4907 &k,
4908 a.as_ptr() as *const _,
4909 &lda,
4910 t.as_ptr() as *const _,
4911 tsize.as_ptr(),
4912 c.as_mut_ptr() as *mut _,
4913 &ldc,
4914 work.as_mut_ptr() as *mut _,
4915 &lwork,
4916 info,
4917 )
4918}
4919
4920#[inline]
4921pub unsafe fn dgemqr(
4922 side: u8,
4923 trans: u8,
4924 m: i32,
4925 n: i32,
4926 k: i32,
4927 a: &[f64],
4928 lda: i32,
4929 t: &[f64],
4930 tsize: &[i32],
4931 c: &mut [f64],
4932 ldc: i32,
4933 work: &mut [f64],
4934 lwork: i32,
4935 info: &mut i32,
4936) {
4937 ffi::dgemqr_(
4938 &(side as c_char),
4939 &(trans as c_char),
4940 &m,
4941 &n,
4942 &k,
4943 a.as_ptr(),
4944 &lda,
4945 t.as_ptr(),
4946 tsize.as_ptr(),
4947 c.as_mut_ptr(),
4948 &ldc,
4949 work.as_mut_ptr(),
4950 &lwork,
4951 info,
4952 )
4953}
4954
4955#[inline]
4956pub unsafe fn sgemqr(
4957 side: u8,
4958 trans: u8,
4959 m: i32,
4960 n: i32,
4961 k: i32,
4962 a: &[f32],
4963 lda: i32,
4964 t: &[f32],
4965 tsize: &[i32],
4966 c: &mut [f32],
4967 ldc: i32,
4968 work: &mut [f32],
4969 lwork: i32,
4970 info: &mut i32,
4971) {
4972 ffi::sgemqr_(
4973 &(side as c_char),
4974 &(trans as c_char),
4975 &m,
4976 &n,
4977 &k,
4978 a.as_ptr(),
4979 &lda,
4980 t.as_ptr(),
4981 tsize.as_ptr(),
4982 c.as_mut_ptr(),
4983 &ldc,
4984 work.as_mut_ptr(),
4985 &lwork,
4986 info,
4987 )
4988}
4989
4990#[inline]
4991pub unsafe fn zgemqr(
4992 side: u8,
4993 trans: u8,
4994 m: i32,
4995 n: i32,
4996 k: i32,
4997 a: &[c64],
4998 lda: i32,
4999 t: &[c64],
5000 tsize: &[i32],
5001 c: &mut [c64],
5002 ldc: i32,
5003 work: &mut [c64],
5004 lwork: i32,
5005 info: &mut i32,
5006) {
5007 ffi::zgemqr_(
5008 &(side as c_char),
5009 &(trans as c_char),
5010 &m,
5011 &n,
5012 &k,
5013 a.as_ptr() as *const _,
5014 &lda,
5015 t.as_ptr() as *const _,
5016 tsize.as_ptr(),
5017 c.as_mut_ptr() as *mut _,
5018 &ldc,
5019 work.as_mut_ptr() as *mut _,
5020 &lwork,
5021 info,
5022 )
5023}
5024
5025#[inline]
5026pub unsafe fn cgemqrt(
5027 side: u8,
5028 trans: u8,
5029 m: i32,
5030 n: i32,
5031 k: i32,
5032 nb: i32,
5033 v: &[c32],
5034 ldv: i32,
5035 t: &[c32],
5036 ldt: i32,
5037 c: &mut [c32],
5038 ldc: i32,
5039 work: &mut [c32],
5040 info: &mut i32,
5041) {
5042 ffi::cgemqrt_(
5043 &(side as c_char),
5044 &(trans as c_char),
5045 &m,
5046 &n,
5047 &k,
5048 &nb,
5049 v.as_ptr() as *const _,
5050 &ldv,
5051 t.as_ptr() as *const _,
5052 &ldt,
5053 c.as_mut_ptr() as *mut _,
5054 &ldc,
5055 work.as_mut_ptr() as *mut _,
5056 info,
5057 )
5058}
5059
5060#[inline]
5061pub unsafe fn dgemqrt(
5062 side: u8,
5063 trans: u8,
5064 m: i32,
5065 n: i32,
5066 k: i32,
5067 nb: i32,
5068 v: &[f64],
5069 ldv: i32,
5070 t: &[f64],
5071 ldt: i32,
5072 c: &mut [f64],
5073 ldc: i32,
5074 work: &mut [f64],
5075 info: &mut i32,
5076) {
5077 ffi::dgemqrt_(
5078 &(side as c_char),
5079 &(trans as c_char),
5080 &m,
5081 &n,
5082 &k,
5083 &nb,
5084 v.as_ptr(),
5085 &ldv,
5086 t.as_ptr(),
5087 &ldt,
5088 c.as_mut_ptr(),
5089 &ldc,
5090 work.as_mut_ptr(),
5091 info,
5092 )
5093}
5094
5095#[inline]
5096pub unsafe fn sgemqrt(
5097 side: u8,
5098 trans: u8,
5099 m: i32,
5100 n: i32,
5101 k: i32,
5102 nb: i32,
5103 v: &[f32],
5104 ldv: i32,
5105 t: &[f32],
5106 ldt: i32,
5107 c: &mut [f32],
5108 ldc: i32,
5109 work: &mut [f32],
5110 info: &mut i32,
5111) {
5112 ffi::sgemqrt_(
5113 &(side as c_char),
5114 &(trans as c_char),
5115 &m,
5116 &n,
5117 &k,
5118 &nb,
5119 v.as_ptr(),
5120 &ldv,
5121 t.as_ptr(),
5122 &ldt,
5123 c.as_mut_ptr(),
5124 &ldc,
5125 work.as_mut_ptr(),
5126 info,
5127 )
5128}
5129
5130#[inline]
5131pub unsafe fn zgemqrt(
5132 side: u8,
5133 trans: u8,
5134 m: i32,
5135 n: i32,
5136 k: i32,
5137 nb: i32,
5138 v: &[c64],
5139 ldv: i32,
5140 t: &[c64],
5141 ldt: i32,
5142 c: &mut [c64],
5143 ldc: i32,
5144 work: &mut [c64],
5145 info: &mut i32,
5146) {
5147 ffi::zgemqrt_(
5148 &(side as c_char),
5149 &(trans as c_char),
5150 &m,
5151 &n,
5152 &k,
5153 &nb,
5154 v.as_ptr() as *const _,
5155 &ldv,
5156 t.as_ptr() as *const _,
5157 &ldt,
5158 c.as_mut_ptr() as *mut _,
5159 &ldc,
5160 work.as_mut_ptr() as *mut _,
5161 info,
5162 )
5163}
5164
5165#[inline]
5166pub unsafe fn cgeql2(
5167 m: i32,
5168 n: i32,
5169 a: &mut [c32],
5170 lda: i32,
5171 tau: &mut [c32],
5172 work: &mut [c32],
5173 info: &mut i32,
5174) {
5175 ffi::cgeql2_(
5176 &m,
5177 &n,
5178 a.as_mut_ptr() as *mut _,
5179 &lda,
5180 tau.as_mut_ptr() as *mut _,
5181 work.as_mut_ptr() as *mut _,
5182 info,
5183 )
5184}
5185
5186#[inline]
5187pub unsafe fn dgeql2(
5188 m: i32,
5189 n: i32,
5190 a: &mut [f64],
5191 lda: i32,
5192 tau: &mut [f64],
5193 work: &mut [f64],
5194 info: &mut i32,
5195) {
5196 ffi::dgeql2_(
5197 &m,
5198 &n,
5199 a.as_mut_ptr(),
5200 &lda,
5201 tau.as_mut_ptr(),
5202 work.as_mut_ptr(),
5203 info,
5204 )
5205}
5206
5207#[inline]
5208pub unsafe fn sgeql2(
5209 m: i32,
5210 n: i32,
5211 a: &mut [f32],
5212 lda: i32,
5213 tau: &mut [f32],
5214 work: &mut [f32],
5215 info: &mut i32,
5216) {
5217 ffi::sgeql2_(
5218 &m,
5219 &n,
5220 a.as_mut_ptr(),
5221 &lda,
5222 tau.as_mut_ptr(),
5223 work.as_mut_ptr(),
5224 info,
5225 )
5226}
5227
5228#[inline]
5229pub unsafe fn zgeql2(
5230 m: i32,
5231 n: i32,
5232 a: &mut [c64],
5233 lda: i32,
5234 tau: &mut [c64],
5235 work: &mut [c64],
5236 info: &mut i32,
5237) {
5238 ffi::zgeql2_(
5239 &m,
5240 &n,
5241 a.as_mut_ptr() as *mut _,
5242 &lda,
5243 tau.as_mut_ptr() as *mut _,
5244 work.as_mut_ptr() as *mut _,
5245 info,
5246 )
5247}
5248
5249#[inline]
5250pub unsafe fn cgeqlf(
5251 m: i32,
5252 n: i32,
5253 a: &mut [c32],
5254 lda: i32,
5255 tau: &mut [c32],
5256 work: &mut [c32],
5257 lwork: i32,
5258 info: &mut i32,
5259) {
5260 ffi::cgeqlf_(
5261 &m,
5262 &n,
5263 a.as_mut_ptr() as *mut _,
5264 &lda,
5265 tau.as_mut_ptr() as *mut _,
5266 work.as_mut_ptr() as *mut _,
5267 &lwork,
5268 info,
5269 )
5270}
5271
5272#[inline]
5273pub unsafe fn dgeqlf(
5274 m: i32,
5275 n: i32,
5276 a: &mut [f64],
5277 lda: i32,
5278 tau: &mut [f64],
5279 work: &mut [f64],
5280 lwork: i32,
5281 info: &mut i32,
5282) {
5283 ffi::dgeqlf_(
5284 &m,
5285 &n,
5286 a.as_mut_ptr(),
5287 &lda,
5288 tau.as_mut_ptr(),
5289 work.as_mut_ptr(),
5290 &lwork,
5291 info,
5292 )
5293}
5294
5295#[inline]
5296pub unsafe fn sgeqlf(
5297 m: i32,
5298 n: i32,
5299 a: &mut [f32],
5300 lda: i32,
5301 tau: &mut [f32],
5302 work: &mut [f32],
5303 lwork: i32,
5304 info: &mut i32,
5305) {
5306 ffi::sgeqlf_(
5307 &m,
5308 &n,
5309 a.as_mut_ptr(),
5310 &lda,
5311 tau.as_mut_ptr(),
5312 work.as_mut_ptr(),
5313 &lwork,
5314 info,
5315 )
5316}
5317
5318#[inline]
5319pub unsafe fn zgeqlf(
5320 m: i32,
5321 n: i32,
5322 a: &mut [c64],
5323 lda: i32,
5324 tau: &mut [c64],
5325 work: &mut [c64],
5326 lwork: i32,
5327 info: &mut i32,
5328) {
5329 ffi::zgeqlf_(
5330 &m,
5331 &n,
5332 a.as_mut_ptr() as *mut _,
5333 &lda,
5334 tau.as_mut_ptr() as *mut _,
5335 work.as_mut_ptr() as *mut _,
5336 &lwork,
5337 info,
5338 )
5339}
5340
5341#[inline]
5342pub unsafe fn sgeqpf(
5343 m: &mut i32,
5344 n: &mut i32,
5345 a: &mut [f32],
5346 lda: &mut i32,
5347 jpvt: &mut [i32],
5348 tau: &mut [f32],
5349 work: &mut [f32],
5350 info: &mut i32,
5351) {
5352 ffi::sgeqpf_(
5353 m,
5354 n,
5355 a.as_mut_ptr(),
5356 lda,
5357 jpvt.as_mut_ptr(),
5358 tau.as_mut_ptr(),
5359 work.as_mut_ptr(),
5360 info,
5361 )
5362}
5363
5364#[inline]
5365pub unsafe fn dgeqpf(
5366 m: &mut i32,
5367 n: &mut i32,
5368 a: &mut [f64],
5369 lda: &mut i32,
5370 jpvt: &mut [i32],
5371 tau: &mut [f64],
5372 work: &mut [f64],
5373 info: &mut i32,
5374) {
5375 ffi::dgeqpf_(
5376 m,
5377 n,
5378 a.as_mut_ptr(),
5379 lda,
5380 jpvt.as_mut_ptr(),
5381 tau.as_mut_ptr(),
5382 work.as_mut_ptr(),
5383 info,
5384 )
5385}
5386
5387#[inline]
5388pub unsafe fn cgeqpf(
5389 m: &mut i32,
5390 n: &mut i32,
5391 a: &mut [c32],
5392 lda: &mut i32,
5393 jpvt: &mut [i32],
5394 tau: &mut [c32],
5395 work: &mut [c32],
5396 rwork: &mut [f32],
5397 info: &mut i32,
5398) {
5399 ffi::cgeqpf_(
5400 m,
5401 n,
5402 a.as_mut_ptr() as *mut _,
5403 lda,
5404 jpvt.as_mut_ptr(),
5405 tau.as_mut_ptr() as *mut _,
5406 work.as_mut_ptr() as *mut _,
5407 rwork.as_mut_ptr(),
5408 info,
5409 )
5410}
5411
5412#[inline]
5413pub unsafe fn zgeqpf(
5414 m: &mut i32,
5415 n: &mut i32,
5416 a: &mut [c64],
5417 lda: &mut i32,
5418 jpvt: &mut [i32],
5419 tau: &mut [c64],
5420 work: &mut [c64],
5421 rwork: &mut [f64],
5422 info: &mut i32,
5423) {
5424 ffi::zgeqpf_(
5425 m,
5426 n,
5427 a.as_mut_ptr() as *mut _,
5428 lda,
5429 jpvt.as_mut_ptr(),
5430 tau.as_mut_ptr() as *mut _,
5431 work.as_mut_ptr() as *mut _,
5432 rwork.as_mut_ptr(),
5433 info,
5434 )
5435}
5436
5437#[inline]
5438pub unsafe fn cgeqp3(
5439 m: i32,
5440 n: i32,
5441 a: &mut [c32],
5442 lda: i32,
5443 jpvt: &mut [i32],
5444 tau: &mut [c32],
5445 work: &mut [c32],
5446 lwork: i32,
5447 rwork: &mut [f32],
5448 info: &mut i32,
5449) {
5450 ffi::cgeqp3_(
5451 &m,
5452 &n,
5453 a.as_mut_ptr() as *mut _,
5454 &lda,
5455 jpvt.as_mut_ptr(),
5456 tau.as_mut_ptr() as *mut _,
5457 work.as_mut_ptr() as *mut _,
5458 &lwork,
5459 rwork.as_mut_ptr(),
5460 info,
5461 )
5462}
5463
5464#[inline]
5465pub unsafe fn dgeqp3(
5466 m: i32,
5467 n: i32,
5468 a: &mut [f64],
5469 lda: i32,
5470 jpvt: &mut [i32],
5471 tau: &mut [f64],
5472 work: &mut [f64],
5473 lwork: i32,
5474 info: &mut i32,
5475) {
5476 ffi::dgeqp3_(
5477 &m,
5478 &n,
5479 a.as_mut_ptr(),
5480 &lda,
5481 jpvt.as_mut_ptr(),
5482 tau.as_mut_ptr(),
5483 work.as_mut_ptr(),
5484 &lwork,
5485 info,
5486 )
5487}
5488
5489#[inline]
5490pub unsafe fn sgeqp3(
5491 m: i32,
5492 n: i32,
5493 a: &mut [f32],
5494 lda: i32,
5495 jpvt: &mut [i32],
5496 tau: &mut [f32],
5497 work: &mut [f32],
5498 lwork: i32,
5499 info: &mut i32,
5500) {
5501 ffi::sgeqp3_(
5502 &m,
5503 &n,
5504 a.as_mut_ptr(),
5505 &lda,
5506 jpvt.as_mut_ptr(),
5507 tau.as_mut_ptr(),
5508 work.as_mut_ptr(),
5509 &lwork,
5510 info,
5511 )
5512}
5513
5514#[inline]
5515pub unsafe fn zgeqp3(
5516 m: i32,
5517 n: i32,
5518 a: &mut [c64],
5519 lda: i32,
5520 jpvt: &mut [i32],
5521 tau: &mut [c64],
5522 work: &mut [c64],
5523 lwork: i32,
5524 rwork: &mut [f64],
5525 info: &mut i32,
5526) {
5527 ffi::zgeqp3_(
5528 &m,
5529 &n,
5530 a.as_mut_ptr() as *mut _,
5531 &lda,
5532 jpvt.as_mut_ptr(),
5533 tau.as_mut_ptr() as *mut _,
5534 work.as_mut_ptr() as *mut _,
5535 &lwork,
5536 rwork.as_mut_ptr(),
5537 info,
5538 )
5539}
5540
5541#[inline]
5542pub unsafe fn cgeqr(
5543 m: i32,
5544 n: i32,
5545 a: &mut [c32],
5546 lda: i32,
5547 t: &mut [c32],
5548 tsize: &[i32],
5549 work: &mut [c32],
5550 lwork: i32,
5551 info: &mut i32,
5552) {
5553 ffi::cgeqr_(
5554 &m,
5555 &n,
5556 a.as_mut_ptr() as *mut _,
5557 &lda,
5558 t.as_mut_ptr() as *mut _,
5559 tsize.as_ptr(),
5560 work.as_mut_ptr() as *mut _,
5561 &lwork,
5562 info,
5563 )
5564}
5565
5566#[inline]
5567pub unsafe fn dgeqr(
5568 m: i32,
5569 n: i32,
5570 a: &mut [f64],
5571 lda: i32,
5572 t: &mut [f64],
5573 tsize: &[i32],
5574 work: &mut [f64],
5575 lwork: i32,
5576 info: &mut i32,
5577) {
5578 ffi::dgeqr_(
5579 &m,
5580 &n,
5581 a.as_mut_ptr(),
5582 &lda,
5583 t.as_mut_ptr(),
5584 tsize.as_ptr(),
5585 work.as_mut_ptr(),
5586 &lwork,
5587 info,
5588 )
5589}
5590
5591#[inline]
5592pub unsafe fn sgeqr(
5593 m: i32,
5594 n: i32,
5595 a: &mut [f32],
5596 lda: i32,
5597 t: &mut [f32],
5598 tsize: &[i32],
5599 work: &mut [f32],
5600 lwork: i32,
5601 info: &mut i32,
5602) {
5603 ffi::sgeqr_(
5604 &m,
5605 &n,
5606 a.as_mut_ptr(),
5607 &lda,
5608 t.as_mut_ptr(),
5609 tsize.as_ptr(),
5610 work.as_mut_ptr(),
5611 &lwork,
5612 info,
5613 )
5614}
5615
5616#[inline]
5617pub unsafe fn zgeqr(
5618 m: i32,
5619 n: i32,
5620 a: &mut [c64],
5621 lda: i32,
5622 t: &mut [c64],
5623 tsize: &[i32],
5624 work: &mut [c64],
5625 lwork: i32,
5626 info: &mut i32,
5627) {
5628 ffi::zgeqr_(
5629 &m,
5630 &n,
5631 a.as_mut_ptr() as *mut _,
5632 &lda,
5633 t.as_mut_ptr() as *mut _,
5634 tsize.as_ptr(),
5635 work.as_mut_ptr() as *mut _,
5636 &lwork,
5637 info,
5638 )
5639}
5640
5641#[inline]
5642pub unsafe fn cgeqr2(
5643 m: i32,
5644 n: i32,
5645 a: &mut [c32],
5646 lda: i32,
5647 tau: &mut [c32],
5648 work: &mut [c32],
5649 info: &mut i32,
5650) {
5651 ffi::cgeqr2_(
5652 &m,
5653 &n,
5654 a.as_mut_ptr() as *mut _,
5655 &lda,
5656 tau.as_mut_ptr() as *mut _,
5657 work.as_mut_ptr() as *mut _,
5658 info,
5659 )
5660}
5661
5662#[inline]
5663pub unsafe fn dgeqr2(
5664 m: i32,
5665 n: i32,
5666 a: &mut [f64],
5667 lda: i32,
5668 tau: &mut [f64],
5669 work: &mut [f64],
5670 info: &mut i32,
5671) {
5672 ffi::dgeqr2_(
5673 &m,
5674 &n,
5675 a.as_mut_ptr(),
5676 &lda,
5677 tau.as_mut_ptr(),
5678 work.as_mut_ptr(),
5679 info,
5680 )
5681}
5682
5683#[inline]
5684pub unsafe fn sgeqr2(
5685 m: i32,
5686 n: i32,
5687 a: &mut [f32],
5688 lda: i32,
5689 tau: &mut [f32],
5690 work: &mut [f32],
5691 info: &mut i32,
5692) {
5693 ffi::sgeqr2_(
5694 &m,
5695 &n,
5696 a.as_mut_ptr(),
5697 &lda,
5698 tau.as_mut_ptr(),
5699 work.as_mut_ptr(),
5700 info,
5701 )
5702}
5703
5704#[inline]
5705pub unsafe fn zgeqr2(
5706 m: i32,
5707 n: i32,
5708 a: &mut [c64],
5709 lda: i32,
5710 tau: &mut [c64],
5711 work: &mut [c64],
5712 info: &mut i32,
5713) {
5714 ffi::zgeqr2_(
5715 &m,
5716 &n,
5717 a.as_mut_ptr() as *mut _,
5718 &lda,
5719 tau.as_mut_ptr() as *mut _,
5720 work.as_mut_ptr() as *mut _,
5721 info,
5722 )
5723}
5724
5725#[inline]
5726pub unsafe fn cgeqrf(
5727 m: i32,
5728 n: i32,
5729 a: &mut [c32],
5730 lda: i32,
5731 tau: &mut [c32],
5732 work: &mut [c32],
5733 lwork: i32,
5734 info: &mut i32,
5735) {
5736 ffi::cgeqrf_(
5737 &m,
5738 &n,
5739 a.as_mut_ptr() as *mut _,
5740 &lda,
5741 tau.as_mut_ptr() as *mut _,
5742 work.as_mut_ptr() as *mut _,
5743 &lwork,
5744 info,
5745 )
5746}
5747
5748#[inline]
5749pub unsafe fn dgeqrf(
5750 m: i32,
5751 n: i32,
5752 a: &mut [f64],
5753 lda: i32,
5754 tau: &mut [f64],
5755 work: &mut [f64],
5756 lwork: i32,
5757 info: &mut i32,
5758) {
5759 ffi::dgeqrf_(
5760 &m,
5761 &n,
5762 a.as_mut_ptr(),
5763 &lda,
5764 tau.as_mut_ptr(),
5765 work.as_mut_ptr(),
5766 &lwork,
5767 info,
5768 )
5769}
5770
5771#[inline]
5772pub unsafe fn sgeqrf(
5773 m: i32,
5774 n: i32,
5775 a: &mut [f32],
5776 lda: i32,
5777 tau: &mut [f32],
5778 work: &mut [f32],
5779 lwork: i32,
5780 info: &mut i32,
5781) {
5782 ffi::sgeqrf_(
5783 &m,
5784 &n,
5785 a.as_mut_ptr(),
5786 &lda,
5787 tau.as_mut_ptr(),
5788 work.as_mut_ptr(),
5789 &lwork,
5790 info,
5791 )
5792}
5793
5794#[inline]
5795pub unsafe fn zgeqrf(
5796 m: i32,
5797 n: i32,
5798 a: &mut [c64],
5799 lda: i32,
5800 tau: &mut [c64],
5801 work: &mut [c64],
5802 lwork: i32,
5803 info: &mut i32,
5804) {
5805 ffi::zgeqrf_(
5806 &m,
5807 &n,
5808 a.as_mut_ptr() as *mut _,
5809 &lda,
5810 tau.as_mut_ptr() as *mut _,
5811 work.as_mut_ptr() as *mut _,
5812 &lwork,
5813 info,
5814 )
5815}
5816
5817#[inline]
5818pub unsafe fn cgeqrfp(
5819 m: i32,
5820 n: i32,
5821 a: &mut [c32],
5822 lda: i32,
5823 tau: &mut [c32],
5824 work: &mut [c32],
5825 lwork: i32,
5826 info: &mut i32,
5827) {
5828 ffi::cgeqrfp_(
5829 &m,
5830 &n,
5831 a.as_mut_ptr() as *mut _,
5832 &lda,
5833 tau.as_mut_ptr() as *mut _,
5834 work.as_mut_ptr() as *mut _,
5835 &lwork,
5836 info,
5837 )
5838}
5839
5840#[inline]
5841pub unsafe fn dgeqrfp(
5842 m: i32,
5843 n: i32,
5844 a: &mut [f64],
5845 lda: i32,
5846 tau: &mut [f64],
5847 work: &mut [f64],
5848 lwork: i32,
5849 info: &mut i32,
5850) {
5851 ffi::dgeqrfp_(
5852 &m,
5853 &n,
5854 a.as_mut_ptr(),
5855 &lda,
5856 tau.as_mut_ptr(),
5857 work.as_mut_ptr(),
5858 &lwork,
5859 info,
5860 )
5861}
5862
5863#[inline]
5864pub unsafe fn sgeqrfp(
5865 m: i32,
5866 n: i32,
5867 a: &mut [f32],
5868 lda: i32,
5869 tau: &mut [f32],
5870 work: &mut [f32],
5871 lwork: i32,
5872 info: &mut i32,
5873) {
5874 ffi::sgeqrfp_(
5875 &m,
5876 &n,
5877 a.as_mut_ptr(),
5878 &lda,
5879 tau.as_mut_ptr(),
5880 work.as_mut_ptr(),
5881 &lwork,
5882 info,
5883 )
5884}
5885
5886#[inline]
5887pub unsafe fn zgeqrfp(
5888 m: i32,
5889 n: i32,
5890 a: &mut [c64],
5891 lda: i32,
5892 tau: &mut [c64],
5893 work: &mut [c64],
5894 lwork: i32,
5895 info: &mut i32,
5896) {
5897 ffi::zgeqrfp_(
5898 &m,
5899 &n,
5900 a.as_mut_ptr() as *mut _,
5901 &lda,
5902 tau.as_mut_ptr() as *mut _,
5903 work.as_mut_ptr() as *mut _,
5904 &lwork,
5905 info,
5906 )
5907}
5908
5909#[inline]
5910pub unsafe fn cgeqrt(
5911 m: i32,
5912 n: i32,
5913 nb: i32,
5914 a: &mut [c32],
5915 lda: i32,
5916 t: &mut [c32],
5917 ldt: i32,
5918 work: &mut [c32],
5919 info: &mut i32,
5920) {
5921 ffi::cgeqrt_(
5922 &m,
5923 &n,
5924 &nb,
5925 a.as_mut_ptr() as *mut _,
5926 &lda,
5927 t.as_mut_ptr() as *mut _,
5928 &ldt,
5929 work.as_mut_ptr() as *mut _,
5930 info,
5931 )
5932}
5933
5934#[inline]
5935pub unsafe fn dgeqrt(
5936 m: i32,
5937 n: i32,
5938 nb: i32,
5939 a: &mut [f64],
5940 lda: i32,
5941 t: &mut [f64],
5942 ldt: i32,
5943 work: &mut [f64],
5944 info: &mut i32,
5945) {
5946 ffi::dgeqrt_(
5947 &m,
5948 &n,
5949 &nb,
5950 a.as_mut_ptr(),
5951 &lda,
5952 t.as_mut_ptr(),
5953 &ldt,
5954 work.as_mut_ptr(),
5955 info,
5956 )
5957}
5958
5959#[inline]
5960pub unsafe fn sgeqrt(
5961 m: i32,
5962 n: i32,
5963 nb: i32,
5964 a: &mut [f32],
5965 lda: i32,
5966 t: &mut [f32],
5967 ldt: i32,
5968 work: &mut [f32],
5969 info: &mut i32,
5970) {
5971 ffi::sgeqrt_(
5972 &m,
5973 &n,
5974 &nb,
5975 a.as_mut_ptr(),
5976 &lda,
5977 t.as_mut_ptr(),
5978 &ldt,
5979 work.as_mut_ptr(),
5980 info,
5981 )
5982}
5983
5984#[inline]
5985pub unsafe fn zgeqrt(
5986 m: i32,
5987 n: i32,
5988 nb: i32,
5989 a: &mut [c64],
5990 lda: i32,
5991 t: &mut [c64],
5992 ldt: i32,
5993 work: &mut [c64],
5994 info: &mut i32,
5995) {
5996 ffi::zgeqrt_(
5997 &m,
5998 &n,
5999 &nb,
6000 a.as_mut_ptr() as *mut _,
6001 &lda,
6002 t.as_mut_ptr() as *mut _,
6003 &ldt,
6004 work.as_mut_ptr() as *mut _,
6005 info,
6006 )
6007}
6008
6009#[inline]
6010pub unsafe fn cgeqrt2(
6011 m: i32,
6012 n: i32,
6013 a: &mut [c32],
6014 lda: i32,
6015 t: &mut [c32],
6016 ldt: i32,
6017 info: &mut i32,
6018) {
6019 ffi::cgeqrt2_(
6020 &m,
6021 &n,
6022 a.as_mut_ptr() as *mut _,
6023 &lda,
6024 t.as_mut_ptr() as *mut _,
6025 &ldt,
6026 info,
6027 )
6028}
6029
6030#[inline]
6031pub unsafe fn dgeqrt2(
6032 m: i32,
6033 n: i32,
6034 a: &mut [f64],
6035 lda: i32,
6036 t: &mut [f64],
6037 ldt: i32,
6038 info: &mut i32,
6039) {
6040 ffi::dgeqrt2_(&m, &n, a.as_mut_ptr(), &lda, t.as_mut_ptr(), &ldt, info)
6041}
6042
6043#[inline]
6044pub unsafe fn sgeqrt2(
6045 m: i32,
6046 n: i32,
6047 a: &mut [f32],
6048 lda: i32,
6049 t: &mut [f32],
6050 ldt: i32,
6051 info: &mut i32,
6052) {
6053 ffi::sgeqrt2_(&m, &n, a.as_mut_ptr(), &lda, t.as_mut_ptr(), &ldt, info)
6054}
6055
6056#[inline]
6057pub unsafe fn zgeqrt2(
6058 m: i32,
6059 n: i32,
6060 a: &mut [c64],
6061 lda: i32,
6062 t: &mut [c64],
6063 ldt: i32,
6064 info: &mut i32,
6065) {
6066 ffi::zgeqrt2_(
6067 &m,
6068 &n,
6069 a.as_mut_ptr() as *mut _,
6070 &lda,
6071 t.as_mut_ptr() as *mut _,
6072 &ldt,
6073 info,
6074 )
6075}
6076
6077#[inline]
6078pub unsafe fn cgeqrt3(
6079 m: i32,
6080 n: i32,
6081 a: &mut [c32],
6082 lda: i32,
6083 t: &mut [c32],
6084 ldt: i32,
6085 info: &mut i32,
6086) {
6087 ffi::cgeqrt3_(
6088 &m,
6089 &n,
6090 a.as_mut_ptr() as *mut _,
6091 &lda,
6092 t.as_mut_ptr() as *mut _,
6093 &ldt,
6094 info,
6095 )
6096}
6097
6098#[inline]
6099pub unsafe fn dgeqrt3(
6100 m: i32,
6101 n: i32,
6102 a: &mut [f64],
6103 lda: i32,
6104 t: &mut [f64],
6105 ldt: i32,
6106 info: &mut i32,
6107) {
6108 ffi::dgeqrt3_(&m, &n, a.as_mut_ptr(), &lda, t.as_mut_ptr(), &ldt, info)
6109}
6110
6111#[inline]
6112pub unsafe fn sgeqrt3(
6113 m: i32,
6114 n: i32,
6115 a: &mut [f32],
6116 lda: i32,
6117 t: &mut [f32],
6118 ldt: i32,
6119 info: &mut i32,
6120) {
6121 ffi::sgeqrt3_(&m, &n, a.as_mut_ptr(), &lda, t.as_mut_ptr(), &ldt, info)
6122}
6123
6124#[inline]
6125pub unsafe fn zgeqrt3(
6126 m: i32,
6127 n: i32,
6128 a: &mut [c64],
6129 lda: i32,
6130 t: &mut [c64],
6131 ldt: i32,
6132 info: &mut i32,
6133) {
6134 ffi::zgeqrt3_(
6135 &m,
6136 &n,
6137 a.as_mut_ptr() as *mut _,
6138 &lda,
6139 t.as_mut_ptr() as *mut _,
6140 &ldt,
6141 info,
6142 )
6143}
6144
6145#[inline]
6146pub unsafe fn cgerfs(
6147 trans: u8,
6148 n: i32,
6149 nrhs: i32,
6150 a: &[c32],
6151 lda: i32,
6152 af: &[c32],
6153 ldaf: i32,
6154 ipiv: &[i32],
6155 b: &[c32],
6156 ldb: i32,
6157 x: &mut [c32],
6158 ldx: i32,
6159 ferr: &mut [f32],
6160 berr: &mut [f32],
6161 work: &mut [c32],
6162 rwork: &mut [f32],
6163 info: &mut i32,
6164) {
6165 ffi::cgerfs_(
6166 &(trans as c_char),
6167 &n,
6168 &nrhs,
6169 a.as_ptr() as *const _,
6170 &lda,
6171 af.as_ptr() as *const _,
6172 &ldaf,
6173 ipiv.as_ptr(),
6174 b.as_ptr() as *const _,
6175 &ldb,
6176 x.as_mut_ptr() as *mut _,
6177 &ldx,
6178 ferr.as_mut_ptr(),
6179 berr.as_mut_ptr(),
6180 work.as_mut_ptr() as *mut _,
6181 rwork.as_mut_ptr(),
6182 info,
6183 )
6184}
6185
6186#[inline]
6187pub unsafe fn dgerfs(
6188 trans: u8,
6189 n: i32,
6190 nrhs: i32,
6191 a: &[f64],
6192 lda: i32,
6193 af: &[f64],
6194 ldaf: i32,
6195 ipiv: &[i32],
6196 b: &[f64],
6197 ldb: i32,
6198 x: &mut [f64],
6199 ldx: i32,
6200 ferr: &mut [f64],
6201 berr: &mut [f64],
6202 work: &mut [f64],
6203 iwork: &mut [i32],
6204 info: &mut i32,
6205) {
6206 ffi::dgerfs_(
6207 &(trans as c_char),
6208 &n,
6209 &nrhs,
6210 a.as_ptr(),
6211 &lda,
6212 af.as_ptr(),
6213 &ldaf,
6214 ipiv.as_ptr(),
6215 b.as_ptr(),
6216 &ldb,
6217 x.as_mut_ptr(),
6218 &ldx,
6219 ferr.as_mut_ptr(),
6220 berr.as_mut_ptr(),
6221 work.as_mut_ptr(),
6222 iwork.as_mut_ptr(),
6223 info,
6224 )
6225}
6226
6227#[inline]
6228pub unsafe fn sgerfs(
6229 trans: u8,
6230 n: i32,
6231 nrhs: i32,
6232 a: &[f32],
6233 lda: i32,
6234 af: &[f32],
6235 ldaf: i32,
6236 ipiv: &[i32],
6237 b: &[f32],
6238 ldb: i32,
6239 x: &mut [f32],
6240 ldx: i32,
6241 ferr: &mut [f32],
6242 berr: &mut [f32],
6243 work: &mut [f32],
6244 iwork: &mut [i32],
6245 info: &mut i32,
6246) {
6247 ffi::sgerfs_(
6248 &(trans as c_char),
6249 &n,
6250 &nrhs,
6251 a.as_ptr(),
6252 &lda,
6253 af.as_ptr(),
6254 &ldaf,
6255 ipiv.as_ptr(),
6256 b.as_ptr(),
6257 &ldb,
6258 x.as_mut_ptr(),
6259 &ldx,
6260 ferr.as_mut_ptr(),
6261 berr.as_mut_ptr(),
6262 work.as_mut_ptr(),
6263 iwork.as_mut_ptr(),
6264 info,
6265 )
6266}
6267
6268#[inline]
6269pub unsafe fn zgerfs(
6270 trans: u8,
6271 n: i32,
6272 nrhs: i32,
6273 a: &[c64],
6274 lda: i32,
6275 af: &[c64],
6276 ldaf: i32,
6277 ipiv: &[i32],
6278 b: &[c64],
6279 ldb: i32,
6280 x: &mut [c64],
6281 ldx: i32,
6282 ferr: &mut [f64],
6283 berr: &mut [f64],
6284 work: &mut [c64],
6285 rwork: &mut [f64],
6286 info: &mut i32,
6287) {
6288 ffi::zgerfs_(
6289 &(trans as c_char),
6290 &n,
6291 &nrhs,
6292 a.as_ptr() as *const _,
6293 &lda,
6294 af.as_ptr() as *const _,
6295 &ldaf,
6296 ipiv.as_ptr(),
6297 b.as_ptr() as *const _,
6298 &ldb,
6299 x.as_mut_ptr() as *mut _,
6300 &ldx,
6301 ferr.as_mut_ptr(),
6302 berr.as_mut_ptr(),
6303 work.as_mut_ptr() as *mut _,
6304 rwork.as_mut_ptr(),
6305 info,
6306 )
6307}
6308
6309#[inline]
6310pub unsafe fn cgerfsx(
6311 trans: u8,
6312 equed: u8,
6313 n: i32,
6314 nrhs: i32,
6315 a: &[c32],
6316 lda: i32,
6317 af: &[c32],
6318 ldaf: i32,
6319 ipiv: &[i32],
6320 r: &[f32],
6321 c: &[f32],
6322 b: &[c32],
6323 ldb: i32,
6324 x: &mut [c32],
6325 ldx: i32,
6326 rcond: &mut f32,
6327 berr: &mut [f32],
6328 n_err_bnds: i32,
6329 err_bnds_norm: &mut [f32],
6330 err_bnds_comp: &mut [f32],
6331 nparams: &[i32],
6332 params: &mut [f32],
6333 work: &mut [c32],
6334 rwork: &mut [f32],
6335 info: &mut i32,
6336) {
6337 ffi::cgerfsx_(
6338 &(trans as c_char),
6339 &(equed as c_char),
6340 &n,
6341 &nrhs,
6342 a.as_ptr() as *const _,
6343 &lda,
6344 af.as_ptr() as *const _,
6345 &ldaf,
6346 ipiv.as_ptr(),
6347 r.as_ptr(),
6348 c.as_ptr(),
6349 b.as_ptr() as *const _,
6350 &ldb,
6351 x.as_mut_ptr() as *mut _,
6352 &ldx,
6353 rcond,
6354 berr.as_mut_ptr(),
6355 &n_err_bnds,
6356 err_bnds_norm.as_mut_ptr(),
6357 err_bnds_comp.as_mut_ptr(),
6358 nparams.as_ptr(),
6359 params.as_mut_ptr(),
6360 work.as_mut_ptr() as *mut _,
6361 rwork.as_mut_ptr(),
6362 info,
6363 )
6364}
6365
6366#[inline]
6367pub unsafe fn dgerfsx(
6368 trans: u8,
6369 equed: u8,
6370 n: i32,
6371 nrhs: i32,
6372 a: &[f64],
6373 lda: i32,
6374 af: &[f64],
6375 ldaf: i32,
6376 ipiv: &[i32],
6377 r: &[f64],
6378 c: &[f64],
6379 b: &[f64],
6380 ldb: i32,
6381 x: &mut [f64],
6382 ldx: i32,
6383 rcond: &mut f64,
6384 berr: &mut [f64],
6385 n_err_bnds: i32,
6386 err_bnds_norm: &mut [f64],
6387 err_bnds_comp: &mut [f64],
6388 nparams: &[i32],
6389 params: &mut [f64],
6390 work: &mut [f64],
6391 iwork: &mut [i32],
6392 info: &mut i32,
6393) {
6394 ffi::dgerfsx_(
6395 &(trans as c_char),
6396 &(equed as c_char),
6397 &n,
6398 &nrhs,
6399 a.as_ptr(),
6400 &lda,
6401 af.as_ptr(),
6402 &ldaf,
6403 ipiv.as_ptr(),
6404 r.as_ptr(),
6405 c.as_ptr(),
6406 b.as_ptr(),
6407 &ldb,
6408 x.as_mut_ptr(),
6409 &ldx,
6410 rcond,
6411 berr.as_mut_ptr(),
6412 &n_err_bnds,
6413 err_bnds_norm.as_mut_ptr(),
6414 err_bnds_comp.as_mut_ptr(),
6415 nparams.as_ptr(),
6416 params.as_mut_ptr(),
6417 work.as_mut_ptr(),
6418 iwork.as_mut_ptr(),
6419 info,
6420 )
6421}
6422
6423#[inline]
6424pub unsafe fn sgerfsx(
6425 trans: u8,
6426 equed: u8,
6427 n: i32,
6428 nrhs: i32,
6429 a: &[f32],
6430 lda: i32,
6431 af: &[f32],
6432 ldaf: i32,
6433 ipiv: &[i32],
6434 r: &[f32],
6435 c: &[f32],
6436 b: &[f32],
6437 ldb: i32,
6438 x: &mut [f32],
6439 ldx: i32,
6440 rcond: &mut f32,
6441 berr: &mut [f32],
6442 n_err_bnds: i32,
6443 err_bnds_norm: &mut [f32],
6444 err_bnds_comp: &mut [f32],
6445 nparams: &[i32],
6446 params: &mut [f32],
6447 work: &mut [f32],
6448 iwork: &mut [i32],
6449 info: &mut i32,
6450) {
6451 ffi::sgerfsx_(
6452 &(trans as c_char),
6453 &(equed as c_char),
6454 &n,
6455 &nrhs,
6456 a.as_ptr(),
6457 &lda,
6458 af.as_ptr(),
6459 &ldaf,
6460 ipiv.as_ptr(),
6461 r.as_ptr(),
6462 c.as_ptr(),
6463 b.as_ptr(),
6464 &ldb,
6465 x.as_mut_ptr(),
6466 &ldx,
6467 rcond,
6468 berr.as_mut_ptr(),
6469 &n_err_bnds,
6470 err_bnds_norm.as_mut_ptr(),
6471 err_bnds_comp.as_mut_ptr(),
6472 nparams.as_ptr(),
6473 params.as_mut_ptr(),
6474 work.as_mut_ptr(),
6475 iwork.as_mut_ptr(),
6476 info,
6477 )
6478}
6479
6480#[inline]
6481pub unsafe fn zgerfsx(
6482 trans: u8,
6483 equed: u8,
6484 n: i32,
6485 nrhs: i32,
6486 a: &[c64],
6487 lda: i32,
6488 af: &[c64],
6489 ldaf: i32,
6490 ipiv: &[i32],
6491 r: &[f64],
6492 c: &[f64],
6493 b: &[c64],
6494 ldb: i32,
6495 x: &mut [c64],
6496 ldx: i32,
6497 rcond: &mut f64,
6498 berr: &mut [f64],
6499 n_err_bnds: i32,
6500 err_bnds_norm: &mut [f64],
6501 err_bnds_comp: &mut [f64],
6502 nparams: &[i32],
6503 params: &mut [f64],
6504 work: &mut [c64],
6505 rwork: &mut [f64],
6506 info: &mut i32,
6507) {
6508 ffi::zgerfsx_(
6509 &(trans as c_char),
6510 &(equed as c_char),
6511 &n,
6512 &nrhs,
6513 a.as_ptr() as *const _,
6514 &lda,
6515 af.as_ptr() as *const _,
6516 &ldaf,
6517 ipiv.as_ptr(),
6518 r.as_ptr(),
6519 c.as_ptr(),
6520 b.as_ptr() as *const _,
6521 &ldb,
6522 x.as_mut_ptr() as *mut _,
6523 &ldx,
6524 rcond,
6525 berr.as_mut_ptr(),
6526 &n_err_bnds,
6527 err_bnds_norm.as_mut_ptr(),
6528 err_bnds_comp.as_mut_ptr(),
6529 nparams.as_ptr(),
6530 params.as_mut_ptr(),
6531 work.as_mut_ptr() as *mut _,
6532 rwork.as_mut_ptr(),
6533 info,
6534 )
6535}
6536
6537#[inline]
6538pub unsafe fn cgerq2(
6539 m: i32,
6540 n: i32,
6541 a: &mut [c32],
6542 lda: i32,
6543 tau: &mut [c32],
6544 work: &mut [c32],
6545 info: &mut i32,
6546) {
6547 ffi::cgerq2_(
6548 &m,
6549 &n,
6550 a.as_mut_ptr() as *mut _,
6551 &lda,
6552 tau.as_mut_ptr() as *mut _,
6553 work.as_mut_ptr() as *mut _,
6554 info,
6555 )
6556}
6557
6558#[inline]
6559pub unsafe fn dgerq2(
6560 m: i32,
6561 n: i32,
6562 a: &mut [f64],
6563 lda: i32,
6564 tau: &mut [f64],
6565 work: &mut [f64],
6566 info: &mut i32,
6567) {
6568 ffi::dgerq2_(
6569 &m,
6570 &n,
6571 a.as_mut_ptr(),
6572 &lda,
6573 tau.as_mut_ptr(),
6574 work.as_mut_ptr(),
6575 info,
6576 )
6577}
6578
6579#[inline]
6580pub unsafe fn sgerq2(
6581 m: i32,
6582 n: i32,
6583 a: &mut [f32],
6584 lda: i32,
6585 tau: &mut [f32],
6586 work: &mut [f32],
6587 info: &mut i32,
6588) {
6589 ffi::sgerq2_(
6590 &m,
6591 &n,
6592 a.as_mut_ptr(),
6593 &lda,
6594 tau.as_mut_ptr(),
6595 work.as_mut_ptr(),
6596 info,
6597 )
6598}
6599
6600#[inline]
6601pub unsafe fn zgerq2(
6602 m: i32,
6603 n: i32,
6604 a: &mut [c64],
6605 lda: i32,
6606 tau: &mut [c64],
6607 work: &mut [c64],
6608 info: &mut i32,
6609) {
6610 ffi::zgerq2_(
6611 &m,
6612 &n,
6613 a.as_mut_ptr() as *mut _,
6614 &lda,
6615 tau.as_mut_ptr() as *mut _,
6616 work.as_mut_ptr() as *mut _,
6617 info,
6618 )
6619}
6620
6621#[inline]
6622pub unsafe fn cgerqf(
6623 m: i32,
6624 n: i32,
6625 a: &mut [c32],
6626 lda: i32,
6627 tau: &mut [c32],
6628 work: &mut [c32],
6629 lwork: i32,
6630 info: &mut i32,
6631) {
6632 ffi::cgerqf_(
6633 &m,
6634 &n,
6635 a.as_mut_ptr() as *mut _,
6636 &lda,
6637 tau.as_mut_ptr() as *mut _,
6638 work.as_mut_ptr() as *mut _,
6639 &lwork,
6640 info,
6641 )
6642}
6643
6644#[inline]
6645pub unsafe fn dgerqf(
6646 m: i32,
6647 n: i32,
6648 a: &mut [f64],
6649 lda: i32,
6650 tau: &mut [f64],
6651 work: &mut [f64],
6652 lwork: i32,
6653 info: &mut i32,
6654) {
6655 ffi::dgerqf_(
6656 &m,
6657 &n,
6658 a.as_mut_ptr(),
6659 &lda,
6660 tau.as_mut_ptr(),
6661 work.as_mut_ptr(),
6662 &lwork,
6663 info,
6664 )
6665}
6666
6667#[inline]
6668pub unsafe fn sgerqf(
6669 m: i32,
6670 n: i32,
6671 a: &mut [f32],
6672 lda: i32,
6673 tau: &mut [f32],
6674 work: &mut [f32],
6675 lwork: i32,
6676 info: &mut i32,
6677) {
6678 ffi::sgerqf_(
6679 &m,
6680 &n,
6681 a.as_mut_ptr(),
6682 &lda,
6683 tau.as_mut_ptr(),
6684 work.as_mut_ptr(),
6685 &lwork,
6686 info,
6687 )
6688}
6689
6690#[inline]
6691pub unsafe fn zgerqf(
6692 m: i32,
6693 n: i32,
6694 a: &mut [c64],
6695 lda: i32,
6696 tau: &mut [c64],
6697 work: &mut [c64],
6698 lwork: i32,
6699 info: &mut i32,
6700) {
6701 ffi::zgerqf_(
6702 &m,
6703 &n,
6704 a.as_mut_ptr() as *mut _,
6705 &lda,
6706 tau.as_mut_ptr() as *mut _,
6707 work.as_mut_ptr() as *mut _,
6708 &lwork,
6709 info,
6710 )
6711}
6712
6713#[inline]
6714pub unsafe fn cgesdd(
6715 jobz: u8,
6716 m: i32,
6717 n: i32,
6718 a: &mut [c32],
6719 lda: i32,
6720 s: &mut [f32],
6721 u: &mut [c32],
6722 ldu: i32,
6723 vt: &mut [c32],
6724 ldvt: i32,
6725 work: &mut [c32],
6726 lwork: i32,
6727 rwork: &mut [f32],
6728 iwork: &mut [i32],
6729 info: &mut i32,
6730) {
6731 ffi::cgesdd_(
6732 &(jobz as c_char),
6733 &m,
6734 &n,
6735 a.as_mut_ptr() as *mut _,
6736 &lda,
6737 s.as_mut_ptr(),
6738 u.as_mut_ptr() as *mut _,
6739 &ldu,
6740 vt.as_mut_ptr() as *mut _,
6741 &ldvt,
6742 work.as_mut_ptr() as *mut _,
6743 &lwork,
6744 rwork.as_mut_ptr(),
6745 iwork.as_mut_ptr(),
6746 info,
6747 )
6748}
6749
6750#[inline]
6751pub unsafe fn dgesdd(
6752 jobz: u8,
6753 m: i32,
6754 n: i32,
6755 a: &mut [f64],
6756 lda: i32,
6757 s: &mut [f64],
6758 u: &mut [f64],
6759 ldu: i32,
6760 vt: &mut [f64],
6761 ldvt: i32,
6762 work: &mut [f64],
6763 lwork: i32,
6764 iwork: &mut [i32],
6765 info: &mut i32,
6766) {
6767 ffi::dgesdd_(
6768 &(jobz as c_char),
6769 &m,
6770 &n,
6771 a.as_mut_ptr(),
6772 &lda,
6773 s.as_mut_ptr(),
6774 u.as_mut_ptr(),
6775 &ldu,
6776 vt.as_mut_ptr(),
6777 &ldvt,
6778 work.as_mut_ptr(),
6779 &lwork,
6780 iwork.as_mut_ptr(),
6781 info,
6782 )
6783}
6784
6785#[inline]
6786pub unsafe fn sgesdd(
6787 jobz: u8,
6788 m: i32,
6789 n: i32,
6790 a: &mut [f32],
6791 lda: i32,
6792 s: &mut [f32],
6793 u: &mut [f32],
6794 ldu: i32,
6795 vt: &mut [f32],
6796 ldvt: i32,
6797 work: &mut [f32],
6798 lwork: i32,
6799 iwork: &mut [i32],
6800 info: &mut i32,
6801) {
6802 ffi::sgesdd_(
6803 &(jobz as c_char),
6804 &m,
6805 &n,
6806 a.as_mut_ptr(),
6807 &lda,
6808 s.as_mut_ptr(),
6809 u.as_mut_ptr(),
6810 &ldu,
6811 vt.as_mut_ptr(),
6812 &ldvt,
6813 work.as_mut_ptr(),
6814 &lwork,
6815 iwork.as_mut_ptr(),
6816 info,
6817 )
6818}
6819
6820#[inline]
6821pub unsafe fn zgesdd(
6822 jobz: u8,
6823 m: i32,
6824 n: i32,
6825 a: &mut [c64],
6826 lda: i32,
6827 s: &mut [f64],
6828 u: &mut [c64],
6829 ldu: i32,
6830 vt: &mut [c64],
6831 ldvt: i32,
6832 work: &mut [c64],
6833 lwork: i32,
6834 rwork: &mut [f64],
6835 iwork: &mut [i32],
6836 info: &mut i32,
6837) {
6838 ffi::zgesdd_(
6839 &(jobz as c_char),
6840 &m,
6841 &n,
6842 a.as_mut_ptr() as *mut _,
6843 &lda,
6844 s.as_mut_ptr(),
6845 u.as_mut_ptr() as *mut _,
6846 &ldu,
6847 vt.as_mut_ptr() as *mut _,
6848 &ldvt,
6849 work.as_mut_ptr() as *mut _,
6850 &lwork,
6851 rwork.as_mut_ptr(),
6852 iwork.as_mut_ptr(),
6853 info,
6854 )
6855}
6856
6857#[inline]
6858pub unsafe fn cgesv(
6859 n: i32,
6860 nrhs: i32,
6861 a: &mut [c32],
6862 lda: i32,
6863 ipiv: &mut [i32],
6864 b: &mut [c32],
6865 ldb: i32,
6866 info: &mut i32,
6867) {
6868 ffi::cgesv_(
6869 &n,
6870 &nrhs,
6871 a.as_mut_ptr() as *mut _,
6872 &lda,
6873 ipiv.as_mut_ptr(),
6874 b.as_mut_ptr() as *mut _,
6875 &ldb,
6876 info,
6877 )
6878}
6879
6880#[inline]
6881pub unsafe fn dgesv(
6882 n: i32,
6883 nrhs: i32,
6884 a: &mut [f64],
6885 lda: i32,
6886 ipiv: &mut [i32],
6887 b: &mut [f64],
6888 ldb: i32,
6889 info: &mut i32,
6890) {
6891 ffi::dgesv_(
6892 &n,
6893 &nrhs,
6894 a.as_mut_ptr(),
6895 &lda,
6896 ipiv.as_mut_ptr(),
6897 b.as_mut_ptr(),
6898 &ldb,
6899 info,
6900 )
6901}
6902
6903#[inline]
6904pub unsafe fn sgesv(
6905 n: i32,
6906 nrhs: i32,
6907 a: &mut [f32],
6908 lda: i32,
6909 ipiv: &mut [i32],
6910 b: &mut [f32],
6911 ldb: i32,
6912 info: &mut i32,
6913) {
6914 ffi::sgesv_(
6915 &n,
6916 &nrhs,
6917 a.as_mut_ptr(),
6918 &lda,
6919 ipiv.as_mut_ptr(),
6920 b.as_mut_ptr(),
6921 &ldb,
6922 info,
6923 )
6924}
6925
6926#[inline]
6927pub unsafe fn zgesv(
6928 n: i32,
6929 nrhs: i32,
6930 a: &mut [c64],
6931 lda: i32,
6932 ipiv: &mut [i32],
6933 b: &mut [c64],
6934 ldb: i32,
6935 info: &mut i32,
6936) {
6937 ffi::zgesv_(
6938 &n,
6939 &nrhs,
6940 a.as_mut_ptr() as *mut _,
6941 &lda,
6942 ipiv.as_mut_ptr(),
6943 b.as_mut_ptr() as *mut _,
6944 &ldb,
6945 info,
6946 )
6947}
6948
6949#[inline]
6950pub unsafe fn dsgesv(
6951 n: i32,
6952 nrhs: i32,
6953 a: &mut [f64],
6954 lda: i32,
6955 ipiv: &mut [i32],
6956 b: &[f64],
6957 ldb: i32,
6958 x: &mut [f64],
6959 ldx: i32,
6960 work: &mut [f64],
6961 swork: &mut [f32],
6962 iter: &mut i32,
6963 info: &mut i32,
6964) {
6965 ffi::dsgesv_(
6966 &n,
6967 &nrhs,
6968 a.as_mut_ptr(),
6969 &lda,
6970 ipiv.as_mut_ptr(),
6971 b.as_ptr(),
6972 &ldb,
6973 x.as_mut_ptr(),
6974 &ldx,
6975 work.as_mut_ptr(),
6976 swork.as_mut_ptr(),
6977 iter,
6978 info,
6979 )
6980}
6981
6982#[inline]
6983pub unsafe fn zcgesv(
6984 n: i32,
6985 nrhs: i32,
6986 a: &mut [c64],
6987 lda: i32,
6988 ipiv: &mut [i32],
6989 b: &[c64],
6990 ldb: i32,
6991 x: &mut [c64],
6992 ldx: i32,
6993 work: &mut [c64],
6994 swork: &mut [c32],
6995 rwork: &mut [f64],
6996 iter: &mut i32,
6997 info: &mut i32,
6998) {
6999 ffi::zcgesv_(
7000 &n,
7001 &nrhs,
7002 a.as_mut_ptr() as *mut _,
7003 &lda,
7004 ipiv.as_mut_ptr(),
7005 b.as_ptr() as *const _,
7006 &ldb,
7007 x.as_mut_ptr() as *mut _,
7008 &ldx,
7009 work.as_mut_ptr() as *mut _,
7010 swork.as_mut_ptr() as *mut _,
7011 rwork.as_mut_ptr(),
7012 iter,
7013 info,
7014 )
7015}
7016
7017#[inline]
7018pub unsafe fn cgesvd(
7019 jobu: u8,
7020 jobvt: u8,
7021 m: i32,
7022 n: i32,
7023 a: &mut [c32],
7024 lda: i32,
7025 s: &mut [f32],
7026 u: &mut [c32],
7027 ldu: i32,
7028 vt: &mut [c32],
7029 ldvt: i32,
7030 work: &mut [c32],
7031 lwork: i32,
7032 rwork: &mut [f32],
7033 info: &mut i32,
7034) {
7035 ffi::cgesvd_(
7036 &(jobu as c_char),
7037 &(jobvt as c_char),
7038 &m,
7039 &n,
7040 a.as_mut_ptr() as *mut _,
7041 &lda,
7042 s.as_mut_ptr(),
7043 u.as_mut_ptr() as *mut _,
7044 &ldu,
7045 vt.as_mut_ptr() as *mut _,
7046 &ldvt,
7047 work.as_mut_ptr() as *mut _,
7048 &lwork,
7049 rwork.as_mut_ptr(),
7050 info,
7051 )
7052}
7053
7054#[inline]
7055pub unsafe fn dgesvd(
7056 jobu: u8,
7057 jobvt: u8,
7058 m: i32,
7059 n: i32,
7060 a: &mut [f64],
7061 lda: i32,
7062 s: &mut [f64],
7063 u: &mut [f64],
7064 ldu: i32,
7065 vt: &mut [f64],
7066 ldvt: i32,
7067 work: &mut [f64],
7068 lwork: i32,
7069 info: &mut i32,
7070) {
7071 ffi::dgesvd_(
7072 &(jobu as c_char),
7073 &(jobvt as c_char),
7074 &m,
7075 &n,
7076 a.as_mut_ptr(),
7077 &lda,
7078 s.as_mut_ptr(),
7079 u.as_mut_ptr(),
7080 &ldu,
7081 vt.as_mut_ptr(),
7082 &ldvt,
7083 work.as_mut_ptr(),
7084 &lwork,
7085 info,
7086 )
7087}
7088
7089#[inline]
7090pub unsafe fn sgesvd(
7091 jobu: u8,
7092 jobvt: u8,
7093 m: i32,
7094 n: i32,
7095 a: &mut [f32],
7096 lda: i32,
7097 s: &mut [f32],
7098 u: &mut [f32],
7099 ldu: i32,
7100 vt: &mut [f32],
7101 ldvt: i32,
7102 work: &mut [f32],
7103 lwork: i32,
7104 info: &mut i32,
7105) {
7106 ffi::sgesvd_(
7107 &(jobu as c_char),
7108 &(jobvt as c_char),
7109 &m,
7110 &n,
7111 a.as_mut_ptr(),
7112 &lda,
7113 s.as_mut_ptr(),
7114 u.as_mut_ptr(),
7115 &ldu,
7116 vt.as_mut_ptr(),
7117 &ldvt,
7118 work.as_mut_ptr(),
7119 &lwork,
7120 info,
7121 )
7122}
7123
7124#[inline]
7125pub unsafe fn zgesvd(
7126 jobu: u8,
7127 jobvt: u8,
7128 m: i32,
7129 n: i32,
7130 a: &mut [c64],
7131 lda: i32,
7132 s: &mut [f64],
7133 u: &mut [c64],
7134 ldu: i32,
7135 vt: &mut [c64],
7136 ldvt: i32,
7137 work: &mut [c64],
7138 lwork: i32,
7139 rwork: &mut [f64],
7140 info: &mut i32,
7141) {
7142 ffi::zgesvd_(
7143 &(jobu as c_char),
7144 &(jobvt as c_char),
7145 &m,
7146 &n,
7147 a.as_mut_ptr() as *mut _,
7148 &lda,
7149 s.as_mut_ptr(),
7150 u.as_mut_ptr() as *mut _,
7151 &ldu,
7152 vt.as_mut_ptr() as *mut _,
7153 &ldvt,
7154 work.as_mut_ptr() as *mut _,
7155 &lwork,
7156 rwork.as_mut_ptr(),
7157 info,
7158 )
7159}
7160
7161#[inline]
7162pub unsafe fn cgesvdq(
7163 joba: u8,
7164 jobp: u8,
7165 jobr: u8,
7166 jobu: u8,
7167 jobv: u8,
7168 m: i32,
7169 n: i32,
7170 a: &mut [c32],
7171 lda: i32,
7172 s: &mut [f32],
7173 u: &mut [c32],
7174 ldu: i32,
7175 v: &mut [c32],
7176 ldv: i32,
7177 numrank: &mut [i32],
7178 iwork: &mut [i32],
7179 liwork: i32,
7180 cwork: &mut [c32],
7181 lcwork: &mut [i32],
7182 rwork: &mut [f32],
7183 lrwork: i32,
7184 info: &mut i32,
7185) {
7186 ffi::cgesvdq_(
7187 &(joba as c_char),
7188 &(jobp as c_char),
7189 &(jobr as c_char),
7190 &(jobu as c_char),
7191 &(jobv as c_char),
7192 &m,
7193 &n,
7194 a.as_mut_ptr() as *mut _,
7195 &lda,
7196 s.as_mut_ptr(),
7197 u.as_mut_ptr() as *mut _,
7198 &ldu,
7199 v.as_mut_ptr() as *mut _,
7200 &ldv,
7201 numrank.as_mut_ptr(),
7202 iwork.as_mut_ptr(),
7203 &liwork,
7204 cwork.as_mut_ptr() as *mut _,
7205 lcwork.as_mut_ptr(),
7206 rwork.as_mut_ptr(),
7207 &lrwork,
7208 info,
7209 )
7210}
7211
7212#[inline]
7213pub unsafe fn dgesvdq(
7214 joba: u8,
7215 jobp: u8,
7216 jobr: u8,
7217 jobu: u8,
7218 jobv: u8,
7219 m: i32,
7220 n: i32,
7221 a: &mut [f64],
7222 lda: i32,
7223 s: &mut [f64],
7224 u: &mut [f64],
7225 ldu: i32,
7226 v: &mut [f64],
7227 ldv: i32,
7228 numrank: &mut [i32],
7229 iwork: &mut [i32],
7230 liwork: i32,
7231 work: &mut [f64],
7232 lwork: &mut i32,
7233 rwork: &mut [f64],
7234 lrwork: i32,
7235 info: &mut i32,
7236) {
7237 ffi::dgesvdq_(
7238 &(joba as c_char),
7239 &(jobp as c_char),
7240 &(jobr as c_char),
7241 &(jobu as c_char),
7242 &(jobv as c_char),
7243 &m,
7244 &n,
7245 a.as_mut_ptr(),
7246 &lda,
7247 s.as_mut_ptr(),
7248 u.as_mut_ptr(),
7249 &ldu,
7250 v.as_mut_ptr(),
7251 &ldv,
7252 numrank.as_mut_ptr(),
7253 iwork.as_mut_ptr(),
7254 &liwork,
7255 work.as_mut_ptr(),
7256 lwork,
7257 rwork.as_mut_ptr(),
7258 &lrwork,
7259 info,
7260 )
7261}
7262
7263#[inline]
7264pub unsafe fn sgesvdq(
7265 joba: u8,
7266 jobp: u8,
7267 jobr: u8,
7268 jobu: u8,
7269 jobv: u8,
7270 m: i32,
7271 n: i32,
7272 a: &mut [f32],
7273 lda: i32,
7274 s: &mut [f32],
7275 u: &mut [f32],
7276 ldu: i32,
7277 v: &mut [f32],
7278 ldv: i32,
7279 numrank: &mut [i32],
7280 iwork: &mut [i32],
7281 liwork: i32,
7282 work: &mut [f32],
7283 lwork: &mut i32,
7284 rwork: &mut [f32],
7285 lrwork: i32,
7286 info: &mut i32,
7287) {
7288 ffi::sgesvdq_(
7289 &(joba as c_char),
7290 &(jobp as c_char),
7291 &(jobr as c_char),
7292 &(jobu as c_char),
7293 &(jobv as c_char),
7294 &m,
7295 &n,
7296 a.as_mut_ptr(),
7297 &lda,
7298 s.as_mut_ptr(),
7299 u.as_mut_ptr(),
7300 &ldu,
7301 v.as_mut_ptr(),
7302 &ldv,
7303 numrank.as_mut_ptr(),
7304 iwork.as_mut_ptr(),
7305 &liwork,
7306 work.as_mut_ptr(),
7307 lwork,
7308 rwork.as_mut_ptr(),
7309 &lrwork,
7310 info,
7311 )
7312}
7313
7314#[inline]
7315pub unsafe fn zgesvdq(
7316 joba: u8,
7317 jobp: u8,
7318 jobr: u8,
7319 jobu: u8,
7320 jobv: u8,
7321 m: i32,
7322 n: i32,
7323 a: &mut [c64],
7324 lda: i32,
7325 s: &mut [f64],
7326 u: &mut [c64],
7327 ldu: i32,
7328 v: &mut [c64],
7329 ldv: i32,
7330 numrank: &mut [i32],
7331 iwork: &mut [i32],
7332 liwork: i32,
7333 cwork: &mut [c64],
7334 lcwork: &mut [i32],
7335 rwork: &mut [f64],
7336 lrwork: i32,
7337 info: &mut i32,
7338) {
7339 ffi::zgesvdq_(
7340 &(joba as c_char),
7341 &(jobp as c_char),
7342 &(jobr as c_char),
7343 &(jobu as c_char),
7344 &(jobv as c_char),
7345 &m,
7346 &n,
7347 a.as_mut_ptr() as *mut _,
7348 &lda,
7349 s.as_mut_ptr(),
7350 u.as_mut_ptr() as *mut _,
7351 &ldu,
7352 v.as_mut_ptr() as *mut _,
7353 &ldv,
7354 numrank.as_mut_ptr(),
7355 iwork.as_mut_ptr(),
7356 &liwork,
7357 cwork.as_mut_ptr() as *mut _,
7358 lcwork.as_mut_ptr(),
7359 rwork.as_mut_ptr(),
7360 &lrwork,
7361 info,
7362 )
7363}
7364
7365#[inline]
7366pub unsafe fn cgesvdx(
7367 jobu: u8,
7368 jobvt: u8,
7369 range: u8,
7370 m: i32,
7371 n: i32,
7372 a: &mut [c32],
7373 lda: i32,
7374 vl: f32,
7375 vu: f32,
7376 il: i32,
7377 iu: i32,
7378 ns: &mut [i32],
7379 s: &mut [f32],
7380 u: &mut [c32],
7381 ldu: i32,
7382 vt: &mut [c32],
7383 ldvt: i32,
7384 work: &mut [c32],
7385 lwork: i32,
7386 rwork: &mut [f32],
7387 iwork: &mut [i32],
7388 info: &mut i32,
7389) {
7390 ffi::cgesvdx_(
7391 &(jobu as c_char),
7392 &(jobvt as c_char),
7393 &(range as c_char),
7394 &m,
7395 &n,
7396 a.as_mut_ptr() as *mut _,
7397 &lda,
7398 &vl,
7399 &vu,
7400 &il,
7401 &iu,
7402 ns.as_mut_ptr(),
7403 s.as_mut_ptr(),
7404 u.as_mut_ptr() as *mut _,
7405 &ldu,
7406 vt.as_mut_ptr() as *mut _,
7407 &ldvt,
7408 work.as_mut_ptr() as *mut _,
7409 &lwork,
7410 rwork.as_mut_ptr(),
7411 iwork.as_mut_ptr(),
7412 info,
7413 )
7414}
7415
7416#[inline]
7417pub unsafe fn dgesvdx(
7418 jobu: u8,
7419 jobvt: u8,
7420 range: u8,
7421 m: i32,
7422 n: i32,
7423 a: &mut [f64],
7424 lda: i32,
7425 vl: f64,
7426 vu: f64,
7427 il: i32,
7428 iu: i32,
7429 ns: &mut [i32],
7430 s: &mut [f64],
7431 u: &mut [f64],
7432 ldu: i32,
7433 vt: &mut [f64],
7434 ldvt: i32,
7435 work: &mut [f64],
7436 lwork: i32,
7437 iwork: &mut [i32],
7438 info: &mut i32,
7439) {
7440 ffi::dgesvdx_(
7441 &(jobu as c_char),
7442 &(jobvt as c_char),
7443 &(range as c_char),
7444 &m,
7445 &n,
7446 a.as_mut_ptr(),
7447 &lda,
7448 &vl,
7449 &vu,
7450 &il,
7451 &iu,
7452 ns.as_mut_ptr(),
7453 s.as_mut_ptr(),
7454 u.as_mut_ptr(),
7455 &ldu,
7456 vt.as_mut_ptr(),
7457 &ldvt,
7458 work.as_mut_ptr(),
7459 &lwork,
7460 iwork.as_mut_ptr(),
7461 info,
7462 )
7463}
7464
7465#[inline]
7466pub unsafe fn sgesvdx(
7467 jobu: u8,
7468 jobvt: u8,
7469 range: u8,
7470 m: i32,
7471 n: i32,
7472 a: &mut [f32],
7473 lda: i32,
7474 vl: f32,
7475 vu: f32,
7476 il: i32,
7477 iu: i32,
7478 ns: &mut [i32],
7479 s: &mut [f32],
7480 u: &mut [f32],
7481 ldu: i32,
7482 vt: &mut [f32],
7483 ldvt: i32,
7484 work: &mut [f32],
7485 lwork: i32,
7486 iwork: &mut [i32],
7487 info: &mut i32,
7488) {
7489 ffi::sgesvdx_(
7490 &(jobu as c_char),
7491 &(jobvt as c_char),
7492 &(range as c_char),
7493 &m,
7494 &n,
7495 a.as_mut_ptr(),
7496 &lda,
7497 &vl,
7498 &vu,
7499 &il,
7500 &iu,
7501 ns.as_mut_ptr(),
7502 s.as_mut_ptr(),
7503 u.as_mut_ptr(),
7504 &ldu,
7505 vt.as_mut_ptr(),
7506 &ldvt,
7507 work.as_mut_ptr(),
7508 &lwork,
7509 iwork.as_mut_ptr(),
7510 info,
7511 )
7512}
7513
7514#[inline]
7515pub unsafe fn zgesvdx(
7516 jobu: u8,
7517 jobvt: u8,
7518 range: u8,
7519 m: i32,
7520 n: i32,
7521 a: &mut [c64],
7522 lda: i32,
7523 vl: f64,
7524 vu: f64,
7525 il: i32,
7526 iu: i32,
7527 ns: &mut [i32],
7528 s: &mut [f64],
7529 u: &mut [c64],
7530 ldu: i32,
7531 vt: &mut [c64],
7532 ldvt: i32,
7533 work: &mut [c64],
7534 lwork: i32,
7535 rwork: &mut [f64],
7536 iwork: &mut [i32],
7537 info: &mut i32,
7538) {
7539 ffi::zgesvdx_(
7540 &(jobu as c_char),
7541 &(jobvt as c_char),
7542 &(range as c_char),
7543 &m,
7544 &n,
7545 a.as_mut_ptr() as *mut _,
7546 &lda,
7547 &vl,
7548 &vu,
7549 &il,
7550 &iu,
7551 ns.as_mut_ptr(),
7552 s.as_mut_ptr(),
7553 u.as_mut_ptr() as *mut _,
7554 &ldu,
7555 vt.as_mut_ptr() as *mut _,
7556 &ldvt,
7557 work.as_mut_ptr() as *mut _,
7558 &lwork,
7559 rwork.as_mut_ptr(),
7560 iwork.as_mut_ptr(),
7561 info,
7562 )
7563}
7564
7565#[inline]
7566pub unsafe fn cgesvj(
7567 joba: u8,
7568 jobu: u8,
7569 jobv: u8,
7570 m: i32,
7571 n: i32,
7572 a: &mut [c32],
7573 lda: i32,
7574 sva: &mut [f32],
7575 mv: &[i32],
7576 v: &mut [c32],
7577 ldv: i32,
7578 cwork: &mut [c32],
7579 lwork: i32,
7580 rwork: &mut [f32],
7581 lrwork: i32,
7582 info: &mut i32,
7583) {
7584 ffi::cgesvj_(
7585 &(joba as c_char),
7586 &(jobu as c_char),
7587 &(jobv as c_char),
7588 &m,
7589 &n,
7590 a.as_mut_ptr() as *mut _,
7591 &lda,
7592 sva.as_mut_ptr(),
7593 mv.as_ptr(),
7594 v.as_mut_ptr() as *mut _,
7595 &ldv,
7596 cwork.as_mut_ptr() as *mut _,
7597 &lwork,
7598 rwork.as_mut_ptr(),
7599 &lrwork,
7600 info,
7601 )
7602}
7603
7604#[inline]
7605pub unsafe fn dgesvj(
7606 joba: u8,
7607 jobu: u8,
7608 jobv: u8,
7609 m: i32,
7610 n: i32,
7611 a: &mut [f64],
7612 lda: i32,
7613 sva: &mut [f64],
7614 mv: &[i32],
7615 v: &mut [f64],
7616 ldv: i32,
7617 work: &mut [f64],
7618 lwork: i32,
7619 info: &mut i32,
7620) {
7621 ffi::dgesvj_(
7622 &(joba as c_char),
7623 &(jobu as c_char),
7624 &(jobv as c_char),
7625 &m,
7626 &n,
7627 a.as_mut_ptr(),
7628 &lda,
7629 sva.as_mut_ptr(),
7630 mv.as_ptr(),
7631 v.as_mut_ptr(),
7632 &ldv,
7633 work.as_mut_ptr(),
7634 &lwork,
7635 info,
7636 )
7637}
7638
7639#[inline]
7640pub unsafe fn sgesvj(
7641 joba: u8,
7642 jobu: u8,
7643 jobv: u8,
7644 m: i32,
7645 n: i32,
7646 a: &mut [f32],
7647 lda: i32,
7648 sva: &mut [f32],
7649 mv: &[i32],
7650 v: &mut [f32],
7651 ldv: i32,
7652 work: &mut [f32],
7653 lwork: i32,
7654 info: &mut i32,
7655) {
7656 ffi::sgesvj_(
7657 &(joba as c_char),
7658 &(jobu as c_char),
7659 &(jobv as c_char),
7660 &m,
7661 &n,
7662 a.as_mut_ptr(),
7663 &lda,
7664 sva.as_mut_ptr(),
7665 mv.as_ptr(),
7666 v.as_mut_ptr(),
7667 &ldv,
7668 work.as_mut_ptr(),
7669 &lwork,
7670 info,
7671 )
7672}
7673
7674#[inline]
7675pub unsafe fn zgesvj(
7676 joba: u8,
7677 jobu: u8,
7678 jobv: u8,
7679 m: i32,
7680 n: i32,
7681 a: &mut [c64],
7682 lda: i32,
7683 sva: &mut [f64],
7684 mv: &[i32],
7685 v: &mut [c64],
7686 ldv: i32,
7687 cwork: &mut [c64],
7688 lwork: i32,
7689 rwork: &mut [f64],
7690 lrwork: i32,
7691 info: &mut i32,
7692) {
7693 ffi::zgesvj_(
7694 &(joba as c_char),
7695 &(jobu as c_char),
7696 &(jobv as c_char),
7697 &m,
7698 &n,
7699 a.as_mut_ptr() as *mut _,
7700 &lda,
7701 sva.as_mut_ptr(),
7702 mv.as_ptr(),
7703 v.as_mut_ptr() as *mut _,
7704 &ldv,
7705 cwork.as_mut_ptr() as *mut _,
7706 &lwork,
7707 rwork.as_mut_ptr(),
7708 &lrwork,
7709 info,
7710 )
7711}
7712
7713#[inline]
7714pub unsafe fn cgesvx(
7715 fact: u8,
7716 trans: u8,
7717 n: i32,
7718 nrhs: i32,
7719 a: &mut [c32],
7720 lda: i32,
7721 af: &mut [c32],
7722 ldaf: i32,
7723 ipiv: &mut [i32],
7724 equed: &mut u8,
7725 r: &mut [f32],
7726 c: &mut [f32],
7727 b: &mut [c32],
7728 ldb: i32,
7729 x: &mut [c32],
7730 ldx: i32,
7731 rcond: &mut f32,
7732 ferr: &mut [f32],
7733 berr: &mut [f32],
7734 work: &mut [c32],
7735 rwork: &mut [f32],
7736 info: &mut i32,
7737) {
7738 ffi::cgesvx_(
7739 &(fact as c_char),
7740 &(trans as c_char),
7741 &n,
7742 &nrhs,
7743 a.as_mut_ptr() as *mut _,
7744 &lda,
7745 af.as_mut_ptr() as *mut _,
7746 &ldaf,
7747 ipiv.as_mut_ptr(),
7748 equed as *mut _ as *mut _,
7749 r.as_mut_ptr(),
7750 c.as_mut_ptr(),
7751 b.as_mut_ptr() as *mut _,
7752 &ldb,
7753 x.as_mut_ptr() as *mut _,
7754 &ldx,
7755 rcond,
7756 ferr.as_mut_ptr(),
7757 berr.as_mut_ptr(),
7758 work.as_mut_ptr() as *mut _,
7759 rwork.as_mut_ptr(),
7760 info,
7761 )
7762}
7763
7764#[inline]
7765pub unsafe fn dgesvx(
7766 fact: u8,
7767 trans: u8,
7768 n: i32,
7769 nrhs: i32,
7770 a: &mut [f64],
7771 lda: i32,
7772 af: &mut [f64],
7773 ldaf: i32,
7774 ipiv: &mut [i32],
7775 equed: &mut u8,
7776 r: &mut [f64],
7777 c: &mut [f64],
7778 b: &mut [f64],
7779 ldb: i32,
7780 x: &mut [f64],
7781 ldx: i32,
7782 rcond: &mut f64,
7783 ferr: &mut [f64],
7784 berr: &mut [f64],
7785 work: &mut [f64],
7786 iwork: &mut [i32],
7787 info: &mut i32,
7788) {
7789 ffi::dgesvx_(
7790 &(fact as c_char),
7791 &(trans as c_char),
7792 &n,
7793 &nrhs,
7794 a.as_mut_ptr(),
7795 &lda,
7796 af.as_mut_ptr(),
7797 &ldaf,
7798 ipiv.as_mut_ptr(),
7799 equed as *mut _ as *mut _,
7800 r.as_mut_ptr(),
7801 c.as_mut_ptr(),
7802 b.as_mut_ptr(),
7803 &ldb,
7804 x.as_mut_ptr(),
7805 &ldx,
7806 rcond,
7807 ferr.as_mut_ptr(),
7808 berr.as_mut_ptr(),
7809 work.as_mut_ptr(),
7810 iwork.as_mut_ptr(),
7811 info,
7812 )
7813}
7814
7815#[inline]
7816pub unsafe fn sgesvx(
7817 fact: u8,
7818 trans: u8,
7819 n: i32,
7820 nrhs: i32,
7821 a: &mut [f32],
7822 lda: i32,
7823 af: &mut [f32],
7824 ldaf: i32,
7825 ipiv: &mut [i32],
7826 equed: &mut u8,
7827 r: &mut [f32],
7828 c: &mut [f32],
7829 b: &mut [f32],
7830 ldb: i32,
7831 x: &mut [f32],
7832 ldx: i32,
7833 rcond: &mut f32,
7834 ferr: &mut [f32],
7835 berr: &mut [f32],
7836 work: &mut [f32],
7837 iwork: &mut [i32],
7838 info: &mut i32,
7839) {
7840 ffi::sgesvx_(
7841 &(fact as c_char),
7842 &(trans as c_char),
7843 &n,
7844 &nrhs,
7845 a.as_mut_ptr(),
7846 &lda,
7847 af.as_mut_ptr(),
7848 &ldaf,
7849 ipiv.as_mut_ptr(),
7850 equed as *mut _ as *mut _,
7851 r.as_mut_ptr(),
7852 c.as_mut_ptr(),
7853 b.as_mut_ptr(),
7854 &ldb,
7855 x.as_mut_ptr(),
7856 &ldx,
7857 rcond,
7858 ferr.as_mut_ptr(),
7859 berr.as_mut_ptr(),
7860 work.as_mut_ptr(),
7861 iwork.as_mut_ptr(),
7862 info,
7863 )
7864}
7865
7866#[inline]
7867pub unsafe fn zgesvx(
7868 fact: u8,
7869 trans: u8,
7870 n: i32,
7871 nrhs: i32,
7872 a: &mut [c64],
7873 lda: i32,
7874 af: &mut [c64],
7875 ldaf: i32,
7876 ipiv: &mut [i32],
7877 equed: &mut u8,
7878 r: &mut [f64],
7879 c: &mut [f64],
7880 b: &mut [c64],
7881 ldb: i32,
7882 x: &mut [c64],
7883 ldx: i32,
7884 rcond: &mut f64,
7885 ferr: &mut [f64],
7886 berr: &mut [f64],
7887 work: &mut [c64],
7888 rwork: &mut [f64],
7889 info: &mut i32,
7890) {
7891 ffi::zgesvx_(
7892 &(fact as c_char),
7893 &(trans as c_char),
7894 &n,
7895 &nrhs,
7896 a.as_mut_ptr() as *mut _,
7897 &lda,
7898 af.as_mut_ptr() as *mut _,
7899 &ldaf,
7900 ipiv.as_mut_ptr(),
7901 equed as *mut _ as *mut _,
7902 r.as_mut_ptr(),
7903 c.as_mut_ptr(),
7904 b.as_mut_ptr() as *mut _,
7905 &ldb,
7906 x.as_mut_ptr() as *mut _,
7907 &ldx,
7908 rcond,
7909 ferr.as_mut_ptr(),
7910 berr.as_mut_ptr(),
7911 work.as_mut_ptr() as *mut _,
7912 rwork.as_mut_ptr(),
7913 info,
7914 )
7915}
7916
7917#[inline]
7918pub unsafe fn cgesvxx(
7919 fact: u8,
7920 trans: u8,
7921 n: i32,
7922 nrhs: i32,
7923 a: &mut [c32],
7924 lda: i32,
7925 af: &mut [c32],
7926 ldaf: i32,
7927 ipiv: &mut [i32],
7928 equed: &mut u8,
7929 r: &mut [f32],
7930 c: &mut [f32],
7931 b: &mut [c32],
7932 ldb: i32,
7933 x: &mut [c32],
7934 ldx: i32,
7935 rcond: &mut f32,
7936 rpvgrw: &mut f32,
7937 berr: &mut [f32],
7938 n_err_bnds: i32,
7939 err_bnds_norm: &mut [f32],
7940 err_bnds_comp: &mut [f32],
7941 nparams: &[i32],
7942 params: &mut [f32],
7943 work: &mut [c32],
7944 rwork: &mut [f32],
7945 info: &mut i32,
7946) {
7947 ffi::cgesvxx_(
7948 &(fact as c_char),
7949 &(trans as c_char),
7950 &n,
7951 &nrhs,
7952 a.as_mut_ptr() as *mut _,
7953 &lda,
7954 af.as_mut_ptr() as *mut _,
7955 &ldaf,
7956 ipiv.as_mut_ptr(),
7957 equed as *mut _ as *mut _,
7958 r.as_mut_ptr(),
7959 c.as_mut_ptr(),
7960 b.as_mut_ptr() as *mut _,
7961 &ldb,
7962 x.as_mut_ptr() as *mut _,
7963 &ldx,
7964 rcond,
7965 rpvgrw,
7966 berr.as_mut_ptr(),
7967 &n_err_bnds,
7968 err_bnds_norm.as_mut_ptr(),
7969 err_bnds_comp.as_mut_ptr(),
7970 nparams.as_ptr(),
7971 params.as_mut_ptr(),
7972 work.as_mut_ptr() as *mut _,
7973 rwork.as_mut_ptr(),
7974 info,
7975 )
7976}
7977
7978#[inline]
7979pub unsafe fn dgesvxx(
7980 fact: u8,
7981 trans: u8,
7982 n: i32,
7983 nrhs: i32,
7984 a: &mut [f64],
7985 lda: i32,
7986 af: &mut [f64],
7987 ldaf: i32,
7988 ipiv: &mut [i32],
7989 equed: &mut u8,
7990 r: &mut [f64],
7991 c: &mut [f64],
7992 b: &mut [f64],
7993 ldb: i32,
7994 x: &mut [f64],
7995 ldx: i32,
7996 rcond: &mut f64,
7997 rpvgrw: &mut f64,
7998 berr: &mut [f64],
7999 n_err_bnds: i32,
8000 err_bnds_norm: &mut [f64],
8001 err_bnds_comp: &mut [f64],
8002 nparams: &[i32],
8003 params: &mut [f64],
8004 work: &mut [f64],
8005 iwork: &mut [i32],
8006 info: &mut i32,
8007) {
8008 ffi::dgesvxx_(
8009 &(fact as c_char),
8010 &(trans as c_char),
8011 &n,
8012 &nrhs,
8013 a.as_mut_ptr(),
8014 &lda,
8015 af.as_mut_ptr(),
8016 &ldaf,
8017 ipiv.as_mut_ptr(),
8018 equed as *mut _ as *mut _,
8019 r.as_mut_ptr(),
8020 c.as_mut_ptr(),
8021 b.as_mut_ptr(),
8022 &ldb,
8023 x.as_mut_ptr(),
8024 &ldx,
8025 rcond,
8026 rpvgrw,
8027 berr.as_mut_ptr(),
8028 &n_err_bnds,
8029 err_bnds_norm.as_mut_ptr(),
8030 err_bnds_comp.as_mut_ptr(),
8031 nparams.as_ptr(),
8032 params.as_mut_ptr(),
8033 work.as_mut_ptr(),
8034 iwork.as_mut_ptr(),
8035 info,
8036 )
8037}
8038
8039#[inline]
8040pub unsafe fn sgesvxx(
8041 fact: u8,
8042 trans: u8,
8043 n: i32,
8044 nrhs: i32,
8045 a: &mut [f32],
8046 lda: i32,
8047 af: &mut [f32],
8048 ldaf: i32,
8049 ipiv: &mut [i32],
8050 equed: &mut u8,
8051 r: &mut [f32],
8052 c: &mut [f32],
8053 b: &mut [f32],
8054 ldb: i32,
8055 x: &mut [f32],
8056 ldx: i32,
8057 rcond: &mut f32,
8058 rpvgrw: &mut f32,
8059 berr: &mut [f32],
8060 n_err_bnds: i32,
8061 err_bnds_norm: &mut [f32],
8062 err_bnds_comp: &mut [f32],
8063 nparams: &[i32],
8064 params: &mut [f32],
8065 work: &mut [f32],
8066 iwork: &mut [i32],
8067 info: &mut i32,
8068) {
8069 ffi::sgesvxx_(
8070 &(fact as c_char),
8071 &(trans as c_char),
8072 &n,
8073 &nrhs,
8074 a.as_mut_ptr(),
8075 &lda,
8076 af.as_mut_ptr(),
8077 &ldaf,
8078 ipiv.as_mut_ptr(),
8079 equed as *mut _ as *mut _,
8080 r.as_mut_ptr(),
8081 c.as_mut_ptr(),
8082 b.as_mut_ptr(),
8083 &ldb,
8084 x.as_mut_ptr(),
8085 &ldx,
8086 rcond,
8087 rpvgrw,
8088 berr.as_mut_ptr(),
8089 &n_err_bnds,
8090 err_bnds_norm.as_mut_ptr(),
8091 err_bnds_comp.as_mut_ptr(),
8092 nparams.as_ptr(),
8093 params.as_mut_ptr(),
8094 work.as_mut_ptr(),
8095 iwork.as_mut_ptr(),
8096 info,
8097 )
8098}
8099
8100#[inline]
8101pub unsafe fn zgesvxx(
8102 fact: u8,
8103 trans: u8,
8104 n: i32,
8105 nrhs: i32,
8106 a: &mut [c64],
8107 lda: i32,
8108 af: &mut [c64],
8109 ldaf: i32,
8110 ipiv: &mut [i32],
8111 equed: &mut u8,
8112 r: &mut [f64],
8113 c: &mut [f64],
8114 b: &mut [c64],
8115 ldb: i32,
8116 x: &mut [c64],
8117 ldx: i32,
8118 rcond: &mut f64,
8119 rpvgrw: &mut f64,
8120 berr: &mut [f64],
8121 n_err_bnds: i32,
8122 err_bnds_norm: &mut [f64],
8123 err_bnds_comp: &mut [f64],
8124 nparams: &[i32],
8125 params: &mut [f64],
8126 work: &mut [c64],
8127 rwork: &mut [f64],
8128 info: &mut i32,
8129) {
8130 ffi::zgesvxx_(
8131 &(fact as c_char),
8132 &(trans as c_char),
8133 &n,
8134 &nrhs,
8135 a.as_mut_ptr() as *mut _,
8136 &lda,
8137 af.as_mut_ptr() as *mut _,
8138 &ldaf,
8139 ipiv.as_mut_ptr(),
8140 equed as *mut _ as *mut _,
8141 r.as_mut_ptr(),
8142 c.as_mut_ptr(),
8143 b.as_mut_ptr() as *mut _,
8144 &ldb,
8145 x.as_mut_ptr() as *mut _,
8146 &ldx,
8147 rcond,
8148 rpvgrw,
8149 berr.as_mut_ptr(),
8150 &n_err_bnds,
8151 err_bnds_norm.as_mut_ptr(),
8152 err_bnds_comp.as_mut_ptr(),
8153 nparams.as_ptr(),
8154 params.as_mut_ptr(),
8155 work.as_mut_ptr() as *mut _,
8156 rwork.as_mut_ptr(),
8157 info,
8158 )
8159}
8160
8161#[inline]
8162pub unsafe fn cgetf2(m: i32, n: i32, a: &mut [c32], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8163 ffi::cgetf2_(
8164 &m,
8165 &n,
8166 a.as_mut_ptr() as *mut _,
8167 &lda,
8168 ipiv.as_mut_ptr(),
8169 info,
8170 )
8171}
8172
8173#[inline]
8174pub unsafe fn dgetf2(m: i32, n: i32, a: &mut [f64], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8175 ffi::dgetf2_(&m, &n, a.as_mut_ptr(), &lda, ipiv.as_mut_ptr(), info)
8176}
8177
8178#[inline]
8179pub unsafe fn sgetf2(m: i32, n: i32, a: &mut [f32], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8180 ffi::sgetf2_(&m, &n, a.as_mut_ptr(), &lda, ipiv.as_mut_ptr(), info)
8181}
8182
8183#[inline]
8184pub unsafe fn zgetf2(m: i32, n: i32, a: &mut [c64], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8185 ffi::zgetf2_(
8186 &m,
8187 &n,
8188 a.as_mut_ptr() as *mut _,
8189 &lda,
8190 ipiv.as_mut_ptr(),
8191 info,
8192 )
8193}
8194
8195#[inline]
8196pub unsafe fn cgetrf(m: i32, n: i32, a: &mut [c32], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8197 ffi::cgetrf_(
8198 &m,
8199 &n,
8200 a.as_mut_ptr() as *mut _,
8201 &lda,
8202 ipiv.as_mut_ptr(),
8203 info,
8204 )
8205}
8206
8207#[inline]
8208pub unsafe fn dgetrf(m: i32, n: i32, a: &mut [f64], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8209 ffi::dgetrf_(&m, &n, a.as_mut_ptr(), &lda, ipiv.as_mut_ptr(), info)
8210}
8211
8212#[inline]
8213pub unsafe fn sgetrf(m: i32, n: i32, a: &mut [f32], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8214 ffi::sgetrf_(&m, &n, a.as_mut_ptr(), &lda, ipiv.as_mut_ptr(), info)
8215}
8216
8217#[inline]
8218pub unsafe fn zgetrf(m: i32, n: i32, a: &mut [c64], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8219 ffi::zgetrf_(
8220 &m,
8221 &n,
8222 a.as_mut_ptr() as *mut _,
8223 &lda,
8224 ipiv.as_mut_ptr(),
8225 info,
8226 )
8227}
8228
8229#[inline]
8230pub unsafe fn cgetrf2(m: i32, n: i32, a: &mut [c32], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8231 ffi::cgetrf2_(
8232 &m,
8233 &n,
8234 a.as_mut_ptr() as *mut _,
8235 &lda,
8236 ipiv.as_mut_ptr(),
8237 info,
8238 )
8239}
8240
8241#[inline]
8242pub unsafe fn dgetrf2(m: i32, n: i32, a: &mut [f64], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8243 ffi::dgetrf2_(&m, &n, a.as_mut_ptr(), &lda, ipiv.as_mut_ptr(), info)
8244}
8245
8246#[inline]
8247pub unsafe fn sgetrf2(m: i32, n: i32, a: &mut [f32], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8248 ffi::sgetrf2_(&m, &n, a.as_mut_ptr(), &lda, ipiv.as_mut_ptr(), info)
8249}
8250
8251#[inline]
8252pub unsafe fn zgetrf2(m: i32, n: i32, a: &mut [c64], lda: i32, ipiv: &mut [i32], info: &mut i32) {
8253 ffi::zgetrf2_(
8254 &m,
8255 &n,
8256 a.as_mut_ptr() as *mut _,
8257 &lda,
8258 ipiv.as_mut_ptr(),
8259 info,
8260 )
8261}
8262
8263#[inline]
8264pub unsafe fn cgetri(
8265 n: i32,
8266 a: &mut [c32],
8267 lda: i32,
8268 ipiv: &[i32],
8269 work: &mut [c32],
8270 lwork: i32,
8271 info: &mut i32,
8272) {
8273 ffi::cgetri_(
8274 &n,
8275 a.as_mut_ptr() as *mut _,
8276 &lda,
8277 ipiv.as_ptr(),
8278 work.as_mut_ptr() as *mut _,
8279 &lwork,
8280 info,
8281 )
8282}
8283
8284#[inline]
8285pub unsafe fn dgetri(
8286 n: i32,
8287 a: &mut [f64],
8288 lda: i32,
8289 ipiv: &[i32],
8290 work: &mut [f64],
8291 lwork: i32,
8292 info: &mut i32,
8293) {
8294 ffi::dgetri_(
8295 &n,
8296 a.as_mut_ptr(),
8297 &lda,
8298 ipiv.as_ptr(),
8299 work.as_mut_ptr(),
8300 &lwork,
8301 info,
8302 )
8303}
8304
8305#[inline]
8306pub unsafe fn sgetri(
8307 n: i32,
8308 a: &mut [f32],
8309 lda: i32,
8310 ipiv: &[i32],
8311 work: &mut [f32],
8312 lwork: i32,
8313 info: &mut i32,
8314) {
8315 ffi::sgetri_(
8316 &n,
8317 a.as_mut_ptr(),
8318 &lda,
8319 ipiv.as_ptr(),
8320 work.as_mut_ptr(),
8321 &lwork,
8322 info,
8323 )
8324}
8325
8326#[inline]
8327pub unsafe fn zgetri(
8328 n: i32,
8329 a: &mut [c64],
8330 lda: i32,
8331 ipiv: &[i32],
8332 work: &mut [c64],
8333 lwork: i32,
8334 info: &mut i32,
8335) {
8336 ffi::zgetri_(
8337 &n,
8338 a.as_mut_ptr() as *mut _,
8339 &lda,
8340 ipiv.as_ptr(),
8341 work.as_mut_ptr() as *mut _,
8342 &lwork,
8343 info,
8344 )
8345}
8346
8347#[inline]
8348pub unsafe fn cgetrs(
8349 trans: u8,
8350 n: i32,
8351 nrhs: i32,
8352 a: &[c32],
8353 lda: i32,
8354 ipiv: &[i32],
8355 b: &mut [c32],
8356 ldb: i32,
8357 info: &mut i32,
8358) {
8359 ffi::cgetrs_(
8360 &(trans as c_char),
8361 &n,
8362 &nrhs,
8363 a.as_ptr() as *const _,
8364 &lda,
8365 ipiv.as_ptr(),
8366 b.as_mut_ptr() as *mut _,
8367 &ldb,
8368 info,
8369 )
8370}
8371
8372#[inline]
8373pub unsafe fn dgetrs(
8374 trans: u8,
8375 n: i32,
8376 nrhs: i32,
8377 a: &[f64],
8378 lda: i32,
8379 ipiv: &[i32],
8380 b: &mut [f64],
8381 ldb: i32,
8382 info: &mut i32,
8383) {
8384 ffi::dgetrs_(
8385 &(trans as c_char),
8386 &n,
8387 &nrhs,
8388 a.as_ptr(),
8389 &lda,
8390 ipiv.as_ptr(),
8391 b.as_mut_ptr(),
8392 &ldb,
8393 info,
8394 )
8395}
8396
8397#[inline]
8398pub unsafe fn sgetrs(
8399 trans: u8,
8400 n: i32,
8401 nrhs: i32,
8402 a: &[f32],
8403 lda: i32,
8404 ipiv: &[i32],
8405 b: &mut [f32],
8406 ldb: i32,
8407 info: &mut i32,
8408) {
8409 ffi::sgetrs_(
8410 &(trans as c_char),
8411 &n,
8412 &nrhs,
8413 a.as_ptr(),
8414 &lda,
8415 ipiv.as_ptr(),
8416 b.as_mut_ptr(),
8417 &ldb,
8418 info,
8419 )
8420}
8421
8422#[inline]
8423pub unsafe fn zgetrs(
8424 trans: u8,
8425 n: i32,
8426 nrhs: i32,
8427 a: &[c64],
8428 lda: i32,
8429 ipiv: &[i32],
8430 b: &mut [c64],
8431 ldb: i32,
8432 info: &mut i32,
8433) {
8434 ffi::zgetrs_(
8435 &(trans as c_char),
8436 &n,
8437 &nrhs,
8438 a.as_ptr() as *const _,
8439 &lda,
8440 ipiv.as_ptr(),
8441 b.as_mut_ptr() as *mut _,
8442 &ldb,
8443 info,
8444 )
8445}
8446
8447#[inline]
8448pub unsafe fn cgetsls(
8449 trans: u8,
8450 m: i32,
8451 n: i32,
8452 nrhs: i32,
8453 a: &mut [c32],
8454 lda: i32,
8455 b: &mut [c32],
8456 ldb: i32,
8457 work: &mut [c32],
8458 lwork: i32,
8459 info: &mut i32,
8460) {
8461 ffi::cgetsls_(
8462 &(trans as c_char),
8463 &m,
8464 &n,
8465 &nrhs,
8466 a.as_mut_ptr() as *mut _,
8467 &lda,
8468 b.as_mut_ptr() as *mut _,
8469 &ldb,
8470 work.as_mut_ptr() as *mut _,
8471 &lwork,
8472 info,
8473 )
8474}
8475
8476#[inline]
8477pub unsafe fn dgetsls(
8478 trans: u8,
8479 m: i32,
8480 n: i32,
8481 nrhs: i32,
8482 a: &mut [f64],
8483 lda: i32,
8484 b: &mut [f64],
8485 ldb: i32,
8486 work: &mut [f64],
8487 lwork: i32,
8488 info: &mut i32,
8489) {
8490 ffi::dgetsls_(
8491 &(trans as c_char),
8492 &m,
8493 &n,
8494 &nrhs,
8495 a.as_mut_ptr(),
8496 &lda,
8497 b.as_mut_ptr(),
8498 &ldb,
8499 work.as_mut_ptr(),
8500 &lwork,
8501 info,
8502 )
8503}
8504
8505#[inline]
8506pub unsafe fn sgetsls(
8507 trans: u8,
8508 m: i32,
8509 n: i32,
8510 nrhs: i32,
8511 a: &mut [f32],
8512 lda: i32,
8513 b: &mut [f32],
8514 ldb: i32,
8515 work: &mut [f32],
8516 lwork: i32,
8517 info: &mut i32,
8518) {
8519 ffi::sgetsls_(
8520 &(trans as c_char),
8521 &m,
8522 &n,
8523 &nrhs,
8524 a.as_mut_ptr(),
8525 &lda,
8526 b.as_mut_ptr(),
8527 &ldb,
8528 work.as_mut_ptr(),
8529 &lwork,
8530 info,
8531 )
8532}
8533
8534#[inline]
8535pub unsafe fn zgetsls(
8536 trans: u8,
8537 m: i32,
8538 n: i32,
8539 nrhs: i32,
8540 a: &mut [c64],
8541 lda: i32,
8542 b: &mut [c64],
8543 ldb: i32,
8544 work: &mut [c64],
8545 lwork: i32,
8546 info: &mut i32,
8547) {
8548 ffi::zgetsls_(
8549 &(trans as c_char),
8550 &m,
8551 &n,
8552 &nrhs,
8553 a.as_mut_ptr() as *mut _,
8554 &lda,
8555 b.as_mut_ptr() as *mut _,
8556 &ldb,
8557 work.as_mut_ptr() as *mut _,
8558 &lwork,
8559 info,
8560 )
8561}
8562
8563#[inline]
8564pub unsafe fn cgetsqrhrt(
8565 m: i32,
8566 n: i32,
8567 mb1: &[i32],
8568 nb1: &[i32],
8569 nb2: &[i32],
8570 a: &mut [c32],
8571 lda: i32,
8572 t: &mut [c32],
8573 ldt: i32,
8574 work: &mut [c32],
8575 lwork: i32,
8576 info: &mut i32,
8577) {
8578 ffi::cgetsqrhrt_(
8579 &m,
8580 &n,
8581 mb1.as_ptr(),
8582 nb1.as_ptr(),
8583 nb2.as_ptr(),
8584 a.as_mut_ptr() as *mut _,
8585 &lda,
8586 t.as_mut_ptr() as *mut _,
8587 &ldt,
8588 work.as_mut_ptr() as *mut _,
8589 &lwork,
8590 info,
8591 )
8592}
8593
8594#[inline]
8595pub unsafe fn dgetsqrhrt(
8596 m: i32,
8597 n: i32,
8598 mb1: &[i32],
8599 nb1: &[i32],
8600 nb2: &[i32],
8601 a: &mut [f64],
8602 lda: i32,
8603 t: &mut [f64],
8604 ldt: i32,
8605 work: &mut [f64],
8606 lwork: i32,
8607 info: &mut i32,
8608) {
8609 ffi::dgetsqrhrt_(
8610 &m,
8611 &n,
8612 mb1.as_ptr(),
8613 nb1.as_ptr(),
8614 nb2.as_ptr(),
8615 a.as_mut_ptr(),
8616 &lda,
8617 t.as_mut_ptr(),
8618 &ldt,
8619 work.as_mut_ptr(),
8620 &lwork,
8621 info,
8622 )
8623}
8624
8625#[inline]
8626pub unsafe fn sgetsqrhrt(
8627 m: i32,
8628 n: i32,
8629 mb1: &[i32],
8630 nb1: &[i32],
8631 nb2: &[i32],
8632 a: &mut [f32],
8633 lda: i32,
8634 t: &mut [f32],
8635 ldt: i32,
8636 work: &mut [f32],
8637 lwork: i32,
8638 info: &mut i32,
8639) {
8640 ffi::sgetsqrhrt_(
8641 &m,
8642 &n,
8643 mb1.as_ptr(),
8644 nb1.as_ptr(),
8645 nb2.as_ptr(),
8646 a.as_mut_ptr(),
8647 &lda,
8648 t.as_mut_ptr(),
8649 &ldt,
8650 work.as_mut_ptr(),
8651 &lwork,
8652 info,
8653 )
8654}
8655
8656#[inline]
8657pub unsafe fn zgetsqrhrt(
8658 m: i32,
8659 n: i32,
8660 mb1: &[i32],
8661 nb1: &[i32],
8662 nb2: &[i32],
8663 a: &mut [c64],
8664 lda: i32,
8665 t: &mut [c64],
8666 ldt: i32,
8667 work: &mut [c64],
8668 lwork: i32,
8669 info: &mut i32,
8670) {
8671 ffi::zgetsqrhrt_(
8672 &m,
8673 &n,
8674 mb1.as_ptr(),
8675 nb1.as_ptr(),
8676 nb2.as_ptr(),
8677 a.as_mut_ptr() as *mut _,
8678 &lda,
8679 t.as_mut_ptr() as *mut _,
8680 &ldt,
8681 work.as_mut_ptr() as *mut _,
8682 &lwork,
8683 info,
8684 )
8685}
8686
8687#[inline]
8688pub unsafe fn cggbak(
8689 job: u8,
8690 side: u8,
8691 n: i32,
8692 ilo: i32,
8693 ihi: i32,
8694 lscale: &[f32],
8695 rscale: &[f32],
8696 m: i32,
8697 v: &mut [c32],
8698 ldv: i32,
8699 info: &mut i32,
8700) {
8701 ffi::cggbak_(
8702 &(job as c_char),
8703 &(side as c_char),
8704 &n,
8705 &ilo,
8706 &ihi,
8707 lscale.as_ptr(),
8708 rscale.as_ptr(),
8709 &m,
8710 v.as_mut_ptr() as *mut _,
8711 &ldv,
8712 info,
8713 )
8714}
8715
8716#[inline]
8717pub unsafe fn dggbak(
8718 job: u8,
8719 side: u8,
8720 n: i32,
8721 ilo: i32,
8722 ihi: i32,
8723 lscale: &[f64],
8724 rscale: &[f64],
8725 m: i32,
8726 v: &mut [f64],
8727 ldv: i32,
8728 info: &mut i32,
8729) {
8730 ffi::dggbak_(
8731 &(job as c_char),
8732 &(side as c_char),
8733 &n,
8734 &ilo,
8735 &ihi,
8736 lscale.as_ptr(),
8737 rscale.as_ptr(),
8738 &m,
8739 v.as_mut_ptr(),
8740 &ldv,
8741 info,
8742 )
8743}
8744
8745#[inline]
8746pub unsafe fn sggbak(
8747 job: u8,
8748 side: u8,
8749 n: i32,
8750 ilo: i32,
8751 ihi: i32,
8752 lscale: &[f32],
8753 rscale: &[f32],
8754 m: i32,
8755 v: &mut [f32],
8756 ldv: i32,
8757 info: &mut i32,
8758) {
8759 ffi::sggbak_(
8760 &(job as c_char),
8761 &(side as c_char),
8762 &n,
8763 &ilo,
8764 &ihi,
8765 lscale.as_ptr(),
8766 rscale.as_ptr(),
8767 &m,
8768 v.as_mut_ptr(),
8769 &ldv,
8770 info,
8771 )
8772}
8773
8774#[inline]
8775pub unsafe fn zggbak(
8776 job: u8,
8777 side: u8,
8778 n: i32,
8779 ilo: i32,
8780 ihi: i32,
8781 lscale: &[f64],
8782 rscale: &[f64],
8783 m: i32,
8784 v: &mut [c64],
8785 ldv: i32,
8786 info: &mut i32,
8787) {
8788 ffi::zggbak_(
8789 &(job as c_char),
8790 &(side as c_char),
8791 &n,
8792 &ilo,
8793 &ihi,
8794 lscale.as_ptr(),
8795 rscale.as_ptr(),
8796 &m,
8797 v.as_mut_ptr() as *mut _,
8798 &ldv,
8799 info,
8800 )
8801}
8802
8803#[inline]
8804pub unsafe fn cggbal(
8805 job: u8,
8806 n: i32,
8807 a: &mut [c32],
8808 lda: i32,
8809 b: &mut [c32],
8810 ldb: i32,
8811 ilo: &mut i32,
8812 ihi: &mut i32,
8813 lscale: &mut [f32],
8814 rscale: &mut [f32],
8815 work: &mut [f32],
8816 info: &mut i32,
8817) {
8818 ffi::cggbal_(
8819 &(job as c_char),
8820 &n,
8821 a.as_mut_ptr() as *mut _,
8822 &lda,
8823 b.as_mut_ptr() as *mut _,
8824 &ldb,
8825 ilo,
8826 ihi,
8827 lscale.as_mut_ptr(),
8828 rscale.as_mut_ptr(),
8829 work.as_mut_ptr(),
8830 info,
8831 )
8832}
8833
8834#[inline]
8835pub unsafe fn dggbal(
8836 job: u8,
8837 n: i32,
8838 a: &mut [f64],
8839 lda: i32,
8840 b: &mut [f64],
8841 ldb: i32,
8842 ilo: &mut i32,
8843 ihi: &mut i32,
8844 lscale: &mut [f64],
8845 rscale: &mut [f64],
8846 work: &mut [f64],
8847 info: &mut i32,
8848) {
8849 ffi::dggbal_(
8850 &(job as c_char),
8851 &n,
8852 a.as_mut_ptr(),
8853 &lda,
8854 b.as_mut_ptr(),
8855 &ldb,
8856 ilo,
8857 ihi,
8858 lscale.as_mut_ptr(),
8859 rscale.as_mut_ptr(),
8860 work.as_mut_ptr(),
8861 info,
8862 )
8863}
8864
8865#[inline]
8866pub unsafe fn sggbal(
8867 job: u8,
8868 n: i32,
8869 a: &mut [f32],
8870 lda: i32,
8871 b: &mut [f32],
8872 ldb: i32,
8873 ilo: &mut i32,
8874 ihi: &mut i32,
8875 lscale: &mut [f32],
8876 rscale: &mut [f32],
8877 work: &mut [f32],
8878 info: &mut i32,
8879) {
8880 ffi::sggbal_(
8881 &(job as c_char),
8882 &n,
8883 a.as_mut_ptr(),
8884 &lda,
8885 b.as_mut_ptr(),
8886 &ldb,
8887 ilo,
8888 ihi,
8889 lscale.as_mut_ptr(),
8890 rscale.as_mut_ptr(),
8891 work.as_mut_ptr(),
8892 info,
8893 )
8894}
8895
8896#[inline]
8897pub unsafe fn zggbal(
8898 job: u8,
8899 n: i32,
8900 a: &mut [c64],
8901 lda: i32,
8902 b: &mut [c64],
8903 ldb: i32,
8904 ilo: &mut i32,
8905 ihi: &mut i32,
8906 lscale: &mut [f64],
8907 rscale: &mut [f64],
8908 work: &mut [f64],
8909 info: &mut i32,
8910) {
8911 ffi::zggbal_(
8912 &(job as c_char),
8913 &n,
8914 a.as_mut_ptr() as *mut _,
8915 &lda,
8916 b.as_mut_ptr() as *mut _,
8917 &ldb,
8918 ilo,
8919 ihi,
8920 lscale.as_mut_ptr(),
8921 rscale.as_mut_ptr(),
8922 work.as_mut_ptr(),
8923 info,
8924 )
8925}
8926
8927#[inline]
8928pub unsafe fn cgges(
8929 jobvsl: u8,
8930 jobvsr: u8,
8931 sort: u8,
8932 selctg: Select2C32,
8933 n: i32,
8934 a: &mut [c32],
8935 lda: i32,
8936 b: &mut [c32],
8937 ldb: i32,
8938 sdim: &mut i32,
8939 alpha: &mut [c32],
8940 beta: &mut [c32],
8941 vsl: &mut [c32],
8942 ldvsl: i32,
8943 vsr: &mut [c32],
8944 ldvsr: i32,
8945 work: &mut [c32],
8946 lwork: i32,
8947 rwork: &mut [f32],
8948 bwork: &mut [i32],
8949 info: &mut i32,
8950) {
8951 ffi::cgges_(
8952 &(jobvsl as c_char),
8953 &(jobvsr as c_char),
8954 &(sort as c_char),
8955 transmute(selctg),
8956 &n,
8957 a.as_mut_ptr() as *mut _,
8958 &lda,
8959 b.as_mut_ptr() as *mut _,
8960 &ldb,
8961 sdim,
8962 alpha.as_mut_ptr() as *mut _,
8963 beta.as_mut_ptr() as *mut _,
8964 vsl.as_mut_ptr() as *mut _,
8965 &ldvsl,
8966 vsr.as_mut_ptr() as *mut _,
8967 &ldvsr,
8968 work.as_mut_ptr() as *mut _,
8969 &lwork,
8970 rwork.as_mut_ptr(),
8971 bwork.as_mut_ptr(),
8972 info,
8973 )
8974}
8975
8976#[inline]
8977pub unsafe fn dgges(
8978 jobvsl: u8,
8979 jobvsr: u8,
8980 sort: u8,
8981 selctg: Select3F64,
8982 n: i32,
8983 a: &mut [f64],
8984 lda: i32,
8985 b: &mut [f64],
8986 ldb: i32,
8987 sdim: &mut i32,
8988 alphar: &mut [f64],
8989 alphai: &mut [f64],
8990 beta: &mut [f64],
8991 vsl: &mut [f64],
8992 ldvsl: i32,
8993 vsr: &mut [f64],
8994 ldvsr: i32,
8995 work: &mut [f64],
8996 lwork: i32,
8997 bwork: &mut [i32],
8998 info: &mut i32,
8999) {
9000 ffi::dgges_(
9001 &(jobvsl as c_char),
9002 &(jobvsr as c_char),
9003 &(sort as c_char),
9004 transmute(selctg),
9005 &n,
9006 a.as_mut_ptr(),
9007 &lda,
9008 b.as_mut_ptr(),
9009 &ldb,
9010 sdim,
9011 alphar.as_mut_ptr(),
9012 alphai.as_mut_ptr(),
9013 beta.as_mut_ptr(),
9014 vsl.as_mut_ptr(),
9015 &ldvsl,
9016 vsr.as_mut_ptr(),
9017 &ldvsr,
9018 work.as_mut_ptr(),
9019 &lwork,
9020 bwork.as_mut_ptr(),
9021 info,
9022 )
9023}
9024
9025#[inline]
9026pub unsafe fn sgges(
9027 jobvsl: u8,
9028 jobvsr: u8,
9029 sort: u8,
9030 selctg: Select3F32,
9031 n: i32,
9032 a: &mut [f32],
9033 lda: i32,
9034 b: &mut [f32],
9035 ldb: i32,
9036 sdim: &mut i32,
9037 alphar: &mut [f32],
9038 alphai: &mut [f32],
9039 beta: &mut [f32],
9040 vsl: &mut [f32],
9041 ldvsl: i32,
9042 vsr: &mut [f32],
9043 ldvsr: i32,
9044 work: &mut [f32],
9045 lwork: i32,
9046 bwork: &mut [i32],
9047 info: &mut i32,
9048) {
9049 ffi::sgges_(
9050 &(jobvsl as c_char),
9051 &(jobvsr as c_char),
9052 &(sort as c_char),
9053 transmute(selctg),
9054 &n,
9055 a.as_mut_ptr(),
9056 &lda,
9057 b.as_mut_ptr(),
9058 &ldb,
9059 sdim,
9060 alphar.as_mut_ptr(),
9061 alphai.as_mut_ptr(),
9062 beta.as_mut_ptr(),
9063 vsl.as_mut_ptr(),
9064 &ldvsl,
9065 vsr.as_mut_ptr(),
9066 &ldvsr,
9067 work.as_mut_ptr(),
9068 &lwork,
9069 bwork.as_mut_ptr(),
9070 info,
9071 )
9072}
9073
9074#[inline]
9075pub unsafe fn zgges(
9076 jobvsl: u8,
9077 jobvsr: u8,
9078 sort: u8,
9079 selctg: Select2C64,
9080 n: i32,
9081 a: &mut [c64],
9082 lda: i32,
9083 b: &mut [c64],
9084 ldb: i32,
9085 sdim: &mut i32,
9086 alpha: &mut [c64],
9087 beta: &mut [c64],
9088 vsl: &mut [c64],
9089 ldvsl: i32,
9090 vsr: &mut [c64],
9091 ldvsr: i32,
9092 work: &mut [c64],
9093 lwork: i32,
9094 rwork: &mut [f64],
9095 bwork: &mut [i32],
9096 info: &mut i32,
9097) {
9098 ffi::zgges_(
9099 &(jobvsl as c_char),
9100 &(jobvsr as c_char),
9101 &(sort as c_char),
9102 transmute(selctg),
9103 &n,
9104 a.as_mut_ptr() as *mut _,
9105 &lda,
9106 b.as_mut_ptr() as *mut _,
9107 &ldb,
9108 sdim,
9109 alpha.as_mut_ptr() as *mut _,
9110 beta.as_mut_ptr() as *mut _,
9111 vsl.as_mut_ptr() as *mut _,
9112 &ldvsl,
9113 vsr.as_mut_ptr() as *mut _,
9114 &ldvsr,
9115 work.as_mut_ptr() as *mut _,
9116 &lwork,
9117 rwork.as_mut_ptr(),
9118 bwork.as_mut_ptr(),
9119 info,
9120 )
9121}
9122
9123#[inline]
9124pub unsafe fn cgges3(
9125 jobvsl: u8,
9126 jobvsr: u8,
9127 sort: u8,
9128 selctg: Select2C32,
9129 n: i32,
9130 a: &mut [c32],
9131 lda: i32,
9132 b: &mut [c32],
9133 ldb: i32,
9134 sdim: &mut i32,
9135 alpha: &mut [c32],
9136 beta: &mut [c32],
9137 vsl: &mut [c32],
9138 ldvsl: i32,
9139 vsr: &mut [c32],
9140 ldvsr: i32,
9141 work: &mut [c32],
9142 lwork: i32,
9143 rwork: &mut [f32],
9144 bwork: &mut [i32],
9145 info: &mut i32,
9146) {
9147 ffi::cgges3_(
9148 &(jobvsl as c_char),
9149 &(jobvsr as c_char),
9150 &(sort as c_char),
9151 transmute(selctg),
9152 &n,
9153 a.as_mut_ptr() as *mut _,
9154 &lda,
9155 b.as_mut_ptr() as *mut _,
9156 &ldb,
9157 sdim,
9158 alpha.as_mut_ptr() as *mut _,
9159 beta.as_mut_ptr() as *mut _,
9160 vsl.as_mut_ptr() as *mut _,
9161 &ldvsl,
9162 vsr.as_mut_ptr() as *mut _,
9163 &ldvsr,
9164 work.as_mut_ptr() as *mut _,
9165 &lwork,
9166 rwork.as_mut_ptr(),
9167 bwork.as_mut_ptr(),
9168 info,
9169 )
9170}
9171
9172#[inline]
9173pub unsafe fn dgges3(
9174 jobvsl: u8,
9175 jobvsr: u8,
9176 sort: u8,
9177 selctg: Select3F64,
9178 n: i32,
9179 a: &mut [f64],
9180 lda: i32,
9181 b: &mut [f64],
9182 ldb: i32,
9183 sdim: &mut i32,
9184 alphar: &mut [f64],
9185 alphai: &mut [f64],
9186 beta: &mut [f64],
9187 vsl: &mut [f64],
9188 ldvsl: i32,
9189 vsr: &mut [f64],
9190 ldvsr: i32,
9191 work: &mut [f64],
9192 lwork: i32,
9193 bwork: &mut [i32],
9194 info: &mut i32,
9195) {
9196 ffi::dgges3_(
9197 &(jobvsl as c_char),
9198 &(jobvsr as c_char),
9199 &(sort as c_char),
9200 transmute(selctg),
9201 &n,
9202 a.as_mut_ptr(),
9203 &lda,
9204 b.as_mut_ptr(),
9205 &ldb,
9206 sdim,
9207 alphar.as_mut_ptr(),
9208 alphai.as_mut_ptr(),
9209 beta.as_mut_ptr(),
9210 vsl.as_mut_ptr(),
9211 &ldvsl,
9212 vsr.as_mut_ptr(),
9213 &ldvsr,
9214 work.as_mut_ptr(),
9215 &lwork,
9216 bwork.as_mut_ptr(),
9217 info,
9218 )
9219}
9220
9221#[inline]
9222pub unsafe fn sgges3(
9223 jobvsl: u8,
9224 jobvsr: u8,
9225 sort: u8,
9226 selctg: Select3F32,
9227 n: i32,
9228 a: &mut [f32],
9229 lda: i32,
9230 b: &mut [f32],
9231 ldb: i32,
9232 sdim: &mut i32,
9233 alphar: &mut [f32],
9234 alphai: &mut [f32],
9235 beta: &mut [f32],
9236 vsl: &mut [f32],
9237 ldvsl: i32,
9238 vsr: &mut [f32],
9239 ldvsr: i32,
9240 work: &mut [f32],
9241 lwork: i32,
9242 bwork: &mut [i32],
9243 info: &mut i32,
9244) {
9245 ffi::sgges3_(
9246 &(jobvsl as c_char),
9247 &(jobvsr as c_char),
9248 &(sort as c_char),
9249 transmute(selctg),
9250 &n,
9251 a.as_mut_ptr(),
9252 &lda,
9253 b.as_mut_ptr(),
9254 &ldb,
9255 sdim,
9256 alphar.as_mut_ptr(),
9257 alphai.as_mut_ptr(),
9258 beta.as_mut_ptr(),
9259 vsl.as_mut_ptr(),
9260 &ldvsl,
9261 vsr.as_mut_ptr(),
9262 &ldvsr,
9263 work.as_mut_ptr(),
9264 &lwork,
9265 bwork.as_mut_ptr(),
9266 info,
9267 )
9268}
9269
9270#[inline]
9271pub unsafe fn zgges3(
9272 jobvsl: u8,
9273 jobvsr: u8,
9274 sort: u8,
9275 selctg: Select2C64,
9276 n: i32,
9277 a: &mut [c64],
9278 lda: i32,
9279 b: &mut [c64],
9280 ldb: i32,
9281 sdim: &mut i32,
9282 alpha: &mut [c64],
9283 beta: &mut [c64],
9284 vsl: &mut [c64],
9285 ldvsl: i32,
9286 vsr: &mut [c64],
9287 ldvsr: i32,
9288 work: &mut [c64],
9289 lwork: i32,
9290 rwork: &mut [f64],
9291 bwork: &mut [i32],
9292 info: &mut i32,
9293) {
9294 ffi::zgges3_(
9295 &(jobvsl as c_char),
9296 &(jobvsr as c_char),
9297 &(sort as c_char),
9298 transmute(selctg),
9299 &n,
9300 a.as_mut_ptr() as *mut _,
9301 &lda,
9302 b.as_mut_ptr() as *mut _,
9303 &ldb,
9304 sdim,
9305 alpha.as_mut_ptr() as *mut _,
9306 beta.as_mut_ptr() as *mut _,
9307 vsl.as_mut_ptr() as *mut _,
9308 &ldvsl,
9309 vsr.as_mut_ptr() as *mut _,
9310 &ldvsr,
9311 work.as_mut_ptr() as *mut _,
9312 &lwork,
9313 rwork.as_mut_ptr(),
9314 bwork.as_mut_ptr(),
9315 info,
9316 )
9317}
9318
9319#[inline]
9320pub unsafe fn cggesx(
9321 jobvsl: u8,
9322 jobvsr: u8,
9323 sort: u8,
9324 selctg: Select2C32,
9325 sense: u8,
9326 n: i32,
9327 a: &mut [c32],
9328 lda: i32,
9329 b: &mut [c32],
9330 ldb: i32,
9331 sdim: &mut i32,
9332 alpha: &mut [c32],
9333 beta: &mut [c32],
9334 vsl: &mut [c32],
9335 ldvsl: i32,
9336 vsr: &mut [c32],
9337 ldvsr: i32,
9338 rconde: &mut [f32],
9339 rcondv: &mut [f32],
9340 work: &mut [c32],
9341 lwork: i32,
9342 rwork: &mut [f32],
9343 iwork: &mut [i32],
9344 liwork: i32,
9345 bwork: &mut [i32],
9346 info: &mut i32,
9347) {
9348 ffi::cggesx_(
9349 &(jobvsl as c_char),
9350 &(jobvsr as c_char),
9351 &(sort as c_char),
9352 transmute(selctg),
9353 &(sense as c_char),
9354 &n,
9355 a.as_mut_ptr() as *mut _,
9356 &lda,
9357 b.as_mut_ptr() as *mut _,
9358 &ldb,
9359 sdim,
9360 alpha.as_mut_ptr() as *mut _,
9361 beta.as_mut_ptr() as *mut _,
9362 vsl.as_mut_ptr() as *mut _,
9363 &ldvsl,
9364 vsr.as_mut_ptr() as *mut _,
9365 &ldvsr,
9366 rconde.as_mut_ptr(),
9367 rcondv.as_mut_ptr(),
9368 work.as_mut_ptr() as *mut _,
9369 &lwork,
9370 rwork.as_mut_ptr(),
9371 iwork.as_mut_ptr(),
9372 &liwork,
9373 bwork.as_mut_ptr(),
9374 info,
9375 )
9376}
9377
9378#[inline]
9379pub unsafe fn dggesx(
9380 jobvsl: u8,
9381 jobvsr: u8,
9382 sort: u8,
9383 selctg: Select3F64,
9384 sense: u8,
9385 n: i32,
9386 a: &mut [f64],
9387 lda: i32,
9388 b: &mut [f64],
9389 ldb: i32,
9390 sdim: &mut i32,
9391 alphar: &mut [f64],
9392 alphai: &mut [f64],
9393 beta: &mut [f64],
9394 vsl: &mut [f64],
9395 ldvsl: i32,
9396 vsr: &mut [f64],
9397 ldvsr: i32,
9398 rconde: &mut [f64],
9399 rcondv: &mut [f64],
9400 work: &mut [f64],
9401 lwork: i32,
9402 iwork: &mut [i32],
9403 liwork: i32,
9404 bwork: &mut [i32],
9405 info: &mut i32,
9406) {
9407 ffi::dggesx_(
9408 &(jobvsl as c_char),
9409 &(jobvsr as c_char),
9410 &(sort as c_char),
9411 transmute(selctg),
9412 &(sense as c_char),
9413 &n,
9414 a.as_mut_ptr(),
9415 &lda,
9416 b.as_mut_ptr(),
9417 &ldb,
9418 sdim,
9419 alphar.as_mut_ptr(),
9420 alphai.as_mut_ptr(),
9421 beta.as_mut_ptr(),
9422 vsl.as_mut_ptr(),
9423 &ldvsl,
9424 vsr.as_mut_ptr(),
9425 &ldvsr,
9426 rconde.as_mut_ptr(),
9427 rcondv.as_mut_ptr(),
9428 work.as_mut_ptr(),
9429 &lwork,
9430 iwork.as_mut_ptr(),
9431 &liwork,
9432 bwork.as_mut_ptr(),
9433 info,
9434 )
9435}
9436
9437#[inline]
9438pub unsafe fn sggesx(
9439 jobvsl: u8,
9440 jobvsr: u8,
9441 sort: u8,
9442 selctg: Select3F32,
9443 sense: u8,
9444 n: i32,
9445 a: &mut [f32],
9446 lda: i32,
9447 b: &mut [f32],
9448 ldb: i32,
9449 sdim: &mut i32,
9450 alphar: &mut [f32],
9451 alphai: &mut [f32],
9452 beta: &mut [f32],
9453 vsl: &mut [f32],
9454 ldvsl: i32,
9455 vsr: &mut [f32],
9456 ldvsr: i32,
9457 rconde: &mut [f32],
9458 rcondv: &mut [f32],
9459 work: &mut [f32],
9460 lwork: i32,
9461 iwork: &mut [i32],
9462 liwork: i32,
9463 bwork: &mut [i32],
9464 info: &mut i32,
9465) {
9466 ffi::sggesx_(
9467 &(jobvsl as c_char),
9468 &(jobvsr as c_char),
9469 &(sort as c_char),
9470 transmute(selctg),
9471 &(sense as c_char),
9472 &n,
9473 a.as_mut_ptr(),
9474 &lda,
9475 b.as_mut_ptr(),
9476 &ldb,
9477 sdim,
9478 alphar.as_mut_ptr(),
9479 alphai.as_mut_ptr(),
9480 beta.as_mut_ptr(),
9481 vsl.as_mut_ptr(),
9482 &ldvsl,
9483 vsr.as_mut_ptr(),
9484 &ldvsr,
9485 rconde.as_mut_ptr(),
9486 rcondv.as_mut_ptr(),
9487 work.as_mut_ptr(),
9488 &lwork,
9489 iwork.as_mut_ptr(),
9490 &liwork,
9491 bwork.as_mut_ptr(),
9492 info,
9493 )
9494}
9495
9496#[inline]
9497pub unsafe fn zggesx(
9498 jobvsl: u8,
9499 jobvsr: u8,
9500 sort: u8,
9501 selctg: Select2C64,
9502 sense: u8,
9503 n: i32,
9504 a: &mut [c64],
9505 lda: i32,
9506 b: &mut [c64],
9507 ldb: i32,
9508 sdim: &mut i32,
9509 alpha: &mut [c64],
9510 beta: &mut [c64],
9511 vsl: &mut [c64],
9512 ldvsl: i32,
9513 vsr: &mut [c64],
9514 ldvsr: i32,
9515 rconde: &mut [f64],
9516 rcondv: &mut [f64],
9517 work: &mut [c64],
9518 lwork: i32,
9519 rwork: &mut [f64],
9520 iwork: &mut [i32],
9521 liwork: i32,
9522 bwork: &mut [i32],
9523 info: &mut i32,
9524) {
9525 ffi::zggesx_(
9526 &(jobvsl as c_char),
9527 &(jobvsr as c_char),
9528 &(sort as c_char),
9529 transmute(selctg),
9530 &(sense as c_char),
9531 &n,
9532 a.as_mut_ptr() as *mut _,
9533 &lda,
9534 b.as_mut_ptr() as *mut _,
9535 &ldb,
9536 sdim,
9537 alpha.as_mut_ptr() as *mut _,
9538 beta.as_mut_ptr() as *mut _,
9539 vsl.as_mut_ptr() as *mut _,
9540 &ldvsl,
9541 vsr.as_mut_ptr() as *mut _,
9542 &ldvsr,
9543 rconde.as_mut_ptr(),
9544 rcondv.as_mut_ptr(),
9545 work.as_mut_ptr() as *mut _,
9546 &lwork,
9547 rwork.as_mut_ptr(),
9548 iwork.as_mut_ptr(),
9549 &liwork,
9550 bwork.as_mut_ptr(),
9551 info,
9552 )
9553}
9554
9555#[inline]
9556pub unsafe fn cggev(
9557 jobvl: u8,
9558 jobvr: u8,
9559 n: i32,
9560 a: &mut [c32],
9561 lda: i32,
9562 b: &mut [c32],
9563 ldb: i32,
9564 alpha: &mut [c32],
9565 beta: &mut [c32],
9566 vl: &mut [c32],
9567 ldvl: i32,
9568 vr: &mut [c32],
9569 ldvr: i32,
9570 work: &mut [c32],
9571 lwork: i32,
9572 rwork: &mut [f32],
9573 info: &mut i32,
9574) {
9575 ffi::cggev_(
9576 &(jobvl as c_char),
9577 &(jobvr as c_char),
9578 &n,
9579 a.as_mut_ptr() as *mut _,
9580 &lda,
9581 b.as_mut_ptr() as *mut _,
9582 &ldb,
9583 alpha.as_mut_ptr() as *mut _,
9584 beta.as_mut_ptr() as *mut _,
9585 vl.as_mut_ptr() as *mut _,
9586 &ldvl,
9587 vr.as_mut_ptr() as *mut _,
9588 &ldvr,
9589 work.as_mut_ptr() as *mut _,
9590 &lwork,
9591 rwork.as_mut_ptr(),
9592 info,
9593 )
9594}
9595
9596#[inline]
9597pub unsafe fn dggev(
9598 jobvl: u8,
9599 jobvr: u8,
9600 n: i32,
9601 a: &mut [f64],
9602 lda: i32,
9603 b: &mut [f64],
9604 ldb: i32,
9605 alphar: &mut [f64],
9606 alphai: &mut [f64],
9607 beta: &mut [f64],
9608 vl: &mut [f64],
9609 ldvl: i32,
9610 vr: &mut [f64],
9611 ldvr: i32,
9612 work: &mut [f64],
9613 lwork: i32,
9614 info: &mut i32,
9615) {
9616 ffi::dggev_(
9617 &(jobvl as c_char),
9618 &(jobvr as c_char),
9619 &n,
9620 a.as_mut_ptr(),
9621 &lda,
9622 b.as_mut_ptr(),
9623 &ldb,
9624 alphar.as_mut_ptr(),
9625 alphai.as_mut_ptr(),
9626 beta.as_mut_ptr(),
9627 vl.as_mut_ptr(),
9628 &ldvl,
9629 vr.as_mut_ptr(),
9630 &ldvr,
9631 work.as_mut_ptr(),
9632 &lwork,
9633 info,
9634 )
9635}
9636
9637#[inline]
9638pub unsafe fn sggev(
9639 jobvl: u8,
9640 jobvr: u8,
9641 n: i32,
9642 a: &mut [f32],
9643 lda: i32,
9644 b: &mut [f32],
9645 ldb: i32,
9646 alphar: &mut [f32],
9647 alphai: &mut [f32],
9648 beta: &mut [f32],
9649 vl: &mut [f32],
9650 ldvl: i32,
9651 vr: &mut [f32],
9652 ldvr: i32,
9653 work: &mut [f32],
9654 lwork: i32,
9655 info: &mut i32,
9656) {
9657 ffi::sggev_(
9658 &(jobvl as c_char),
9659 &(jobvr as c_char),
9660 &n,
9661 a.as_mut_ptr(),
9662 &lda,
9663 b.as_mut_ptr(),
9664 &ldb,
9665 alphar.as_mut_ptr(),
9666 alphai.as_mut_ptr(),
9667 beta.as_mut_ptr(),
9668 vl.as_mut_ptr(),
9669 &ldvl,
9670 vr.as_mut_ptr(),
9671 &ldvr,
9672 work.as_mut_ptr(),
9673 &lwork,
9674 info,
9675 )
9676}
9677
9678#[inline]
9679pub unsafe fn zggev(
9680 jobvl: u8,
9681 jobvr: u8,
9682 n: i32,
9683 a: &mut [c64],
9684 lda: i32,
9685 b: &mut [c64],
9686 ldb: i32,
9687 alpha: &mut [c64],
9688 beta: &mut [c64],
9689 vl: &mut [c64],
9690 ldvl: i32,
9691 vr: &mut [c64],
9692 ldvr: i32,
9693 work: &mut [c64],
9694 lwork: i32,
9695 rwork: &mut [f64],
9696 info: &mut i32,
9697) {
9698 ffi::zggev_(
9699 &(jobvl as c_char),
9700 &(jobvr as c_char),
9701 &n,
9702 a.as_mut_ptr() as *mut _,
9703 &lda,
9704 b.as_mut_ptr() as *mut _,
9705 &ldb,
9706 alpha.as_mut_ptr() as *mut _,
9707 beta.as_mut_ptr() as *mut _,
9708 vl.as_mut_ptr() as *mut _,
9709 &ldvl,
9710 vr.as_mut_ptr() as *mut _,
9711 &ldvr,
9712 work.as_mut_ptr() as *mut _,
9713 &lwork,
9714 rwork.as_mut_ptr(),
9715 info,
9716 )
9717}
9718
9719#[inline]
9720pub unsafe fn cggev3(
9721 jobvl: u8,
9722 jobvr: u8,
9723 n: i32,
9724 a: &mut [c32],
9725 lda: i32,
9726 b: &mut [c32],
9727 ldb: i32,
9728 alpha: &mut [c32],
9729 beta: &mut [c32],
9730 vl: &mut [c32],
9731 ldvl: i32,
9732 vr: &mut [c32],
9733 ldvr: i32,
9734 work: &mut [c32],
9735 lwork: i32,
9736 rwork: &mut [f32],
9737 info: &mut i32,
9738) {
9739 ffi::cggev3_(
9740 &(jobvl as c_char),
9741 &(jobvr as c_char),
9742 &n,
9743 a.as_mut_ptr() as *mut _,
9744 &lda,
9745 b.as_mut_ptr() as *mut _,
9746 &ldb,
9747 alpha.as_mut_ptr() as *mut _,
9748 beta.as_mut_ptr() as *mut _,
9749 vl.as_mut_ptr() as *mut _,
9750 &ldvl,
9751 vr.as_mut_ptr() as *mut _,
9752 &ldvr,
9753 work.as_mut_ptr() as *mut _,
9754 &lwork,
9755 rwork.as_mut_ptr(),
9756 info,
9757 )
9758}
9759
9760#[inline]
9761pub unsafe fn dggev3(
9762 jobvl: u8,
9763 jobvr: u8,
9764 n: i32,
9765 a: &mut [f64],
9766 lda: i32,
9767 b: &mut [f64],
9768 ldb: i32,
9769 alphar: &mut [f64],
9770 alphai: &mut [f64],
9771 beta: &mut [f64],
9772 vl: &mut [f64],
9773 ldvl: i32,
9774 vr: &mut [f64],
9775 ldvr: i32,
9776 work: &mut [f64],
9777 lwork: i32,
9778 info: &mut i32,
9779) {
9780 ffi::dggev3_(
9781 &(jobvl as c_char),
9782 &(jobvr as c_char),
9783 &n,
9784 a.as_mut_ptr(),
9785 &lda,
9786 b.as_mut_ptr(),
9787 &ldb,
9788 alphar.as_mut_ptr(),
9789 alphai.as_mut_ptr(),
9790 beta.as_mut_ptr(),
9791 vl.as_mut_ptr(),
9792 &ldvl,
9793 vr.as_mut_ptr(),
9794 &ldvr,
9795 work.as_mut_ptr(),
9796 &lwork,
9797 info,
9798 )
9799}
9800
9801#[inline]
9802pub unsafe fn sggev3(
9803 jobvl: u8,
9804 jobvr: u8,
9805 n: i32,
9806 a: &mut [f32],
9807 lda: i32,
9808 b: &mut [f32],
9809 ldb: i32,
9810 alphar: &mut [f32],
9811 alphai: &mut [f32],
9812 beta: &mut [f32],
9813 vl: &mut [f32],
9814 ldvl: i32,
9815 vr: &mut [f32],
9816 ldvr: i32,
9817 work: &mut [f32],
9818 lwork: i32,
9819 info: &mut i32,
9820) {
9821 ffi::sggev3_(
9822 &(jobvl as c_char),
9823 &(jobvr as c_char),
9824 &n,
9825 a.as_mut_ptr(),
9826 &lda,
9827 b.as_mut_ptr(),
9828 &ldb,
9829 alphar.as_mut_ptr(),
9830 alphai.as_mut_ptr(),
9831 beta.as_mut_ptr(),
9832 vl.as_mut_ptr(),
9833 &ldvl,
9834 vr.as_mut_ptr(),
9835 &ldvr,
9836 work.as_mut_ptr(),
9837 &lwork,
9838 info,
9839 )
9840}
9841
9842#[inline]
9843pub unsafe fn zggev3(
9844 jobvl: u8,
9845 jobvr: u8,
9846 n: i32,
9847 a: &mut [c64],
9848 lda: i32,
9849 b: &mut [c64],
9850 ldb: i32,
9851 alpha: &mut [c64],
9852 beta: &mut [c64],
9853 vl: &mut [c64],
9854 ldvl: i32,
9855 vr: &mut [c64],
9856 ldvr: i32,
9857 work: &mut [c64],
9858 lwork: i32,
9859 rwork: &mut [f64],
9860 info: &mut i32,
9861) {
9862 ffi::zggev3_(
9863 &(jobvl as c_char),
9864 &(jobvr as c_char),
9865 &n,
9866 a.as_mut_ptr() as *mut _,
9867 &lda,
9868 b.as_mut_ptr() as *mut _,
9869 &ldb,
9870 alpha.as_mut_ptr() as *mut _,
9871 beta.as_mut_ptr() as *mut _,
9872 vl.as_mut_ptr() as *mut _,
9873 &ldvl,
9874 vr.as_mut_ptr() as *mut _,
9875 &ldvr,
9876 work.as_mut_ptr() as *mut _,
9877 &lwork,
9878 rwork.as_mut_ptr(),
9879 info,
9880 )
9881}
9882
9883#[inline]
9884pub unsafe fn cggevx(
9885 balanc: u8,
9886 jobvl: u8,
9887 jobvr: u8,
9888 sense: u8,
9889 n: i32,
9890 a: &mut [c32],
9891 lda: i32,
9892 b: &mut [c32],
9893 ldb: i32,
9894 alpha: &mut [c32],
9895 beta: &mut [c32],
9896 vl: &mut [c32],
9897 ldvl: i32,
9898 vr: &mut [c32],
9899 ldvr: i32,
9900 ilo: &mut i32,
9901 ihi: &mut i32,
9902 lscale: &mut [f32],
9903 rscale: &mut [f32],
9904 abnrm: &mut f32,
9905 bbnrm: &mut f32,
9906 rconde: &mut [f32],
9907 rcondv: &mut [f32],
9908 work: &mut [c32],
9909 lwork: i32,
9910 rwork: &mut [f32],
9911 iwork: &mut [i32],
9912 bwork: &mut [i32],
9913 info: &mut i32,
9914) {
9915 ffi::cggevx_(
9916 &(balanc as c_char),
9917 &(jobvl as c_char),
9918 &(jobvr as c_char),
9919 &(sense as c_char),
9920 &n,
9921 a.as_mut_ptr() as *mut _,
9922 &lda,
9923 b.as_mut_ptr() as *mut _,
9924 &ldb,
9925 alpha.as_mut_ptr() as *mut _,
9926 beta.as_mut_ptr() as *mut _,
9927 vl.as_mut_ptr() as *mut _,
9928 &ldvl,
9929 vr.as_mut_ptr() as *mut _,
9930 &ldvr,
9931 ilo,
9932 ihi,
9933 lscale.as_mut_ptr(),
9934 rscale.as_mut_ptr(),
9935 abnrm,
9936 bbnrm,
9937 rconde.as_mut_ptr(),
9938 rcondv.as_mut_ptr(),
9939 work.as_mut_ptr() as *mut _,
9940 &lwork,
9941 rwork.as_mut_ptr(),
9942 iwork.as_mut_ptr(),
9943 bwork.as_mut_ptr(),
9944 info,
9945 )
9946}
9947
9948#[inline]
9949pub unsafe fn dggevx(
9950 balanc: u8,
9951 jobvl: u8,
9952 jobvr: u8,
9953 sense: u8,
9954 n: i32,
9955 a: &mut [f64],
9956 lda: i32,
9957 b: &mut [f64],
9958 ldb: i32,
9959 alphar: &mut [f64],
9960 alphai: &mut [f64],
9961 beta: &mut [f64],
9962 vl: &mut [f64],
9963 ldvl: i32,
9964 vr: &mut [f64],
9965 ldvr: i32,
9966 ilo: &mut i32,
9967 ihi: &mut i32,
9968 lscale: &mut [f64],
9969 rscale: &mut [f64],
9970 abnrm: &mut f64,
9971 bbnrm: &mut f64,
9972 rconde: &mut [f64],
9973 rcondv: &mut [f64],
9974 work: &mut [f64],
9975 lwork: i32,
9976 iwork: &mut [i32],
9977 bwork: &mut [i32],
9978 info: &mut i32,
9979) {
9980 ffi::dggevx_(
9981 &(balanc as c_char),
9982 &(jobvl as c_char),
9983 &(jobvr as c_char),
9984 &(sense as c_char),
9985 &n,
9986 a.as_mut_ptr(),
9987 &lda,
9988 b.as_mut_ptr(),
9989 &ldb,
9990 alphar.as_mut_ptr(),
9991 alphai.as_mut_ptr(),
9992 beta.as_mut_ptr(),
9993 vl.as_mut_ptr(),
9994 &ldvl,
9995 vr.as_mut_ptr(),
9996 &ldvr,
9997 ilo,
9998 ihi,
9999 lscale.as_mut_ptr(),
10000 rscale.as_mut_ptr(),
10001 abnrm,
10002 bbnrm,
10003 rconde.as_mut_ptr(),
10004 rcondv.as_mut_ptr(),
10005 work.as_mut_ptr(),
10006 &lwork,
10007 iwork.as_mut_ptr(),
10008 bwork.as_mut_ptr(),
10009 info,
10010 )
10011}
10012
10013#[inline]
10014pub unsafe fn sggevx(
10015 balanc: u8,
10016 jobvl: u8,
10017 jobvr: u8,
10018 sense: u8,
10019 n: i32,
10020 a: &mut [f32],
10021 lda: i32,
10022 b: &mut [f32],
10023 ldb: i32,
10024 alphar: &mut [f32],
10025 alphai: &mut [f32],
10026 beta: &mut [f32],
10027 vl: &mut [f32],
10028 ldvl: i32,
10029 vr: &mut [f32],
10030 ldvr: i32,
10031 ilo: &mut i32,
10032 ihi: &mut i32,
10033 lscale: &mut [f32],
10034 rscale: &mut [f32],
10035 abnrm: &mut f32,
10036 bbnrm: &mut f32,
10037 rconde: &mut [f32],
10038 rcondv: &mut [f32],
10039 work: &mut [f32],
10040 lwork: i32,
10041 iwork: &mut [i32],
10042 bwork: &mut [i32],
10043 info: &mut i32,
10044) {
10045 ffi::sggevx_(
10046 &(balanc as c_char),
10047 &(jobvl as c_char),
10048 &(jobvr as c_char),
10049 &(sense as c_char),
10050 &n,
10051 a.as_mut_ptr(),
10052 &lda,
10053 b.as_mut_ptr(),
10054 &ldb,
10055 alphar.as_mut_ptr(),
10056 alphai.as_mut_ptr(),
10057 beta.as_mut_ptr(),
10058 vl.as_mut_ptr(),
10059 &ldvl,
10060 vr.as_mut_ptr(),
10061 &ldvr,
10062 ilo,
10063 ihi,
10064 lscale.as_mut_ptr(),
10065 rscale.as_mut_ptr(),
10066 abnrm,
10067 bbnrm,
10068 rconde.as_mut_ptr(),
10069 rcondv.as_mut_ptr(),
10070 work.as_mut_ptr(),
10071 &lwork,
10072 iwork.as_mut_ptr(),
10073 bwork.as_mut_ptr(),
10074 info,
10075 )
10076}
10077
10078#[inline]
10079pub unsafe fn zggevx(
10080 balanc: u8,
10081 jobvl: u8,
10082 jobvr: u8,
10083 sense: u8,
10084 n: i32,
10085 a: &mut [c64],
10086 lda: i32,
10087 b: &mut [c64],
10088 ldb: i32,
10089 alpha: &mut [c64],
10090 beta: &mut [c64],
10091 vl: &mut [c64],
10092 ldvl: i32,
10093 vr: &mut [c64],
10094 ldvr: i32,
10095 ilo: &mut i32,
10096 ihi: &mut i32,
10097 lscale: &mut [f64],
10098 rscale: &mut [f64],
10099 abnrm: &mut f64,
10100 bbnrm: &mut f64,
10101 rconde: &mut [f64],
10102 rcondv: &mut [f64],
10103 work: &mut [c64],
10104 lwork: i32,
10105 rwork: &mut [f64],
10106 iwork: &mut [i32],
10107 bwork: &mut [i32],
10108 info: &mut i32,
10109) {
10110 ffi::zggevx_(
10111 &(balanc as c_char),
10112 &(jobvl as c_char),
10113 &(jobvr as c_char),
10114 &(sense as c_char),
10115 &n,
10116 a.as_mut_ptr() as *mut _,
10117 &lda,
10118 b.as_mut_ptr() as *mut _,
10119 &ldb,
10120 alpha.as_mut_ptr() as *mut _,
10121 beta.as_mut_ptr() as *mut _,
10122 vl.as_mut_ptr() as *mut _,
10123 &ldvl,
10124 vr.as_mut_ptr() as *mut _,
10125 &ldvr,
10126 ilo,
10127 ihi,
10128 lscale.as_mut_ptr(),
10129 rscale.as_mut_ptr(),
10130 abnrm,
10131 bbnrm,
10132 rconde.as_mut_ptr(),
10133 rcondv.as_mut_ptr(),
10134 work.as_mut_ptr() as *mut _,
10135 &lwork,
10136 rwork.as_mut_ptr(),
10137 iwork.as_mut_ptr(),
10138 bwork.as_mut_ptr(),
10139 info,
10140 )
10141}
10142
10143#[inline]
10144pub unsafe fn cggglm(
10145 n: i32,
10146 m: i32,
10147 p: i32,
10148 a: &mut [c32],
10149 lda: i32,
10150 b: &mut [c32],
10151 ldb: i32,
10152 d: &mut [c32],
10153 x: &mut [c32],
10154 y: &mut [c32],
10155 work: &mut [c32],
10156 lwork: i32,
10157 info: &mut i32,
10158) {
10159 ffi::cggglm_(
10160 &n,
10161 &m,
10162 &p,
10163 a.as_mut_ptr() as *mut _,
10164 &lda,
10165 b.as_mut_ptr() as *mut _,
10166 &ldb,
10167 d.as_mut_ptr() as *mut _,
10168 x.as_mut_ptr() as *mut _,
10169 y.as_mut_ptr() as *mut _,
10170 work.as_mut_ptr() as *mut _,
10171 &lwork,
10172 info,
10173 )
10174}
10175
10176#[inline]
10177pub unsafe fn dggglm(
10178 n: i32,
10179 m: i32,
10180 p: i32,
10181 a: &mut [f64],
10182 lda: i32,
10183 b: &mut [f64],
10184 ldb: i32,
10185 d: &mut [f64],
10186 x: &mut [f64],
10187 y: &mut [f64],
10188 work: &mut [f64],
10189 lwork: i32,
10190 info: &mut i32,
10191) {
10192 ffi::dggglm_(
10193 &n,
10194 &m,
10195 &p,
10196 a.as_mut_ptr(),
10197 &lda,
10198 b.as_mut_ptr(),
10199 &ldb,
10200 d.as_mut_ptr(),
10201 x.as_mut_ptr(),
10202 y.as_mut_ptr(),
10203 work.as_mut_ptr(),
10204 &lwork,
10205 info,
10206 )
10207}
10208
10209#[inline]
10210pub unsafe fn sggglm(
10211 n: i32,
10212 m: i32,
10213 p: i32,
10214 a: &mut [f32],
10215 lda: i32,
10216 b: &mut [f32],
10217 ldb: i32,
10218 d: &mut [f32],
10219 x: &mut [f32],
10220 y: &mut [f32],
10221 work: &mut [f32],
10222 lwork: i32,
10223 info: &mut i32,
10224) {
10225 ffi::sggglm_(
10226 &n,
10227 &m,
10228 &p,
10229 a.as_mut_ptr(),
10230 &lda,
10231 b.as_mut_ptr(),
10232 &ldb,
10233 d.as_mut_ptr(),
10234 x.as_mut_ptr(),
10235 y.as_mut_ptr(),
10236 work.as_mut_ptr(),
10237 &lwork,
10238 info,
10239 )
10240}
10241
10242#[inline]
10243pub unsafe fn zggglm(
10244 n: i32,
10245 m: i32,
10246 p: i32,
10247 a: &mut [c64],
10248 lda: i32,
10249 b: &mut [c64],
10250 ldb: i32,
10251 d: &mut [c64],
10252 x: &mut [c64],
10253 y: &mut [c64],
10254 work: &mut [c64],
10255 lwork: i32,
10256 info: &mut i32,
10257) {
10258 ffi::zggglm_(
10259 &n,
10260 &m,
10261 &p,
10262 a.as_mut_ptr() as *mut _,
10263 &lda,
10264 b.as_mut_ptr() as *mut _,
10265 &ldb,
10266 d.as_mut_ptr() as *mut _,
10267 x.as_mut_ptr() as *mut _,
10268 y.as_mut_ptr() as *mut _,
10269 work.as_mut_ptr() as *mut _,
10270 &lwork,
10271 info,
10272 )
10273}
10274
10275#[inline]
10276pub unsafe fn cgghd3(
10277 compq: u8,
10278 compz: u8,
10279 n: i32,
10280 ilo: i32,
10281 ihi: i32,
10282 a: &mut [c32],
10283 lda: i32,
10284 b: &mut [c32],
10285 ldb: i32,
10286 q: &mut [c32],
10287 ldq: i32,
10288 z: &mut [c32],
10289 ldz: i32,
10290 work: &mut [c32],
10291 lwork: i32,
10292 info: &mut i32,
10293) {
10294 ffi::cgghd3_(
10295 &(compq as c_char),
10296 &(compz as c_char),
10297 &n,
10298 &ilo,
10299 &ihi,
10300 a.as_mut_ptr() as *mut _,
10301 &lda,
10302 b.as_mut_ptr() as *mut _,
10303 &ldb,
10304 q.as_mut_ptr() as *mut _,
10305 &ldq,
10306 z.as_mut_ptr() as *mut _,
10307 &ldz,
10308 work.as_mut_ptr() as *mut _,
10309 &lwork,
10310 info,
10311 )
10312}
10313
10314#[inline]
10315pub unsafe fn dgghd3(
10316 compq: u8,
10317 compz: u8,
10318 n: i32,
10319 ilo: i32,
10320 ihi: i32,
10321 a: &mut [f64],
10322 lda: i32,
10323 b: &mut [f64],
10324 ldb: i32,
10325 q: &mut [f64],
10326 ldq: i32,
10327 z: &mut [f64],
10328 ldz: i32,
10329 work: &mut [f64],
10330 lwork: i32,
10331 info: &mut i32,
10332) {
10333 ffi::dgghd3_(
10334 &(compq as c_char),
10335 &(compz as c_char),
10336 &n,
10337 &ilo,
10338 &ihi,
10339 a.as_mut_ptr(),
10340 &lda,
10341 b.as_mut_ptr(),
10342 &ldb,
10343 q.as_mut_ptr(),
10344 &ldq,
10345 z.as_mut_ptr(),
10346 &ldz,
10347 work.as_mut_ptr(),
10348 &lwork,
10349 info,
10350 )
10351}
10352
10353#[inline]
10354pub unsafe fn sgghd3(
10355 compq: u8,
10356 compz: u8,
10357 n: i32,
10358 ilo: i32,
10359 ihi: i32,
10360 a: &mut [f32],
10361 lda: i32,
10362 b: &mut [f32],
10363 ldb: i32,
10364 q: &mut [f32],
10365 ldq: i32,
10366 z: &mut [f32],
10367 ldz: i32,
10368 work: &mut [f32],
10369 lwork: i32,
10370 info: &mut i32,
10371) {
10372 ffi::sgghd3_(
10373 &(compq as c_char),
10374 &(compz as c_char),
10375 &n,
10376 &ilo,
10377 &ihi,
10378 a.as_mut_ptr(),
10379 &lda,
10380 b.as_mut_ptr(),
10381 &ldb,
10382 q.as_mut_ptr(),
10383 &ldq,
10384 z.as_mut_ptr(),
10385 &ldz,
10386 work.as_mut_ptr(),
10387 &lwork,
10388 info,
10389 )
10390}
10391
10392#[inline]
10393pub unsafe fn zgghd3(
10394 compq: u8,
10395 compz: u8,
10396 n: i32,
10397 ilo: i32,
10398 ihi: i32,
10399 a: &mut [c64],
10400 lda: i32,
10401 b: &mut [c64],
10402 ldb: i32,
10403 q: &mut [c64],
10404 ldq: i32,
10405 z: &mut [c64],
10406 ldz: i32,
10407 work: &mut [c64],
10408 lwork: i32,
10409 info: &mut i32,
10410) {
10411 ffi::zgghd3_(
10412 &(compq as c_char),
10413 &(compz as c_char),
10414 &n,
10415 &ilo,
10416 &ihi,
10417 a.as_mut_ptr() as *mut _,
10418 &lda,
10419 b.as_mut_ptr() as *mut _,
10420 &ldb,
10421 q.as_mut_ptr() as *mut _,
10422 &ldq,
10423 z.as_mut_ptr() as *mut _,
10424 &ldz,
10425 work.as_mut_ptr() as *mut _,
10426 &lwork,
10427 info,
10428 )
10429}
10430
10431#[inline]
10432pub unsafe fn cgghrd(
10433 compq: u8,
10434 compz: u8,
10435 n: i32,
10436 ilo: i32,
10437 ihi: i32,
10438 a: &mut [c32],
10439 lda: i32,
10440 b: &mut [c32],
10441 ldb: i32,
10442 q: &mut [c32],
10443 ldq: i32,
10444 z: &mut [c32],
10445 ldz: i32,
10446 info: &mut i32,
10447) {
10448 ffi::cgghrd_(
10449 &(compq as c_char),
10450 &(compz as c_char),
10451 &n,
10452 &ilo,
10453 &ihi,
10454 a.as_mut_ptr() as *mut _,
10455 &lda,
10456 b.as_mut_ptr() as *mut _,
10457 &ldb,
10458 q.as_mut_ptr() as *mut _,
10459 &ldq,
10460 z.as_mut_ptr() as *mut _,
10461 &ldz,
10462 info,
10463 )
10464}
10465
10466#[inline]
10467pub unsafe fn dgghrd(
10468 compq: u8,
10469 compz: u8,
10470 n: i32,
10471 ilo: i32,
10472 ihi: i32,
10473 a: &mut [f64],
10474 lda: i32,
10475 b: &mut [f64],
10476 ldb: i32,
10477 q: &mut [f64],
10478 ldq: i32,
10479 z: &mut [f64],
10480 ldz: i32,
10481 info: &mut i32,
10482) {
10483 ffi::dgghrd_(
10484 &(compq as c_char),
10485 &(compz as c_char),
10486 &n,
10487 &ilo,
10488 &ihi,
10489 a.as_mut_ptr(),
10490 &lda,
10491 b.as_mut_ptr(),
10492 &ldb,
10493 q.as_mut_ptr(),
10494 &ldq,
10495 z.as_mut_ptr(),
10496 &ldz,
10497 info,
10498 )
10499}
10500
10501#[inline]
10502pub unsafe fn sgghrd(
10503 compq: u8,
10504 compz: u8,
10505 n: i32,
10506 ilo: i32,
10507 ihi: i32,
10508 a: &mut [f32],
10509 lda: i32,
10510 b: &mut [f32],
10511 ldb: i32,
10512 q: &mut [f32],
10513 ldq: i32,
10514 z: &mut [f32],
10515 ldz: i32,
10516 info: &mut i32,
10517) {
10518 ffi::sgghrd_(
10519 &(compq as c_char),
10520 &(compz as c_char),
10521 &n,
10522 &ilo,
10523 &ihi,
10524 a.as_mut_ptr(),
10525 &lda,
10526 b.as_mut_ptr(),
10527 &ldb,
10528 q.as_mut_ptr(),
10529 &ldq,
10530 z.as_mut_ptr(),
10531 &ldz,
10532 info,
10533 )
10534}
10535
10536#[inline]
10537pub unsafe fn zgghrd(
10538 compq: u8,
10539 compz: u8,
10540 n: i32,
10541 ilo: i32,
10542 ihi: i32,
10543 a: &mut [c64],
10544 lda: i32,
10545 b: &mut [c64],
10546 ldb: i32,
10547 q: &mut [c64],
10548 ldq: i32,
10549 z: &mut [c64],
10550 ldz: i32,
10551 info: &mut i32,
10552) {
10553 ffi::zgghrd_(
10554 &(compq as c_char),
10555 &(compz as c_char),
10556 &n,
10557 &ilo,
10558 &ihi,
10559 a.as_mut_ptr() as *mut _,
10560 &lda,
10561 b.as_mut_ptr() as *mut _,
10562 &ldb,
10563 q.as_mut_ptr() as *mut _,
10564 &ldq,
10565 z.as_mut_ptr() as *mut _,
10566 &ldz,
10567 info,
10568 )
10569}
10570
10571#[inline]
10572pub unsafe fn cgglse(
10573 m: i32,
10574 n: i32,
10575 p: i32,
10576 a: &mut [c32],
10577 lda: i32,
10578 b: &mut [c32],
10579 ldb: i32,
10580 c: &mut [c32],
10581 d: &mut [c32],
10582 x: &mut [c32],
10583 work: &mut [c32],
10584 lwork: i32,
10585 info: &mut i32,
10586) {
10587 ffi::cgglse_(
10588 &m,
10589 &n,
10590 &p,
10591 a.as_mut_ptr() as *mut _,
10592 &lda,
10593 b.as_mut_ptr() as *mut _,
10594 &ldb,
10595 c.as_mut_ptr() as *mut _,
10596 d.as_mut_ptr() as *mut _,
10597 x.as_mut_ptr() as *mut _,
10598 work.as_mut_ptr() as *mut _,
10599 &lwork,
10600 info,
10601 )
10602}
10603
10604#[inline]
10605pub unsafe fn dgglse(
10606 m: i32,
10607 n: i32,
10608 p: i32,
10609 a: &mut [f64],
10610 lda: i32,
10611 b: &mut [f64],
10612 ldb: i32,
10613 c: &mut [f64],
10614 d: &mut [f64],
10615 x: &mut [f64],
10616 work: &mut [f64],
10617 lwork: i32,
10618 info: &mut i32,
10619) {
10620 ffi::dgglse_(
10621 &m,
10622 &n,
10623 &p,
10624 a.as_mut_ptr(),
10625 &lda,
10626 b.as_mut_ptr(),
10627 &ldb,
10628 c.as_mut_ptr(),
10629 d.as_mut_ptr(),
10630 x.as_mut_ptr(),
10631 work.as_mut_ptr(),
10632 &lwork,
10633 info,
10634 )
10635}
10636
10637#[inline]
10638pub unsafe fn sgglse(
10639 m: i32,
10640 n: i32,
10641 p: i32,
10642 a: &mut [f32],
10643 lda: i32,
10644 b: &mut [f32],
10645 ldb: i32,
10646 c: &mut [f32],
10647 d: &mut [f32],
10648 x: &mut [f32],
10649 work: &mut [f32],
10650 lwork: i32,
10651 info: &mut i32,
10652) {
10653 ffi::sgglse_(
10654 &m,
10655 &n,
10656 &p,
10657 a.as_mut_ptr(),
10658 &lda,
10659 b.as_mut_ptr(),
10660 &ldb,
10661 c.as_mut_ptr(),
10662 d.as_mut_ptr(),
10663 x.as_mut_ptr(),
10664 work.as_mut_ptr(),
10665 &lwork,
10666 info,
10667 )
10668}
10669
10670#[inline]
10671pub unsafe fn zgglse(
10672 m: i32,
10673 n: i32,
10674 p: i32,
10675 a: &mut [c64],
10676 lda: i32,
10677 b: &mut [c64],
10678 ldb: i32,
10679 c: &mut [c64],
10680 d: &mut [c64],
10681 x: &mut [c64],
10682 work: &mut [c64],
10683 lwork: i32,
10684 info: &mut i32,
10685) {
10686 ffi::zgglse_(
10687 &m,
10688 &n,
10689 &p,
10690 a.as_mut_ptr() as *mut _,
10691 &lda,
10692 b.as_mut_ptr() as *mut _,
10693 &ldb,
10694 c.as_mut_ptr() as *mut _,
10695 d.as_mut_ptr() as *mut _,
10696 x.as_mut_ptr() as *mut _,
10697 work.as_mut_ptr() as *mut _,
10698 &lwork,
10699 info,
10700 )
10701}
10702
10703#[inline]
10704pub unsafe fn cggqrf(
10705 n: i32,
10706 m: i32,
10707 p: i32,
10708 a: &mut [c32],
10709 lda: i32,
10710 taua: &mut [c32],
10711 b: &mut [c32],
10712 ldb: i32,
10713 taub: &mut [c32],
10714 work: &mut [c32],
10715 lwork: i32,
10716 info: &mut i32,
10717) {
10718 ffi::cggqrf_(
10719 &n,
10720 &m,
10721 &p,
10722 a.as_mut_ptr() as *mut _,
10723 &lda,
10724 taua.as_mut_ptr() as *mut _,
10725 b.as_mut_ptr() as *mut _,
10726 &ldb,
10727 taub.as_mut_ptr() as *mut _,
10728 work.as_mut_ptr() as *mut _,
10729 &lwork,
10730 info,
10731 )
10732}
10733
10734#[inline]
10735pub unsafe fn dggqrf(
10736 n: i32,
10737 m: i32,
10738 p: i32,
10739 a: &mut [f64],
10740 lda: i32,
10741 taua: &mut [f64],
10742 b: &mut [f64],
10743 ldb: i32,
10744 taub: &mut [f64],
10745 work: &mut [f64],
10746 lwork: i32,
10747 info: &mut i32,
10748) {
10749 ffi::dggqrf_(
10750 &n,
10751 &m,
10752 &p,
10753 a.as_mut_ptr(),
10754 &lda,
10755 taua.as_mut_ptr(),
10756 b.as_mut_ptr(),
10757 &ldb,
10758 taub.as_mut_ptr(),
10759 work.as_mut_ptr(),
10760 &lwork,
10761 info,
10762 )
10763}
10764
10765#[inline]
10766pub unsafe fn sggqrf(
10767 n: i32,
10768 m: i32,
10769 p: i32,
10770 a: &mut [f32],
10771 lda: i32,
10772 taua: &mut [f32],
10773 b: &mut [f32],
10774 ldb: i32,
10775 taub: &mut [f32],
10776 work: &mut [f32],
10777 lwork: i32,
10778 info: &mut i32,
10779) {
10780 ffi::sggqrf_(
10781 &n,
10782 &m,
10783 &p,
10784 a.as_mut_ptr(),
10785 &lda,
10786 taua.as_mut_ptr(),
10787 b.as_mut_ptr(),
10788 &ldb,
10789 taub.as_mut_ptr(),
10790 work.as_mut_ptr(),
10791 &lwork,
10792 info,
10793 )
10794}
10795
10796#[inline]
10797pub unsafe fn zggqrf(
10798 n: i32,
10799 m: i32,
10800 p: i32,
10801 a: &mut [c64],
10802 lda: i32,
10803 taua: &mut [c64],
10804 b: &mut [c64],
10805 ldb: i32,
10806 taub: &mut [c64],
10807 work: &mut [c64],
10808 lwork: i32,
10809 info: &mut i32,
10810) {
10811 ffi::zggqrf_(
10812 &n,
10813 &m,
10814 &p,
10815 a.as_mut_ptr() as *mut _,
10816 &lda,
10817 taua.as_mut_ptr() as *mut _,
10818 b.as_mut_ptr() as *mut _,
10819 &ldb,
10820 taub.as_mut_ptr() as *mut _,
10821 work.as_mut_ptr() as *mut _,
10822 &lwork,
10823 info,
10824 )
10825}
10826
10827#[inline]
10828pub unsafe fn cggrqf(
10829 m: i32,
10830 p: i32,
10831 n: i32,
10832 a: &mut [c32],
10833 lda: i32,
10834 taua: &mut [c32],
10835 b: &mut [c32],
10836 ldb: i32,
10837 taub: &mut [c32],
10838 work: &mut [c32],
10839 lwork: i32,
10840 info: &mut i32,
10841) {
10842 ffi::cggrqf_(
10843 &m,
10844 &p,
10845 &n,
10846 a.as_mut_ptr() as *mut _,
10847 &lda,
10848 taua.as_mut_ptr() as *mut _,
10849 b.as_mut_ptr() as *mut _,
10850 &ldb,
10851 taub.as_mut_ptr() as *mut _,
10852 work.as_mut_ptr() as *mut _,
10853 &lwork,
10854 info,
10855 )
10856}
10857
10858#[inline]
10859pub unsafe fn dggrqf(
10860 m: i32,
10861 p: i32,
10862 n: i32,
10863 a: &mut [f64],
10864 lda: i32,
10865 taua: &mut [f64],
10866 b: &mut [f64],
10867 ldb: i32,
10868 taub: &mut [f64],
10869 work: &mut [f64],
10870 lwork: i32,
10871 info: &mut i32,
10872) {
10873 ffi::dggrqf_(
10874 &m,
10875 &p,
10876 &n,
10877 a.as_mut_ptr(),
10878 &lda,
10879 taua.as_mut_ptr(),
10880 b.as_mut_ptr(),
10881 &ldb,
10882 taub.as_mut_ptr(),
10883 work.as_mut_ptr(),
10884 &lwork,
10885 info,
10886 )
10887}
10888
10889#[inline]
10890pub unsafe fn sggrqf(
10891 m: i32,
10892 p: i32,
10893 n: i32,
10894 a: &mut [f32],
10895 lda: i32,
10896 taua: &mut [f32],
10897 b: &mut [f32],
10898 ldb: i32,
10899 taub: &mut [f32],
10900 work: &mut [f32],
10901 lwork: i32,
10902 info: &mut i32,
10903) {
10904 ffi::sggrqf_(
10905 &m,
10906 &p,
10907 &n,
10908 a.as_mut_ptr(),
10909 &lda,
10910 taua.as_mut_ptr(),
10911 b.as_mut_ptr(),
10912 &ldb,
10913 taub.as_mut_ptr(),
10914 work.as_mut_ptr(),
10915 &lwork,
10916 info,
10917 )
10918}
10919
10920#[inline]
10921pub unsafe fn zggrqf(
10922 m: i32,
10923 p: i32,
10924 n: i32,
10925 a: &mut [c64],
10926 lda: i32,
10927 taua: &mut [c64],
10928 b: &mut [c64],
10929 ldb: i32,
10930 taub: &mut [c64],
10931 work: &mut [c64],
10932 lwork: i32,
10933 info: &mut i32,
10934) {
10935 ffi::zggrqf_(
10936 &m,
10937 &p,
10938 &n,
10939 a.as_mut_ptr() as *mut _,
10940 &lda,
10941 taua.as_mut_ptr() as *mut _,
10942 b.as_mut_ptr() as *mut _,
10943 &ldb,
10944 taub.as_mut_ptr() as *mut _,
10945 work.as_mut_ptr() as *mut _,
10946 &lwork,
10947 info,
10948 )
10949}
10950
10951#[inline]
10952pub unsafe fn sggsvd(
10953 jobu: u8,
10954 jobv: u8,
10955 jobq: u8,
10956 m: i32,
10957 n: i32,
10958 p: i32,
10959 k: &mut i32,
10960 l: &mut i32,
10961 a: &mut [f32],
10962 lda: i32,
10963 b: &mut [f32],
10964 ldb: i32,
10965 alpha: &mut [f32],
10966 beta: &mut [f32],
10967 u: &mut [f32],
10968 ldu: i32,
10969 v: &mut [f32],
10970 ldv: i32,
10971 q: &mut [f32],
10972 ldq: i32,
10973 work: &mut [f32],
10974 iwork: &mut [i32],
10975 info: &mut i32,
10976) -> i32 {
10977 ffi::sggsvd_(
10978 &(jobu as c_char),
10979 &(jobv as c_char),
10980 &(jobq as c_char),
10981 &m,
10982 &n,
10983 &p,
10984 k,
10985 l,
10986 a.as_mut_ptr(),
10987 &lda,
10988 b.as_mut_ptr(),
10989 &ldb,
10990 alpha.as_mut_ptr(),
10991 beta.as_mut_ptr(),
10992 u.as_mut_ptr(),
10993 &ldu,
10994 v.as_mut_ptr(),
10995 &ldv,
10996 q.as_mut_ptr(),
10997 &ldq,
10998 work.as_mut_ptr(),
10999 iwork.as_mut_ptr(),
11000 info,
11001 )
11002}
11003
11004#[inline]
11005pub unsafe fn dggsvd(
11006 jobu: u8,
11007 jobv: u8,
11008 jobq: u8,
11009 m: i32,
11010 n: i32,
11011 p: i32,
11012 k: &mut i32,
11013 l: &mut i32,
11014 a: &mut [f64],
11015 lda: i32,
11016 b: &mut [f64],
11017 ldb: i32,
11018 alpha: &mut [f64],
11019 beta: &mut [f64],
11020 u: &mut [f64],
11021 ldu: i32,
11022 v: &mut [f64],
11023 ldv: i32,
11024 q: &mut [f64],
11025 ldq: i32,
11026 work: &mut [f64],
11027 iwork: &mut [i32],
11028 info: &mut i32,
11029) -> i32 {
11030 ffi::dggsvd_(
11031 &(jobu as c_char),
11032 &(jobv as c_char),
11033 &(jobq as c_char),
11034 &m,
11035 &n,
11036 &p,
11037 k,
11038 l,
11039 a.as_mut_ptr(),
11040 &lda,
11041 b.as_mut_ptr(),
11042 &ldb,
11043 alpha.as_mut_ptr(),
11044 beta.as_mut_ptr(),
11045 u.as_mut_ptr(),
11046 &ldu,
11047 v.as_mut_ptr(),
11048 &ldv,
11049 q.as_mut_ptr(),
11050 &ldq,
11051 work.as_mut_ptr(),
11052 iwork.as_mut_ptr(),
11053 info,
11054 )
11055}
11056
11057#[inline]
11058pub unsafe fn cggsvd(
11059 jobu: u8,
11060 jobv: u8,
11061 jobq: u8,
11062 m: i32,
11063 n: i32,
11064 p: i32,
11065 k: &mut i32,
11066 l: &mut i32,
11067 a: &mut [c32],
11068 lda: i32,
11069 b: &mut [c32],
11070 ldb: i32,
11071 alpha: &mut [f32],
11072 beta: &mut [f32],
11073 u: &mut [c32],
11074 ldu: i32,
11075 v: &mut [c32],
11076 ldv: i32,
11077 q: &mut [c32],
11078 ldq: i32,
11079 work: &mut [c32],
11080 rwork: &mut [f32],
11081 iwork: &mut [i32],
11082 info: &mut i32,
11083) -> i32 {
11084 ffi::cggsvd_(
11085 &(jobu as c_char),
11086 &(jobv as c_char),
11087 &(jobq as c_char),
11088 &m,
11089 &n,
11090 &p,
11091 k,
11092 l,
11093 a.as_mut_ptr() as *mut _,
11094 &lda,
11095 b.as_mut_ptr() as *mut _,
11096 &ldb,
11097 alpha.as_mut_ptr(),
11098 beta.as_mut_ptr(),
11099 u.as_mut_ptr() as *mut _,
11100 &ldu,
11101 v.as_mut_ptr() as *mut _,
11102 &ldv,
11103 q.as_mut_ptr() as *mut _,
11104 &ldq,
11105 work.as_mut_ptr() as *mut _,
11106 rwork.as_mut_ptr(),
11107 iwork.as_mut_ptr(),
11108 info,
11109 )
11110}
11111
11112#[inline]
11113pub unsafe fn zggsvd(
11114 jobu: u8,
11115 jobv: u8,
11116 jobq: u8,
11117 m: i32,
11118 n: i32,
11119 p: i32,
11120 k: &mut i32,
11121 l: &mut i32,
11122 a: &mut [c64],
11123 lda: i32,
11124 b: &mut [c64],
11125 ldb: i32,
11126 alpha: &mut [f64],
11127 beta: &mut [f64],
11128 u: &mut [c64],
11129 ldu: i32,
11130 v: &mut [c64],
11131 ldv: i32,
11132 q: &mut [c64],
11133 ldq: i32,
11134 work: &mut [c64],
11135 rwork: &mut [f64],
11136 iwork: &mut [i32],
11137 info: &mut i32,
11138) -> i32 {
11139 ffi::zggsvd_(
11140 &(jobu as c_char),
11141 &(jobv as c_char),
11142 &(jobq as c_char),
11143 &m,
11144 &n,
11145 &p,
11146 k,
11147 l,
11148 a.as_mut_ptr() as *mut _,
11149 &lda,
11150 b.as_mut_ptr() as *mut _,
11151 &ldb,
11152 alpha.as_mut_ptr(),
11153 beta.as_mut_ptr(),
11154 u.as_mut_ptr() as *mut _,
11155 &ldu,
11156 v.as_mut_ptr() as *mut _,
11157 &ldv,
11158 q.as_mut_ptr() as *mut _,
11159 &ldq,
11160 work.as_mut_ptr() as *mut _,
11161 rwork.as_mut_ptr(),
11162 iwork.as_mut_ptr(),
11163 info,
11164 )
11165}
11166
11167#[inline]
11168pub unsafe fn cggsvd3(
11169 jobu: u8,
11170 jobv: u8,
11171 jobq: u8,
11172 m: i32,
11173 n: i32,
11174 p: i32,
11175 k: &mut i32,
11176 l: &mut i32,
11177 a: &mut [c32],
11178 lda: i32,
11179 b: &mut [c32],
11180 ldb: i32,
11181 alpha: &mut [f32],
11182 beta: &mut [f32],
11183 u: &mut [c32],
11184 ldu: i32,
11185 v: &mut [c32],
11186 ldv: i32,
11187 q: &mut [c32],
11188 ldq: i32,
11189 work: &mut [c32],
11190 lwork: i32,
11191 rwork: &mut [f32],
11192 iwork: &mut [i32],
11193 info: &mut i32,
11194) {
11195 ffi::cggsvd3_(
11196 &(jobu as c_char),
11197 &(jobv as c_char),
11198 &(jobq as c_char),
11199 &m,
11200 &n,
11201 &p,
11202 k,
11203 l,
11204 a.as_mut_ptr() as *mut _,
11205 &lda,
11206 b.as_mut_ptr() as *mut _,
11207 &ldb,
11208 alpha.as_mut_ptr(),
11209 beta.as_mut_ptr(),
11210 u.as_mut_ptr() as *mut _,
11211 &ldu,
11212 v.as_mut_ptr() as *mut _,
11213 &ldv,
11214 q.as_mut_ptr() as *mut _,
11215 &ldq,
11216 work.as_mut_ptr() as *mut _,
11217 &lwork,
11218 rwork.as_mut_ptr(),
11219 iwork.as_mut_ptr(),
11220 info,
11221 )
11222}
11223
11224#[inline]
11225pub unsafe fn dggsvd3(
11226 jobu: u8,
11227 jobv: u8,
11228 jobq: u8,
11229 m: i32,
11230 n: i32,
11231 p: i32,
11232 k: &mut i32,
11233 l: &mut i32,
11234 a: &mut [f64],
11235 lda: i32,
11236 b: &mut [f64],
11237 ldb: i32,
11238 alpha: &mut [f64],
11239 beta: &mut [f64],
11240 u: &mut [f64],
11241 ldu: i32,
11242 v: &mut [f64],
11243 ldv: i32,
11244 q: &mut [f64],
11245 ldq: i32,
11246 work: &mut [f64],
11247 lwork: i32,
11248 iwork: &mut [i32],
11249 info: &mut i32,
11250) {
11251 ffi::dggsvd3_(
11252 &(jobu as c_char),
11253 &(jobv as c_char),
11254 &(jobq as c_char),
11255 &m,
11256 &n,
11257 &p,
11258 k,
11259 l,
11260 a.as_mut_ptr(),
11261 &lda,
11262 b.as_mut_ptr(),
11263 &ldb,
11264 alpha.as_mut_ptr(),
11265 beta.as_mut_ptr(),
11266 u.as_mut_ptr(),
11267 &ldu,
11268 v.as_mut_ptr(),
11269 &ldv,
11270 q.as_mut_ptr(),
11271 &ldq,
11272 work.as_mut_ptr(),
11273 &lwork,
11274 iwork.as_mut_ptr(),
11275 info,
11276 )
11277}
11278
11279#[inline]
11280pub unsafe fn sggsvd3(
11281 jobu: u8,
11282 jobv: u8,
11283 jobq: u8,
11284 m: i32,
11285 n: i32,
11286 p: i32,
11287 k: &mut i32,
11288 l: &mut i32,
11289 a: &mut [f32],
11290 lda: i32,
11291 b: &mut [f32],
11292 ldb: i32,
11293 alpha: &mut [f32],
11294 beta: &mut [f32],
11295 u: &mut [f32],
11296 ldu: i32,
11297 v: &mut [f32],
11298 ldv: i32,
11299 q: &mut [f32],
11300 ldq: i32,
11301 work: &mut [f32],
11302 lwork: i32,
11303 iwork: &mut [i32],
11304 info: &mut i32,
11305) {
11306 ffi::sggsvd3_(
11307 &(jobu as c_char),
11308 &(jobv as c_char),
11309 &(jobq as c_char),
11310 &m,
11311 &n,
11312 &p,
11313 k,
11314 l,
11315 a.as_mut_ptr(),
11316 &lda,
11317 b.as_mut_ptr(),
11318 &ldb,
11319 alpha.as_mut_ptr(),
11320 beta.as_mut_ptr(),
11321 u.as_mut_ptr(),
11322 &ldu,
11323 v.as_mut_ptr(),
11324 &ldv,
11325 q.as_mut_ptr(),
11326 &ldq,
11327 work.as_mut_ptr(),
11328 &lwork,
11329 iwork.as_mut_ptr(),
11330 info,
11331 )
11332}
11333
11334#[inline]
11335pub unsafe fn zggsvd3(
11336 jobu: u8,
11337 jobv: u8,
11338 jobq: u8,
11339 m: i32,
11340 n: i32,
11341 p: i32,
11342 k: &mut i32,
11343 l: &mut i32,
11344 a: &mut [c64],
11345 lda: i32,
11346 b: &mut [c64],
11347 ldb: i32,
11348 alpha: &mut [f64],
11349 beta: &mut [f64],
11350 u: &mut [c64],
11351 ldu: i32,
11352 v: &mut [c64],
11353 ldv: i32,
11354 q: &mut [c64],
11355 ldq: i32,
11356 work: &mut [c64],
11357 lwork: i32,
11358 rwork: &mut [f64],
11359 iwork: &mut [i32],
11360 info: &mut i32,
11361) {
11362 ffi::zggsvd3_(
11363 &(jobu as c_char),
11364 &(jobv as c_char),
11365 &(jobq as c_char),
11366 &m,
11367 &n,
11368 &p,
11369 k,
11370 l,
11371 a.as_mut_ptr() as *mut _,
11372 &lda,
11373 b.as_mut_ptr() as *mut _,
11374 &ldb,
11375 alpha.as_mut_ptr(),
11376 beta.as_mut_ptr(),
11377 u.as_mut_ptr() as *mut _,
11378 &ldu,
11379 v.as_mut_ptr() as *mut _,
11380 &ldv,
11381 q.as_mut_ptr() as *mut _,
11382 &ldq,
11383 work.as_mut_ptr() as *mut _,
11384 &lwork,
11385 rwork.as_mut_ptr(),
11386 iwork.as_mut_ptr(),
11387 info,
11388 )
11389}
11390
11391#[inline]
11392pub unsafe fn sggsvp(
11393 jobu: u8,
11394 jobv: u8,
11395 jobq: u8,
11396 m: i32,
11397 p: i32,
11398 n: i32,
11399 a: &mut [f32],
11400 lda: i32,
11401 b: &mut [f32],
11402 ldb: i32,
11403 tola: &mut f32,
11404 tolb: &mut f32,
11405 k: &mut i32,
11406 l: &mut i32,
11407 u: &mut [f32],
11408 ldu: i32,
11409 v: &mut [f32],
11410 ldv: i32,
11411 q: &mut [f32],
11412 ldq: i32,
11413 iwork: &mut [i32],
11414 tau: &mut [f32],
11415 work: &mut [f32],
11416 info: &mut i32,
11417) -> i32 {
11418 ffi::sggsvp_(
11419 &(jobu as c_char),
11420 &(jobv as c_char),
11421 &(jobq as c_char),
11422 &m,
11423 &p,
11424 &n,
11425 a.as_mut_ptr(),
11426 &lda,
11427 b.as_mut_ptr(),
11428 &ldb,
11429 tola,
11430 tolb,
11431 k,
11432 l,
11433 u.as_mut_ptr(),
11434 &ldu,
11435 v.as_mut_ptr(),
11436 &ldv,
11437 q.as_mut_ptr(),
11438 &ldq,
11439 iwork.as_mut_ptr(),
11440 tau.as_mut_ptr(),
11441 work.as_mut_ptr(),
11442 info,
11443 )
11444}
11445
11446#[inline]
11447pub unsafe fn dggsvp(
11448 jobu: u8,
11449 jobv: u8,
11450 jobq: u8,
11451 m: i32,
11452 p: i32,
11453 n: i32,
11454 a: &mut [f64],
11455 lda: i32,
11456 b: &mut [f64],
11457 ldb: i32,
11458 tola: &mut f64,
11459 tolb: &mut f64,
11460 k: &mut i32,
11461 l: &mut i32,
11462 u: &mut [f64],
11463 ldu: i32,
11464 v: &mut [f64],
11465 ldv: i32,
11466 q: &mut [f64],
11467 ldq: i32,
11468 iwork: &mut [i32],
11469 tau: &mut [f64],
11470 work: &mut [f64],
11471 info: &mut i32,
11472) -> i32 {
11473 ffi::dggsvp_(
11474 &(jobu as c_char),
11475 &(jobv as c_char),
11476 &(jobq as c_char),
11477 &m,
11478 &p,
11479 &n,
11480 a.as_mut_ptr(),
11481 &lda,
11482 b.as_mut_ptr(),
11483 &ldb,
11484 tola,
11485 tolb,
11486 k,
11487 l,
11488 u.as_mut_ptr(),
11489 &ldu,
11490 v.as_mut_ptr(),
11491 &ldv,
11492 q.as_mut_ptr(),
11493 &ldq,
11494 iwork.as_mut_ptr(),
11495 tau.as_mut_ptr(),
11496 work.as_mut_ptr(),
11497 info,
11498 )
11499}
11500
11501#[inline]
11502pub unsafe fn cggsvp(
11503 jobu: u8,
11504 jobv: u8,
11505 jobq: u8,
11506 m: i32,
11507 p: i32,
11508 n: i32,
11509 a: &mut [c32],
11510 lda: i32,
11511 b: &mut [c32],
11512 ldb: i32,
11513 tola: &mut f32,
11514 tolb: &mut f32,
11515 k: &mut i32,
11516 l: &mut i32,
11517 u: &mut [c32],
11518 ldu: i32,
11519 v: &mut [c32],
11520 ldv: i32,
11521 q: &mut [c32],
11522 ldq: i32,
11523 iwork: &mut [i32],
11524 rwork: &mut [f32],
11525 tau: &mut [c32],
11526 work: &mut [c32],
11527 info: &mut i32,
11528) -> i32 {
11529 ffi::cggsvp_(
11530 &(jobu as c_char),
11531 &(jobv as c_char),
11532 &(jobq as c_char),
11533 &m,
11534 &p,
11535 &n,
11536 a.as_mut_ptr() as *mut _,
11537 &lda,
11538 b.as_mut_ptr() as *mut _,
11539 &ldb,
11540 tola,
11541 tolb,
11542 k,
11543 l,
11544 u.as_mut_ptr() as *mut _,
11545 &ldu,
11546 v.as_mut_ptr() as *mut _,
11547 &ldv,
11548 q.as_mut_ptr() as *mut _,
11549 &ldq,
11550 iwork.as_mut_ptr(),
11551 rwork.as_mut_ptr(),
11552 tau.as_mut_ptr() as *mut _,
11553 work.as_mut_ptr() as *mut _,
11554 info,
11555 )
11556}
11557
11558#[inline]
11559pub unsafe fn zggsvp(
11560 jobu: u8,
11561 jobv: u8,
11562 jobq: u8,
11563 m: i32,
11564 p: i32,
11565 n: i32,
11566 a: &mut [c64],
11567 lda: i32,
11568 b: &mut [c64],
11569 ldb: i32,
11570 tola: &mut f64,
11571 tolb: &mut f64,
11572 k: &mut i32,
11573 l: &mut i32,
11574 u: &mut [c64],
11575 ldu: i32,
11576 v: &mut [c64],
11577 ldv: i32,
11578 q: &mut [c64],
11579 ldq: i32,
11580 iwork: &mut [i32],
11581 rwork: &mut [f64],
11582 tau: &mut [c64],
11583 work: &mut [c64],
11584 info: &mut i32,
11585) -> i32 {
11586 ffi::zggsvp_(
11587 &(jobu as c_char),
11588 &(jobv as c_char),
11589 &(jobq as c_char),
11590 &m,
11591 &p,
11592 &n,
11593 a.as_mut_ptr() as *mut _,
11594 &lda,
11595 b.as_mut_ptr() as *mut _,
11596 &ldb,
11597 tola,
11598 tolb,
11599 k,
11600 l,
11601 u.as_mut_ptr() as *mut _,
11602 &ldu,
11603 v.as_mut_ptr() as *mut _,
11604 &ldv,
11605 q.as_mut_ptr() as *mut _,
11606 &ldq,
11607 iwork.as_mut_ptr(),
11608 rwork.as_mut_ptr(),
11609 tau.as_mut_ptr() as *mut _,
11610 work.as_mut_ptr() as *mut _,
11611 info,
11612 )
11613}
11614
11615#[inline]
11616pub unsafe fn cggsvp3(
11617 jobu: u8,
11618 jobv: u8,
11619 jobq: u8,
11620 m: i32,
11621 p: i32,
11622 n: i32,
11623 a: &mut [c32],
11624 lda: i32,
11625 b: &mut [c32],
11626 ldb: i32,
11627 tola: f32,
11628 tolb: f32,
11629 k: &mut i32,
11630 l: &mut i32,
11631 u: &mut [c32],
11632 ldu: i32,
11633 v: &mut [c32],
11634 ldv: i32,
11635 q: &mut [c32],
11636 ldq: i32,
11637 iwork: &mut [i32],
11638 rwork: &mut [f32],
11639 tau: &mut [c32],
11640 work: &mut [c32],
11641 lwork: i32,
11642 info: &mut i32,
11643) {
11644 ffi::cggsvp3_(
11645 &(jobu as c_char),
11646 &(jobv as c_char),
11647 &(jobq as c_char),
11648 &m,
11649 &p,
11650 &n,
11651 a.as_mut_ptr() as *mut _,
11652 &lda,
11653 b.as_mut_ptr() as *mut _,
11654 &ldb,
11655 &tola,
11656 &tolb,
11657 k,
11658 l,
11659 u.as_mut_ptr() as *mut _,
11660 &ldu,
11661 v.as_mut_ptr() as *mut _,
11662 &ldv,
11663 q.as_mut_ptr() as *mut _,
11664 &ldq,
11665 iwork.as_mut_ptr(),
11666 rwork.as_mut_ptr(),
11667 tau.as_mut_ptr() as *mut _,
11668 work.as_mut_ptr() as *mut _,
11669 &lwork,
11670 info,
11671 )
11672}
11673
11674#[inline]
11675pub unsafe fn dggsvp3(
11676 jobu: u8,
11677 jobv: u8,
11678 jobq: u8,
11679 m: i32,
11680 p: i32,
11681 n: i32,
11682 a: &mut [f64],
11683 lda: i32,
11684 b: &mut [f64],
11685 ldb: i32,
11686 tola: f64,
11687 tolb: f64,
11688 k: &mut i32,
11689 l: &mut i32,
11690 u: &mut [f64],
11691 ldu: i32,
11692 v: &mut [f64],
11693 ldv: i32,
11694 q: &mut [f64],
11695 ldq: i32,
11696 iwork: &mut [i32],
11697 tau: &mut [f64],
11698 work: &mut [f64],
11699 lwork: i32,
11700 info: &mut i32,
11701) {
11702 ffi::dggsvp3_(
11703 &(jobu as c_char),
11704 &(jobv as c_char),
11705 &(jobq as c_char),
11706 &m,
11707 &p,
11708 &n,
11709 a.as_mut_ptr(),
11710 &lda,
11711 b.as_mut_ptr(),
11712 &ldb,
11713 &tola,
11714 &tolb,
11715 k,
11716 l,
11717 u.as_mut_ptr(),
11718 &ldu,
11719 v.as_mut_ptr(),
11720 &ldv,
11721 q.as_mut_ptr(),
11722 &ldq,
11723 iwork.as_mut_ptr(),
11724 tau.as_mut_ptr(),
11725 work.as_mut_ptr(),
11726 &lwork,
11727 info,
11728 )
11729}
11730
11731#[inline]
11732pub unsafe fn sggsvp3(
11733 jobu: u8,
11734 jobv: u8,
11735 jobq: u8,
11736 m: i32,
11737 p: i32,
11738 n: i32,
11739 a: &mut [f32],
11740 lda: i32,
11741 b: &mut [f32],
11742 ldb: i32,
11743 tola: f32,
11744 tolb: f32,
11745 k: &mut i32,
11746 l: &mut i32,
11747 u: &mut [f32],
11748 ldu: i32,
11749 v: &mut [f32],
11750 ldv: i32,
11751 q: &mut [f32],
11752 ldq: i32,
11753 iwork: &mut [i32],
11754 tau: &mut [f32],
11755 work: &mut [f32],
11756 lwork: i32,
11757 info: &mut i32,
11758) {
11759 ffi::sggsvp3_(
11760 &(jobu as c_char),
11761 &(jobv as c_char),
11762 &(jobq as c_char),
11763 &m,
11764 &p,
11765 &n,
11766 a.as_mut_ptr(),
11767 &lda,
11768 b.as_mut_ptr(),
11769 &ldb,
11770 &tola,
11771 &tolb,
11772 k,
11773 l,
11774 u.as_mut_ptr(),
11775 &ldu,
11776 v.as_mut_ptr(),
11777 &ldv,
11778 q.as_mut_ptr(),
11779 &ldq,
11780 iwork.as_mut_ptr(),
11781 tau.as_mut_ptr(),
11782 work.as_mut_ptr(),
11783 &lwork,
11784 info,
11785 )
11786}
11787
11788#[inline]
11789pub unsafe fn zggsvp3(
11790 jobu: u8,
11791 jobv: u8,
11792 jobq: u8,
11793 m: i32,
11794 p: i32,
11795 n: i32,
11796 a: &mut [c64],
11797 lda: i32,
11798 b: &mut [c64],
11799 ldb: i32,
11800 tola: f64,
11801 tolb: f64,
11802 k: &mut i32,
11803 l: &mut i32,
11804 u: &mut [c64],
11805 ldu: i32,
11806 v: &mut [c64],
11807 ldv: i32,
11808 q: &mut [c64],
11809 ldq: i32,
11810 iwork: &mut [i32],
11811 rwork: &mut [f64],
11812 tau: &mut [c64],
11813 work: &mut [c64],
11814 lwork: i32,
11815 info: &mut i32,
11816) {
11817 ffi::zggsvp3_(
11818 &(jobu as c_char),
11819 &(jobv as c_char),
11820 &(jobq as c_char),
11821 &m,
11822 &p,
11823 &n,
11824 a.as_mut_ptr() as *mut _,
11825 &lda,
11826 b.as_mut_ptr() as *mut _,
11827 &ldb,
11828 &tola,
11829 &tolb,
11830 k,
11831 l,
11832 u.as_mut_ptr() as *mut _,
11833 &ldu,
11834 v.as_mut_ptr() as *mut _,
11835 &ldv,
11836 q.as_mut_ptr() as *mut _,
11837 &ldq,
11838 iwork.as_mut_ptr(),
11839 rwork.as_mut_ptr(),
11840 tau.as_mut_ptr() as *mut _,
11841 work.as_mut_ptr() as *mut _,
11842 &lwork,
11843 info,
11844 )
11845}
11846
11847#[inline]
11848pub unsafe fn cgtcon(
11849 norm: u8,
11850 n: i32,
11851 dl: &[c32],
11852 d: &[c32],
11853 du: &[c32],
11854 du2: &[c32],
11855 ipiv: &[i32],
11856 anorm: f32,
11857 rcond: &mut f32,
11858 work: &mut [c32],
11859 info: &mut i32,
11860) {
11861 ffi::cgtcon_(
11862 &(norm as c_char),
11863 &n,
11864 dl.as_ptr() as *const _,
11865 d.as_ptr() as *const _,
11866 du.as_ptr() as *const _,
11867 du2.as_ptr() as *const _,
11868 ipiv.as_ptr(),
11869 &anorm,
11870 rcond,
11871 work.as_mut_ptr() as *mut _,
11872 info,
11873 )
11874}
11875
11876#[inline]
11877pub unsafe fn dgtcon(
11878 norm: u8,
11879 n: i32,
11880 dl: &[f64],
11881 d: &[f64],
11882 du: &[f64],
11883 du2: &[f64],
11884 ipiv: &[i32],
11885 anorm: f64,
11886 rcond: &mut f64,
11887 work: &mut [f64],
11888 iwork: &mut [i32],
11889 info: &mut i32,
11890) {
11891 ffi::dgtcon_(
11892 &(norm as c_char),
11893 &n,
11894 dl.as_ptr(),
11895 d.as_ptr(),
11896 du.as_ptr(),
11897 du2.as_ptr(),
11898 ipiv.as_ptr(),
11899 &anorm,
11900 rcond,
11901 work.as_mut_ptr(),
11902 iwork.as_mut_ptr(),
11903 info,
11904 )
11905}
11906
11907#[inline]
11908pub unsafe fn sgtcon(
11909 norm: u8,
11910 n: i32,
11911 dl: &[f32],
11912 d: &[f32],
11913 du: &[f32],
11914 du2: &[f32],
11915 ipiv: &[i32],
11916 anorm: f32,
11917 rcond: &mut f32,
11918 work: &mut [f32],
11919 iwork: &mut [i32],
11920 info: &mut i32,
11921) {
11922 ffi::sgtcon_(
11923 &(norm as c_char),
11924 &n,
11925 dl.as_ptr(),
11926 d.as_ptr(),
11927 du.as_ptr(),
11928 du2.as_ptr(),
11929 ipiv.as_ptr(),
11930 &anorm,
11931 rcond,
11932 work.as_mut_ptr(),
11933 iwork.as_mut_ptr(),
11934 info,
11935 )
11936}
11937
11938#[inline]
11939pub unsafe fn zgtcon(
11940 norm: u8,
11941 n: i32,
11942 dl: &[c64],
11943 d: &[c64],
11944 du: &[c64],
11945 du2: &[c64],
11946 ipiv: &[i32],
11947 anorm: f64,
11948 rcond: &mut f64,
11949 work: &mut [c64],
11950 info: &mut i32,
11951) {
11952 ffi::zgtcon_(
11953 &(norm as c_char),
11954 &n,
11955 dl.as_ptr() as *const _,
11956 d.as_ptr() as *const _,
11957 du.as_ptr() as *const _,
11958 du2.as_ptr() as *const _,
11959 ipiv.as_ptr(),
11960 &anorm,
11961 rcond,
11962 work.as_mut_ptr() as *mut _,
11963 info,
11964 )
11965}
11966
11967#[inline]
11968pub unsafe fn cgtrfs(
11969 trans: u8,
11970 n: i32,
11971 nrhs: i32,
11972 dl: &[c32],
11973 d: &[c32],
11974 du: &[c32],
11975 dlf: &[c32],
11976 df: &[c32],
11977 duf: &[c32],
11978 du2: &[c32],
11979 ipiv: &[i32],
11980 b: &[c32],
11981 ldb: i32,
11982 x: &mut [c32],
11983 ldx: i32,
11984 ferr: &mut [f32],
11985 berr: &mut [f32],
11986 work: &mut [c32],
11987 rwork: &mut [f32],
11988 info: &mut i32,
11989) {
11990 ffi::cgtrfs_(
11991 &(trans as c_char),
11992 &n,
11993 &nrhs,
11994 dl.as_ptr() as *const _,
11995 d.as_ptr() as *const _,
11996 du.as_ptr() as *const _,
11997 dlf.as_ptr() as *const _,
11998 df.as_ptr() as *const _,
11999 duf.as_ptr() as *const _,
12000 du2.as_ptr() as *const _,
12001 ipiv.as_ptr(),
12002 b.as_ptr() as *const _,
12003 &ldb,
12004 x.as_mut_ptr() as *mut _,
12005 &ldx,
12006 ferr.as_mut_ptr(),
12007 berr.as_mut_ptr(),
12008 work.as_mut_ptr() as *mut _,
12009 rwork.as_mut_ptr(),
12010 info,
12011 )
12012}
12013
12014#[inline]
12015pub unsafe fn dgtrfs(
12016 trans: u8,
12017 n: i32,
12018 nrhs: i32,
12019 dl: &[f64],
12020 d: &[f64],
12021 du: &[f64],
12022 dlf: &[f64],
12023 df: &[f64],
12024 duf: &[f64],
12025 du2: &[f64],
12026 ipiv: &[i32],
12027 b: &[f64],
12028 ldb: i32,
12029 x: &mut [f64],
12030 ldx: i32,
12031 ferr: &mut [f64],
12032 berr: &mut [f64],
12033 work: &mut [f64],
12034 iwork: &mut [i32],
12035 info: &mut i32,
12036) {
12037 ffi::dgtrfs_(
12038 &(trans as c_char),
12039 &n,
12040 &nrhs,
12041 dl.as_ptr(),
12042 d.as_ptr(),
12043 du.as_ptr(),
12044 dlf.as_ptr(),
12045 df.as_ptr(),
12046 duf.as_ptr(),
12047 du2.as_ptr(),
12048 ipiv.as_ptr(),
12049 b.as_ptr(),
12050 &ldb,
12051 x.as_mut_ptr(),
12052 &ldx,
12053 ferr.as_mut_ptr(),
12054 berr.as_mut_ptr(),
12055 work.as_mut_ptr(),
12056 iwork.as_mut_ptr(),
12057 info,
12058 )
12059}
12060
12061#[inline]
12062pub unsafe fn sgtrfs(
12063 trans: u8,
12064 n: i32,
12065 nrhs: i32,
12066 dl: &[f32],
12067 d: &[f32],
12068 du: &[f32],
12069 dlf: &[f32],
12070 df: &[f32],
12071 duf: &[f32],
12072 du2: &[f32],
12073 ipiv: &[i32],
12074 b: &[f32],
12075 ldb: i32,
12076 x: &mut [f32],
12077 ldx: i32,
12078 ferr: &mut [f32],
12079 berr: &mut [f32],
12080 work: &mut [f32],
12081 iwork: &mut [i32],
12082 info: &mut i32,
12083) {
12084 ffi::sgtrfs_(
12085 &(trans as c_char),
12086 &n,
12087 &nrhs,
12088 dl.as_ptr(),
12089 d.as_ptr(),
12090 du.as_ptr(),
12091 dlf.as_ptr(),
12092 df.as_ptr(),
12093 duf.as_ptr(),
12094 du2.as_ptr(),
12095 ipiv.as_ptr(),
12096 b.as_ptr(),
12097 &ldb,
12098 x.as_mut_ptr(),
12099 &ldx,
12100 ferr.as_mut_ptr(),
12101 berr.as_mut_ptr(),
12102 work.as_mut_ptr(),
12103 iwork.as_mut_ptr(),
12104 info,
12105 )
12106}
12107
12108#[inline]
12109pub unsafe fn zgtrfs(
12110 trans: u8,
12111 n: i32,
12112 nrhs: i32,
12113 dl: &[c64],
12114 d: &[c64],
12115 du: &[c64],
12116 dlf: &[c64],
12117 df: &[c64],
12118 duf: &[c64],
12119 du2: &[c64],
12120 ipiv: &[i32],
12121 b: &[c64],
12122 ldb: i32,
12123 x: &mut [c64],
12124 ldx: i32,
12125 ferr: &mut [f64],
12126 berr: &mut [f64],
12127 work: &mut [c64],
12128 rwork: &mut [f64],
12129 info: &mut i32,
12130) {
12131 ffi::zgtrfs_(
12132 &(trans as c_char),
12133 &n,
12134 &nrhs,
12135 dl.as_ptr() as *const _,
12136 d.as_ptr() as *const _,
12137 du.as_ptr() as *const _,
12138 dlf.as_ptr() as *const _,
12139 df.as_ptr() as *const _,
12140 duf.as_ptr() as *const _,
12141 du2.as_ptr() as *const _,
12142 ipiv.as_ptr(),
12143 b.as_ptr() as *const _,
12144 &ldb,
12145 x.as_mut_ptr() as *mut _,
12146 &ldx,
12147 ferr.as_mut_ptr(),
12148 berr.as_mut_ptr(),
12149 work.as_mut_ptr() as *mut _,
12150 rwork.as_mut_ptr(),
12151 info,
12152 )
12153}
12154
12155#[inline]
12156pub unsafe fn cgtsv(
12157 n: i32,
12158 nrhs: i32,
12159 dl: &mut [c32],
12160 d: &mut [c32],
12161 du: &mut [c32],
12162 b: &mut [c32],
12163 ldb: i32,
12164 info: &mut i32,
12165) {
12166 ffi::cgtsv_(
12167 &n,
12168 &nrhs,
12169 dl.as_mut_ptr() as *mut _,
12170 d.as_mut_ptr() as *mut _,
12171 du.as_mut_ptr() as *mut _,
12172 b.as_mut_ptr() as *mut _,
12173 &ldb,
12174 info,
12175 )
12176}
12177
12178#[inline]
12179pub unsafe fn dgtsv(
12180 n: i32,
12181 nrhs: i32,
12182 dl: &mut [f64],
12183 d: &mut [f64],
12184 du: &mut [f64],
12185 b: &mut [f64],
12186 ldb: i32,
12187 info: &mut i32,
12188) {
12189 ffi::dgtsv_(
12190 &n,
12191 &nrhs,
12192 dl.as_mut_ptr(),
12193 d.as_mut_ptr(),
12194 du.as_mut_ptr(),
12195 b.as_mut_ptr(),
12196 &ldb,
12197 info,
12198 )
12199}
12200
12201#[inline]
12202pub unsafe fn sgtsv(
12203 n: i32,
12204 nrhs: i32,
12205 dl: &mut [f32],
12206 d: &mut [f32],
12207 du: &mut [f32],
12208 b: &mut [f32],
12209 ldb: i32,
12210 info: &mut i32,
12211) {
12212 ffi::sgtsv_(
12213 &n,
12214 &nrhs,
12215 dl.as_mut_ptr(),
12216 d.as_mut_ptr(),
12217 du.as_mut_ptr(),
12218 b.as_mut_ptr(),
12219 &ldb,
12220 info,
12221 )
12222}
12223
12224#[inline]
12225pub unsafe fn zgtsv(
12226 n: i32,
12227 nrhs: i32,
12228 dl: &mut [c64],
12229 d: &mut [c64],
12230 du: &mut [c64],
12231 b: &mut [c64],
12232 ldb: i32,
12233 info: &mut i32,
12234) {
12235 ffi::zgtsv_(
12236 &n,
12237 &nrhs,
12238 dl.as_mut_ptr() as *mut _,
12239 d.as_mut_ptr() as *mut _,
12240 du.as_mut_ptr() as *mut _,
12241 b.as_mut_ptr() as *mut _,
12242 &ldb,
12243 info,
12244 )
12245}
12246
12247#[inline]
12248pub unsafe fn cgtsvx(
12249 fact: u8,
12250 trans: u8,
12251 n: i32,
12252 nrhs: i32,
12253 dl: &[c32],
12254 d: &[c32],
12255 du: &[c32],
12256 dlf: &mut [c32],
12257 df: &mut [c32],
12258 duf: &mut [c32],
12259 du2: &mut [c32],
12260 ipiv: &mut [i32],
12261 b: &[c32],
12262 ldb: i32,
12263 x: &mut [c32],
12264 ldx: i32,
12265 rcond: &mut f32,
12266 ferr: &mut [f32],
12267 berr: &mut [f32],
12268 work: &mut [c32],
12269 rwork: &mut [f32],
12270 info: &mut i32,
12271) {
12272 ffi::cgtsvx_(
12273 &(fact as c_char),
12274 &(trans as c_char),
12275 &n,
12276 &nrhs,
12277 dl.as_ptr() as *const _,
12278 d.as_ptr() as *const _,
12279 du.as_ptr() as *const _,
12280 dlf.as_mut_ptr() as *mut _,
12281 df.as_mut_ptr() as *mut _,
12282 duf.as_mut_ptr() as *mut _,
12283 du2.as_mut_ptr() as *mut _,
12284 ipiv.as_mut_ptr(),
12285 b.as_ptr() as *const _,
12286 &ldb,
12287 x.as_mut_ptr() as *mut _,
12288 &ldx,
12289 rcond,
12290 ferr.as_mut_ptr(),
12291 berr.as_mut_ptr(),
12292 work.as_mut_ptr() as *mut _,
12293 rwork.as_mut_ptr(),
12294 info,
12295 )
12296}
12297
12298#[inline]
12299pub unsafe fn dgtsvx(
12300 fact: u8,
12301 trans: u8,
12302 n: i32,
12303 nrhs: i32,
12304 dl: &[f64],
12305 d: &[f64],
12306 du: &[f64],
12307 dlf: &mut [f64],
12308 df: &mut [f64],
12309 duf: &mut [f64],
12310 du2: &mut [f64],
12311 ipiv: &mut [i32],
12312 b: &[f64],
12313 ldb: i32,
12314 x: &mut [f64],
12315 ldx: i32,
12316 rcond: &mut f64,
12317 ferr: &mut [f64],
12318 berr: &mut [f64],
12319 work: &mut [f64],
12320 iwork: &mut [i32],
12321 info: &mut i32,
12322) {
12323 ffi::dgtsvx_(
12324 &(fact as c_char),
12325 &(trans as c_char),
12326 &n,
12327 &nrhs,
12328 dl.as_ptr(),
12329 d.as_ptr(),
12330 du.as_ptr(),
12331 dlf.as_mut_ptr(),
12332 df.as_mut_ptr(),
12333 duf.as_mut_ptr(),
12334 du2.as_mut_ptr(),
12335 ipiv.as_mut_ptr(),
12336 b.as_ptr(),
12337 &ldb,
12338 x.as_mut_ptr(),
12339 &ldx,
12340 rcond,
12341 ferr.as_mut_ptr(),
12342 berr.as_mut_ptr(),
12343 work.as_mut_ptr(),
12344 iwork.as_mut_ptr(),
12345 info,
12346 )
12347}
12348
12349#[inline]
12350pub unsafe fn sgtsvx(
12351 fact: u8,
12352 trans: u8,
12353 n: i32,
12354 nrhs: i32,
12355 dl: &[f32],
12356 d: &[f32],
12357 du: &[f32],
12358 dlf: &mut [f32],
12359 df: &mut [f32],
12360 duf: &mut [f32],
12361 du2: &mut [f32],
12362 ipiv: &mut [i32],
12363 b: &[f32],
12364 ldb: i32,
12365 x: &mut [f32],
12366 ldx: i32,
12367 rcond: &mut f32,
12368 ferr: &mut [f32],
12369 berr: &mut [f32],
12370 work: &mut [f32],
12371 iwork: &mut [i32],
12372 info: &mut i32,
12373) {
12374 ffi::sgtsvx_(
12375 &(fact as c_char),
12376 &(trans as c_char),
12377 &n,
12378 &nrhs,
12379 dl.as_ptr(),
12380 d.as_ptr(),
12381 du.as_ptr(),
12382 dlf.as_mut_ptr(),
12383 df.as_mut_ptr(),
12384 duf.as_mut_ptr(),
12385 du2.as_mut_ptr(),
12386 ipiv.as_mut_ptr(),
12387 b.as_ptr(),
12388 &ldb,
12389 x.as_mut_ptr(),
12390 &ldx,
12391 rcond,
12392 ferr.as_mut_ptr(),
12393 berr.as_mut_ptr(),
12394 work.as_mut_ptr(),
12395 iwork.as_mut_ptr(),
12396 info,
12397 )
12398}
12399
12400#[inline]
12401pub unsafe fn zgtsvx(
12402 fact: u8,
12403 trans: u8,
12404 n: i32,
12405 nrhs: i32,
12406 dl: &[c64],
12407 d: &[c64],
12408 du: &[c64],
12409 dlf: &mut [c64],
12410 df: &mut [c64],
12411 duf: &mut [c64],
12412 du2: &mut [c64],
12413 ipiv: &mut [i32],
12414 b: &[c64],
12415 ldb: i32,
12416 x: &mut [c64],
12417 ldx: i32,
12418 rcond: &mut f64,
12419 ferr: &mut [f64],
12420 berr: &mut [f64],
12421 work: &mut [c64],
12422 rwork: &mut [f64],
12423 info: &mut i32,
12424) {
12425 ffi::zgtsvx_(
12426 &(fact as c_char),
12427 &(trans as c_char),
12428 &n,
12429 &nrhs,
12430 dl.as_ptr() as *const _,
12431 d.as_ptr() as *const _,
12432 du.as_ptr() as *const _,
12433 dlf.as_mut_ptr() as *mut _,
12434 df.as_mut_ptr() as *mut _,
12435 duf.as_mut_ptr() as *mut _,
12436 du2.as_mut_ptr() as *mut _,
12437 ipiv.as_mut_ptr(),
12438 b.as_ptr() as *const _,
12439 &ldb,
12440 x.as_mut_ptr() as *mut _,
12441 &ldx,
12442 rcond,
12443 ferr.as_mut_ptr(),
12444 berr.as_mut_ptr(),
12445 work.as_mut_ptr() as *mut _,
12446 rwork.as_mut_ptr(),
12447 info,
12448 )
12449}
12450
12451#[inline]
12452pub unsafe fn cgttrf(
12453 n: i32,
12454 dl: &mut [c32],
12455 d: &mut [c32],
12456 du: &mut [c32],
12457 du2: &mut [c32],
12458 ipiv: &mut [i32],
12459 info: &mut i32,
12460) {
12461 ffi::cgttrf_(
12462 &n,
12463 dl.as_mut_ptr() as *mut _,
12464 d.as_mut_ptr() as *mut _,
12465 du.as_mut_ptr() as *mut _,
12466 du2.as_mut_ptr() as *mut _,
12467 ipiv.as_mut_ptr(),
12468 info,
12469 )
12470}
12471
12472#[inline]
12473pub unsafe fn dgttrf(
12474 n: i32,
12475 dl: &mut [f64],
12476 d: &mut [f64],
12477 du: &mut [f64],
12478 du2: &mut [f64],
12479 ipiv: &mut [i32],
12480 info: &mut i32,
12481) {
12482 ffi::dgttrf_(
12483 &n,
12484 dl.as_mut_ptr(),
12485 d.as_mut_ptr(),
12486 du.as_mut_ptr(),
12487 du2.as_mut_ptr(),
12488 ipiv.as_mut_ptr(),
12489 info,
12490 )
12491}
12492
12493#[inline]
12494pub unsafe fn sgttrf(
12495 n: i32,
12496 dl: &mut [f32],
12497 d: &mut [f32],
12498 du: &mut [f32],
12499 du2: &mut [f32],
12500 ipiv: &mut [i32],
12501 info: &mut i32,
12502) {
12503 ffi::sgttrf_(
12504 &n,
12505 dl.as_mut_ptr(),
12506 d.as_mut_ptr(),
12507 du.as_mut_ptr(),
12508 du2.as_mut_ptr(),
12509 ipiv.as_mut_ptr(),
12510 info,
12511 )
12512}
12513
12514#[inline]
12515pub unsafe fn zgttrf(
12516 n: i32,
12517 dl: &mut [c64],
12518 d: &mut [c64],
12519 du: &mut [c64],
12520 du2: &mut [c64],
12521 ipiv: &mut [i32],
12522 info: &mut i32,
12523) {
12524 ffi::zgttrf_(
12525 &n,
12526 dl.as_mut_ptr() as *mut _,
12527 d.as_mut_ptr() as *mut _,
12528 du.as_mut_ptr() as *mut _,
12529 du2.as_mut_ptr() as *mut _,
12530 ipiv.as_mut_ptr(),
12531 info,
12532 )
12533}
12534
12535#[inline]
12536pub unsafe fn cgttrs(
12537 trans: u8,
12538 n: i32,
12539 nrhs: i32,
12540 dl: &[c32],
12541 d: &[c32],
12542 du: &[c32],
12543 du2: &[c32],
12544 ipiv: &[i32],
12545 b: &mut [c32],
12546 ldb: i32,
12547 info: &mut i32,
12548) {
12549 ffi::cgttrs_(
12550 &(trans as c_char),
12551 &n,
12552 &nrhs,
12553 dl.as_ptr() as *const _,
12554 d.as_ptr() as *const _,
12555 du.as_ptr() as *const _,
12556 du2.as_ptr() as *const _,
12557 ipiv.as_ptr(),
12558 b.as_mut_ptr() as *mut _,
12559 &ldb,
12560 info,
12561 )
12562}
12563
12564#[inline]
12565pub unsafe fn dgttrs(
12566 trans: u8,
12567 n: i32,
12568 nrhs: i32,
12569 dl: &[f64],
12570 d: &[f64],
12571 du: &[f64],
12572 du2: &[f64],
12573 ipiv: &[i32],
12574 b: &mut [f64],
12575 ldb: i32,
12576 info: &mut i32,
12577) {
12578 ffi::dgttrs_(
12579 &(trans as c_char),
12580 &n,
12581 &nrhs,
12582 dl.as_ptr(),
12583 d.as_ptr(),
12584 du.as_ptr(),
12585 du2.as_ptr(),
12586 ipiv.as_ptr(),
12587 b.as_mut_ptr(),
12588 &ldb,
12589 info,
12590 )
12591}
12592
12593#[inline]
12594pub unsafe fn sgttrs(
12595 trans: u8,
12596 n: i32,
12597 nrhs: i32,
12598 dl: &[f32],
12599 d: &[f32],
12600 du: &[f32],
12601 du2: &[f32],
12602 ipiv: &[i32],
12603 b: &mut [f32],
12604 ldb: i32,
12605 info: &mut i32,
12606) {
12607 ffi::sgttrs_(
12608 &(trans as c_char),
12609 &n,
12610 &nrhs,
12611 dl.as_ptr(),
12612 d.as_ptr(),
12613 du.as_ptr(),
12614 du2.as_ptr(),
12615 ipiv.as_ptr(),
12616 b.as_mut_ptr(),
12617 &ldb,
12618 info,
12619 )
12620}
12621
12622#[inline]
12623pub unsafe fn zgttrs(
12624 trans: u8,
12625 n: i32,
12626 nrhs: i32,
12627 dl: &[c64],
12628 d: &[c64],
12629 du: &[c64],
12630 du2: &[c64],
12631 ipiv: &[i32],
12632 b: &mut [c64],
12633 ldb: i32,
12634 info: &mut i32,
12635) {
12636 ffi::zgttrs_(
12637 &(trans as c_char),
12638 &n,
12639 &nrhs,
12640 dl.as_ptr() as *const _,
12641 d.as_ptr() as *const _,
12642 du.as_ptr() as *const _,
12643 du2.as_ptr() as *const _,
12644 ipiv.as_ptr(),
12645 b.as_mut_ptr() as *mut _,
12646 &ldb,
12647 info,
12648 )
12649}
12650
12651#[inline]
12652pub unsafe fn chbev(
12653 jobz: u8,
12654 uplo: u8,
12655 n: i32,
12656 kd: i32,
12657 ab: &mut [c32],
12658 ldab: i32,
12659 w: &mut [f32],
12660 z: &mut [c32],
12661 ldz: i32,
12662 work: &mut [c32],
12663 rwork: &mut [f32],
12664 info: &mut i32,
12665) {
12666 ffi::chbev_(
12667 &(jobz as c_char),
12668 &(uplo as c_char),
12669 &n,
12670 &kd,
12671 ab.as_mut_ptr() as *mut _,
12672 &ldab,
12673 w.as_mut_ptr(),
12674 z.as_mut_ptr() as *mut _,
12675 &ldz,
12676 work.as_mut_ptr() as *mut _,
12677 rwork.as_mut_ptr(),
12678 info,
12679 )
12680}
12681
12682#[inline]
12683pub unsafe fn zhbev(
12684 jobz: u8,
12685 uplo: u8,
12686 n: i32,
12687 kd: i32,
12688 ab: &mut [c64],
12689 ldab: i32,
12690 w: &mut [f64],
12691 z: &mut [c64],
12692 ldz: i32,
12693 work: &mut [c64],
12694 rwork: &mut [f64],
12695 info: &mut i32,
12696) {
12697 ffi::zhbev_(
12698 &(jobz as c_char),
12699 &(uplo as c_char),
12700 &n,
12701 &kd,
12702 ab.as_mut_ptr() as *mut _,
12703 &ldab,
12704 w.as_mut_ptr(),
12705 z.as_mut_ptr() as *mut _,
12706 &ldz,
12707 work.as_mut_ptr() as *mut _,
12708 rwork.as_mut_ptr(),
12709 info,
12710 )
12711}
12712
12713#[inline]
12714pub unsafe fn chbev_2stage(
12715 jobz: u8,
12716 uplo: u8,
12717 n: i32,
12718 kd: i32,
12719 ab: &mut [c32],
12720 ldab: i32,
12721 w: &mut [f32],
12722 z: &mut [c32],
12723 ldz: i32,
12724 work: &mut [c32],
12725 lwork: i32,
12726 rwork: &mut [f32],
12727 info: &mut i32,
12728) {
12729 ffi::chbev_2stage_(
12730 &(jobz as c_char),
12731 &(uplo as c_char),
12732 &n,
12733 &kd,
12734 ab.as_mut_ptr() as *mut _,
12735 &ldab,
12736 w.as_mut_ptr(),
12737 z.as_mut_ptr() as *mut _,
12738 &ldz,
12739 work.as_mut_ptr() as *mut _,
12740 &lwork,
12741 rwork.as_mut_ptr(),
12742 info,
12743 )
12744}
12745
12746#[inline]
12747pub unsafe fn zhbev_2stage(
12748 jobz: u8,
12749 uplo: u8,
12750 n: i32,
12751 kd: i32,
12752 ab: &mut [c64],
12753 ldab: i32,
12754 w: &mut [f64],
12755 z: &mut [c64],
12756 ldz: i32,
12757 work: &mut [c64],
12758 lwork: i32,
12759 rwork: &mut [f64],
12760 info: &mut i32,
12761) {
12762 ffi::zhbev_2stage_(
12763 &(jobz as c_char),
12764 &(uplo as c_char),
12765 &n,
12766 &kd,
12767 ab.as_mut_ptr() as *mut _,
12768 &ldab,
12769 w.as_mut_ptr(),
12770 z.as_mut_ptr() as *mut _,
12771 &ldz,
12772 work.as_mut_ptr() as *mut _,
12773 &lwork,
12774 rwork.as_mut_ptr(),
12775 info,
12776 )
12777}
12778
12779#[inline]
12780pub unsafe fn chbevd(
12781 jobz: u8,
12782 uplo: u8,
12783 n: i32,
12784 kd: i32,
12785 ab: &mut [c32],
12786 ldab: i32,
12787 w: &mut [f32],
12788 z: &mut [c32],
12789 ldz: i32,
12790 work: &mut [c32],
12791 lwork: i32,
12792 rwork: &mut [f32],
12793 lrwork: i32,
12794 iwork: &mut [i32],
12795 liwork: i32,
12796 info: &mut i32,
12797) {
12798 ffi::chbevd_(
12799 &(jobz as c_char),
12800 &(uplo as c_char),
12801 &n,
12802 &kd,
12803 ab.as_mut_ptr() as *mut _,
12804 &ldab,
12805 w.as_mut_ptr(),
12806 z.as_mut_ptr() as *mut _,
12807 &ldz,
12808 work.as_mut_ptr() as *mut _,
12809 &lwork,
12810 rwork.as_mut_ptr(),
12811 &lrwork,
12812 iwork.as_mut_ptr(),
12813 &liwork,
12814 info,
12815 )
12816}
12817
12818#[inline]
12819pub unsafe fn zhbevd(
12820 jobz: u8,
12821 uplo: u8,
12822 n: i32,
12823 kd: i32,
12824 ab: &mut [c64],
12825 ldab: i32,
12826 w: &mut [f64],
12827 z: &mut [c64],
12828 ldz: i32,
12829 work: &mut [c64],
12830 lwork: i32,
12831 rwork: &mut [f64],
12832 lrwork: i32,
12833 iwork: &mut [i32],
12834 liwork: i32,
12835 info: &mut i32,
12836) {
12837 ffi::zhbevd_(
12838 &(jobz as c_char),
12839 &(uplo as c_char),
12840 &n,
12841 &kd,
12842 ab.as_mut_ptr() as *mut _,
12843 &ldab,
12844 w.as_mut_ptr(),
12845 z.as_mut_ptr() as *mut _,
12846 &ldz,
12847 work.as_mut_ptr() as *mut _,
12848 &lwork,
12849 rwork.as_mut_ptr(),
12850 &lrwork,
12851 iwork.as_mut_ptr(),
12852 &liwork,
12853 info,
12854 )
12855}
12856
12857#[inline]
12858pub unsafe fn chbevd_2stage(
12859 jobz: u8,
12860 uplo: u8,
12861 n: i32,
12862 kd: i32,
12863 ab: &mut [c32],
12864 ldab: i32,
12865 w: &mut [f32],
12866 z: &mut [c32],
12867 ldz: i32,
12868 work: &mut [c32],
12869 lwork: i32,
12870 rwork: &mut [f32],
12871 lrwork: i32,
12872 iwork: &mut [i32],
12873 liwork: i32,
12874 info: &mut i32,
12875) {
12876 ffi::chbevd_2stage_(
12877 &(jobz as c_char),
12878 &(uplo as c_char),
12879 &n,
12880 &kd,
12881 ab.as_mut_ptr() as *mut _,
12882 &ldab,
12883 w.as_mut_ptr(),
12884 z.as_mut_ptr() as *mut _,
12885 &ldz,
12886 work.as_mut_ptr() as *mut _,
12887 &lwork,
12888 rwork.as_mut_ptr(),
12889 &lrwork,
12890 iwork.as_mut_ptr(),
12891 &liwork,
12892 info,
12893 )
12894}
12895
12896#[inline]
12897pub unsafe fn zhbevd_2stage(
12898 jobz: u8,
12899 uplo: u8,
12900 n: i32,
12901 kd: i32,
12902 ab: &mut [c64],
12903 ldab: i32,
12904 w: &mut [f64],
12905 z: &mut [c64],
12906 ldz: i32,
12907 work: &mut [c64],
12908 lwork: i32,
12909 rwork: &mut [f64],
12910 lrwork: i32,
12911 iwork: &mut [i32],
12912 liwork: i32,
12913 info: &mut i32,
12914) {
12915 ffi::zhbevd_2stage_(
12916 &(jobz as c_char),
12917 &(uplo as c_char),
12918 &n,
12919 &kd,
12920 ab.as_mut_ptr() as *mut _,
12921 &ldab,
12922 w.as_mut_ptr(),
12923 z.as_mut_ptr() as *mut _,
12924 &ldz,
12925 work.as_mut_ptr() as *mut _,
12926 &lwork,
12927 rwork.as_mut_ptr(),
12928 &lrwork,
12929 iwork.as_mut_ptr(),
12930 &liwork,
12931 info,
12932 )
12933}
12934
12935#[inline]
12936pub unsafe fn chbevx(
12937 jobz: u8,
12938 range: u8,
12939 uplo: u8,
12940 n: i32,
12941 kd: i32,
12942 ab: &mut [c32],
12943 ldab: i32,
12944 q: &mut [c32],
12945 ldq: i32,
12946 vl: f32,
12947 vu: f32,
12948 il: i32,
12949 iu: i32,
12950 abstol: f32,
12951 m: &mut i32,
12952 w: &mut [f32],
12953 z: &mut [c32],
12954 ldz: i32,
12955 work: &mut [c32],
12956 rwork: &mut [f32],
12957 iwork: &mut [i32],
12958 ifail: &mut [i32],
12959 info: &mut i32,
12960) {
12961 ffi::chbevx_(
12962 &(jobz as c_char),
12963 &(range as c_char),
12964 &(uplo as c_char),
12965 &n,
12966 &kd,
12967 ab.as_mut_ptr() as *mut _,
12968 &ldab,
12969 q.as_mut_ptr() as *mut _,
12970 &ldq,
12971 &vl,
12972 &vu,
12973 &il,
12974 &iu,
12975 &abstol,
12976 m,
12977 w.as_mut_ptr(),
12978 z.as_mut_ptr() as *mut _,
12979 &ldz,
12980 work.as_mut_ptr() as *mut _,
12981 rwork.as_mut_ptr(),
12982 iwork.as_mut_ptr(),
12983 ifail.as_mut_ptr(),
12984 info,
12985 )
12986}
12987
12988#[inline]
12989pub unsafe fn zhbevx(
12990 jobz: u8,
12991 range: u8,
12992 uplo: u8,
12993 n: i32,
12994 kd: i32,
12995 ab: &mut [c64],
12996 ldab: i32,
12997 q: &mut [c64],
12998 ldq: i32,
12999 vl: f64,
13000 vu: f64,
13001 il: i32,
13002 iu: i32,
13003 abstol: f64,
13004 m: &mut i32,
13005 w: &mut [f64],
13006 z: &mut [c64],
13007 ldz: i32,
13008 work: &mut [c64],
13009 rwork: &mut [f64],
13010 iwork: &mut [i32],
13011 ifail: &mut [i32],
13012 info: &mut i32,
13013) {
13014 ffi::zhbevx_(
13015 &(jobz as c_char),
13016 &(range as c_char),
13017 &(uplo as c_char),
13018 &n,
13019 &kd,
13020 ab.as_mut_ptr() as *mut _,
13021 &ldab,
13022 q.as_mut_ptr() as *mut _,
13023 &ldq,
13024 &vl,
13025 &vu,
13026 &il,
13027 &iu,
13028 &abstol,
13029 m,
13030 w.as_mut_ptr(),
13031 z.as_mut_ptr() as *mut _,
13032 &ldz,
13033 work.as_mut_ptr() as *mut _,
13034 rwork.as_mut_ptr(),
13035 iwork.as_mut_ptr(),
13036 ifail.as_mut_ptr(),
13037 info,
13038 )
13039}
13040
13041#[inline]
13042pub unsafe fn chbevx_2stage(
13043 jobz: u8,
13044 range: u8,
13045 uplo: u8,
13046 n: i32,
13047 kd: i32,
13048 ab: &mut [c32],
13049 ldab: i32,
13050 q: &mut [c32],
13051 ldq: i32,
13052 vl: f32,
13053 vu: f32,
13054 il: i32,
13055 iu: i32,
13056 abstol: f32,
13057 m: &mut i32,
13058 w: &mut [f32],
13059 z: &mut [c32],
13060 ldz: i32,
13061 work: &mut [c32],
13062 lwork: i32,
13063 rwork: &mut [f32],
13064 iwork: &mut [i32],
13065 ifail: &mut [i32],
13066 info: &mut i32,
13067) {
13068 ffi::chbevx_2stage_(
13069 &(jobz as c_char),
13070 &(range as c_char),
13071 &(uplo as c_char),
13072 &n,
13073 &kd,
13074 ab.as_mut_ptr() as *mut _,
13075 &ldab,
13076 q.as_mut_ptr() as *mut _,
13077 &ldq,
13078 &vl,
13079 &vu,
13080 &il,
13081 &iu,
13082 &abstol,
13083 m,
13084 w.as_mut_ptr(),
13085 z.as_mut_ptr() as *mut _,
13086 &ldz,
13087 work.as_mut_ptr() as *mut _,
13088 &lwork,
13089 rwork.as_mut_ptr(),
13090 iwork.as_mut_ptr(),
13091 ifail.as_mut_ptr(),
13092 info,
13093 )
13094}
13095
13096#[inline]
13097pub unsafe fn zhbevx_2stage(
13098 jobz: u8,
13099 range: u8,
13100 uplo: u8,
13101 n: i32,
13102 kd: i32,
13103 ab: &mut [c64],
13104 ldab: i32,
13105 q: &mut [c64],
13106 ldq: i32,
13107 vl: f64,
13108 vu: f64,
13109 il: i32,
13110 iu: i32,
13111 abstol: f64,
13112 m: &mut i32,
13113 w: &mut [f64],
13114 z: &mut [c64],
13115 ldz: i32,
13116 work: &mut [c64],
13117 lwork: i32,
13118 rwork: &mut [f64],
13119 iwork: &mut [i32],
13120 ifail: &mut [i32],
13121 info: &mut i32,
13122) {
13123 ffi::zhbevx_2stage_(
13124 &(jobz as c_char),
13125 &(range as c_char),
13126 &(uplo as c_char),
13127 &n,
13128 &kd,
13129 ab.as_mut_ptr() as *mut _,
13130 &ldab,
13131 q.as_mut_ptr() as *mut _,
13132 &ldq,
13133 &vl,
13134 &vu,
13135 &il,
13136 &iu,
13137 &abstol,
13138 m,
13139 w.as_mut_ptr(),
13140 z.as_mut_ptr() as *mut _,
13141 &ldz,
13142 work.as_mut_ptr() as *mut _,
13143 &lwork,
13144 rwork.as_mut_ptr(),
13145 iwork.as_mut_ptr(),
13146 ifail.as_mut_ptr(),
13147 info,
13148 )
13149}
13150
13151#[inline]
13152pub unsafe fn chbgst(
13153 vect: u8,
13154 uplo: u8,
13155 n: i32,
13156 ka: i32,
13157 kb: i32,
13158 ab: &mut [c32],
13159 ldab: i32,
13160 bb: &[c32],
13161 ldbb: i32,
13162 x: &mut [c32],
13163 ldx: i32,
13164 work: &mut [c32],
13165 rwork: &mut [f32],
13166 info: &mut i32,
13167) {
13168 ffi::chbgst_(
13169 &(vect as c_char),
13170 &(uplo as c_char),
13171 &n,
13172 &ka,
13173 &kb,
13174 ab.as_mut_ptr() as *mut _,
13175 &ldab,
13176 bb.as_ptr() as *const _,
13177 &ldbb,
13178 x.as_mut_ptr() as *mut _,
13179 &ldx,
13180 work.as_mut_ptr() as *mut _,
13181 rwork.as_mut_ptr(),
13182 info,
13183 )
13184}
13185
13186#[inline]
13187pub unsafe fn zhbgst(
13188 vect: u8,
13189 uplo: u8,
13190 n: i32,
13191 ka: i32,
13192 kb: i32,
13193 ab: &mut [c64],
13194 ldab: i32,
13195 bb: &[c64],
13196 ldbb: i32,
13197 x: &mut [c64],
13198 ldx: i32,
13199 work: &mut [c64],
13200 rwork: &mut [f64],
13201 info: &mut i32,
13202) {
13203 ffi::zhbgst_(
13204 &(vect as c_char),
13205 &(uplo as c_char),
13206 &n,
13207 &ka,
13208 &kb,
13209 ab.as_mut_ptr() as *mut _,
13210 &ldab,
13211 bb.as_ptr() as *const _,
13212 &ldbb,
13213 x.as_mut_ptr() as *mut _,
13214 &ldx,
13215 work.as_mut_ptr() as *mut _,
13216 rwork.as_mut_ptr(),
13217 info,
13218 )
13219}
13220
13221#[inline]
13222pub unsafe fn chbgv(
13223 jobz: u8,
13224 uplo: u8,
13225 n: i32,
13226 ka: i32,
13227 kb: i32,
13228 ab: &mut [c32],
13229 ldab: i32,
13230 bb: &mut [c32],
13231 ldbb: i32,
13232 w: &mut [f32],
13233 z: &mut [c32],
13234 ldz: i32,
13235 work: &mut [c32],
13236 rwork: &mut [f32],
13237 info: &mut i32,
13238) {
13239 ffi::chbgv_(
13240 &(jobz as c_char),
13241 &(uplo as c_char),
13242 &n,
13243 &ka,
13244 &kb,
13245 ab.as_mut_ptr() as *mut _,
13246 &ldab,
13247 bb.as_mut_ptr() as *mut _,
13248 &ldbb,
13249 w.as_mut_ptr(),
13250 z.as_mut_ptr() as *mut _,
13251 &ldz,
13252 work.as_mut_ptr() as *mut _,
13253 rwork.as_mut_ptr(),
13254 info,
13255 )
13256}
13257
13258#[inline]
13259pub unsafe fn zhbgv(
13260 jobz: u8,
13261 uplo: u8,
13262 n: i32,
13263 ka: i32,
13264 kb: i32,
13265 ab: &mut [c64],
13266 ldab: i32,
13267 bb: &mut [c64],
13268 ldbb: i32,
13269 w: &mut [f64],
13270 z: &mut [c64],
13271 ldz: i32,
13272 work: &mut [c64],
13273 rwork: &mut [f64],
13274 info: &mut i32,
13275) {
13276 ffi::zhbgv_(
13277 &(jobz as c_char),
13278 &(uplo as c_char),
13279 &n,
13280 &ka,
13281 &kb,
13282 ab.as_mut_ptr() as *mut _,
13283 &ldab,
13284 bb.as_mut_ptr() as *mut _,
13285 &ldbb,
13286 w.as_mut_ptr(),
13287 z.as_mut_ptr() as *mut _,
13288 &ldz,
13289 work.as_mut_ptr() as *mut _,
13290 rwork.as_mut_ptr(),
13291 info,
13292 )
13293}
13294
13295#[inline]
13296pub unsafe fn chbgvd(
13297 jobz: u8,
13298 uplo: u8,
13299 n: i32,
13300 ka: i32,
13301 kb: i32,
13302 ab: &mut [c32],
13303 ldab: i32,
13304 bb: &mut [c32],
13305 ldbb: i32,
13306 w: &mut [f32],
13307 z: &mut [c32],
13308 ldz: i32,
13309 work: &mut [c32],
13310 lwork: i32,
13311 rwork: &mut [f32],
13312 lrwork: i32,
13313 iwork: &mut [i32],
13314 liwork: i32,
13315 info: &mut i32,
13316) {
13317 ffi::chbgvd_(
13318 &(jobz as c_char),
13319 &(uplo as c_char),
13320 &n,
13321 &ka,
13322 &kb,
13323 ab.as_mut_ptr() as *mut _,
13324 &ldab,
13325 bb.as_mut_ptr() as *mut _,
13326 &ldbb,
13327 w.as_mut_ptr(),
13328 z.as_mut_ptr() as *mut _,
13329 &ldz,
13330 work.as_mut_ptr() as *mut _,
13331 &lwork,
13332 rwork.as_mut_ptr(),
13333 &lrwork,
13334 iwork.as_mut_ptr(),
13335 &liwork,
13336 info,
13337 )
13338}
13339
13340#[inline]
13341pub unsafe fn zhbgvd(
13342 jobz: u8,
13343 uplo: u8,
13344 n: i32,
13345 ka: i32,
13346 kb: i32,
13347 ab: &mut [c64],
13348 ldab: i32,
13349 bb: &mut [c64],
13350 ldbb: i32,
13351 w: &mut [f64],
13352 z: &mut [c64],
13353 ldz: i32,
13354 work: &mut [c64],
13355 lwork: i32,
13356 rwork: &mut [f64],
13357 lrwork: i32,
13358 iwork: &mut [i32],
13359 liwork: i32,
13360 info: &mut i32,
13361) {
13362 ffi::zhbgvd_(
13363 &(jobz as c_char),
13364 &(uplo as c_char),
13365 &n,
13366 &ka,
13367 &kb,
13368 ab.as_mut_ptr() as *mut _,
13369 &ldab,
13370 bb.as_mut_ptr() as *mut _,
13371 &ldbb,
13372 w.as_mut_ptr(),
13373 z.as_mut_ptr() as *mut _,
13374 &ldz,
13375 work.as_mut_ptr() as *mut _,
13376 &lwork,
13377 rwork.as_mut_ptr(),
13378 &lrwork,
13379 iwork.as_mut_ptr(),
13380 &liwork,
13381 info,
13382 )
13383}
13384
13385#[inline]
13386pub unsafe fn chbgvx(
13387 jobz: u8,
13388 range: u8,
13389 uplo: u8,
13390 n: i32,
13391 ka: i32,
13392 kb: i32,
13393 ab: &mut [c32],
13394 ldab: i32,
13395 bb: &mut [c32],
13396 ldbb: i32,
13397 q: &mut [c32],
13398 ldq: i32,
13399 vl: f32,
13400 vu: f32,
13401 il: i32,
13402 iu: i32,
13403 abstol: f32,
13404 m: &mut i32,
13405 w: &mut [f32],
13406 z: &mut [c32],
13407 ldz: i32,
13408 work: &mut [c32],
13409 rwork: &mut [f32],
13410 iwork: &mut [i32],
13411 ifail: &mut [i32],
13412 info: &mut i32,
13413) {
13414 ffi::chbgvx_(
13415 &(jobz as c_char),
13416 &(range as c_char),
13417 &(uplo as c_char),
13418 &n,
13419 &ka,
13420 &kb,
13421 ab.as_mut_ptr() as *mut _,
13422 &ldab,
13423 bb.as_mut_ptr() as *mut _,
13424 &ldbb,
13425 q.as_mut_ptr() as *mut _,
13426 &ldq,
13427 &vl,
13428 &vu,
13429 &il,
13430 &iu,
13431 &abstol,
13432 m,
13433 w.as_mut_ptr(),
13434 z.as_mut_ptr() as *mut _,
13435 &ldz,
13436 work.as_mut_ptr() as *mut _,
13437 rwork.as_mut_ptr(),
13438 iwork.as_mut_ptr(),
13439 ifail.as_mut_ptr(),
13440 info,
13441 )
13442}
13443
13444#[inline]
13445pub unsafe fn zhbgvx(
13446 jobz: u8,
13447 range: u8,
13448 uplo: u8,
13449 n: i32,
13450 ka: i32,
13451 kb: i32,
13452 ab: &mut [c64],
13453 ldab: i32,
13454 bb: &mut [c64],
13455 ldbb: i32,
13456 q: &mut [c64],
13457 ldq: i32,
13458 vl: f64,
13459 vu: f64,
13460 il: i32,
13461 iu: i32,
13462 abstol: f64,
13463 m: &mut i32,
13464 w: &mut [f64],
13465 z: &mut [c64],
13466 ldz: i32,
13467 work: &mut [c64],
13468 rwork: &mut [f64],
13469 iwork: &mut [i32],
13470 ifail: &mut [i32],
13471 info: &mut i32,
13472) {
13473 ffi::zhbgvx_(
13474 &(jobz as c_char),
13475 &(range as c_char),
13476 &(uplo as c_char),
13477 &n,
13478 &ka,
13479 &kb,
13480 ab.as_mut_ptr() as *mut _,
13481 &ldab,
13482 bb.as_mut_ptr() as *mut _,
13483 &ldbb,
13484 q.as_mut_ptr() as *mut _,
13485 &ldq,
13486 &vl,
13487 &vu,
13488 &il,
13489 &iu,
13490 &abstol,
13491 m,
13492 w.as_mut_ptr(),
13493 z.as_mut_ptr() as *mut _,
13494 &ldz,
13495 work.as_mut_ptr() as *mut _,
13496 rwork.as_mut_ptr(),
13497 iwork.as_mut_ptr(),
13498 ifail.as_mut_ptr(),
13499 info,
13500 )
13501}
13502
13503#[inline]
13504pub unsafe fn chbtrd(
13505 vect: u8,
13506 uplo: u8,
13507 n: i32,
13508 kd: i32,
13509 ab: &mut [c32],
13510 ldab: i32,
13511 d: &mut [f32],
13512 e: &mut [f32],
13513 q: &mut [c32],
13514 ldq: i32,
13515 work: &mut [c32],
13516 info: &mut i32,
13517) {
13518 ffi::chbtrd_(
13519 &(vect as c_char),
13520 &(uplo as c_char),
13521 &n,
13522 &kd,
13523 ab.as_mut_ptr() as *mut _,
13524 &ldab,
13525 d.as_mut_ptr(),
13526 e.as_mut_ptr(),
13527 q.as_mut_ptr() as *mut _,
13528 &ldq,
13529 work.as_mut_ptr() as *mut _,
13530 info,
13531 )
13532}
13533
13534#[inline]
13535pub unsafe fn zhbtrd(
13536 vect: u8,
13537 uplo: u8,
13538 n: i32,
13539 kd: i32,
13540 ab: &mut [c64],
13541 ldab: i32,
13542 d: &mut [f64],
13543 e: &mut [f64],
13544 q: &mut [c64],
13545 ldq: i32,
13546 work: &mut [c64],
13547 info: &mut i32,
13548) {
13549 ffi::zhbtrd_(
13550 &(vect as c_char),
13551 &(uplo as c_char),
13552 &n,
13553 &kd,
13554 ab.as_mut_ptr() as *mut _,
13555 &ldab,
13556 d.as_mut_ptr(),
13557 e.as_mut_ptr(),
13558 q.as_mut_ptr() as *mut _,
13559 &ldq,
13560 work.as_mut_ptr() as *mut _,
13561 info,
13562 )
13563}
13564
13565#[inline]
13566pub unsafe fn checon(
13567 uplo: u8,
13568 n: i32,
13569 a: &[c32],
13570 lda: i32,
13571 ipiv: &[i32],
13572 anorm: f32,
13573 rcond: &mut f32,
13574 work: &mut [c32],
13575 info: &mut i32,
13576) {
13577 ffi::checon_(
13578 &(uplo as c_char),
13579 &n,
13580 a.as_ptr() as *const _,
13581 &lda,
13582 ipiv.as_ptr(),
13583 &anorm,
13584 rcond,
13585 work.as_mut_ptr() as *mut _,
13586 info,
13587 )
13588}
13589
13590#[inline]
13591pub unsafe fn zhecon(
13592 uplo: u8,
13593 n: i32,
13594 a: &[c64],
13595 lda: i32,
13596 ipiv: &[i32],
13597 anorm: f64,
13598 rcond: &mut f64,
13599 work: &mut [c64],
13600 info: &mut i32,
13601) {
13602 ffi::zhecon_(
13603 &(uplo as c_char),
13604 &n,
13605 a.as_ptr() as *const _,
13606 &lda,
13607 ipiv.as_ptr(),
13608 &anorm,
13609 rcond,
13610 work.as_mut_ptr() as *mut _,
13611 info,
13612 )
13613}
13614
13615#[inline]
13616pub unsafe fn checon_3(
13617 uplo: u8,
13618 n: i32,
13619 a: &[c32],
13620 lda: i32,
13621 e: &[c32],
13622 ipiv: &[i32],
13623 anorm: f32,
13624 rcond: &mut f32,
13625 work: &mut [c32],
13626 info: &mut i32,
13627) {
13628 ffi::checon_3_(
13629 &(uplo as c_char),
13630 &n,
13631 a.as_ptr() as *const _,
13632 &lda,
13633 e.as_ptr() as *const _,
13634 ipiv.as_ptr(),
13635 &anorm,
13636 rcond,
13637 work.as_mut_ptr() as *mut _,
13638 info,
13639 )
13640}
13641
13642#[inline]
13643pub unsafe fn zhecon_3(
13644 uplo: u8,
13645 n: i32,
13646 a: &[c64],
13647 lda: i32,
13648 e: &[c64],
13649 ipiv: &[i32],
13650 anorm: f64,
13651 rcond: &mut f64,
13652 work: &mut [c64],
13653 info: &mut i32,
13654) {
13655 ffi::zhecon_3_(
13656 &(uplo as c_char),
13657 &n,
13658 a.as_ptr() as *const _,
13659 &lda,
13660 e.as_ptr() as *const _,
13661 ipiv.as_ptr(),
13662 &anorm,
13663 rcond,
13664 work.as_mut_ptr() as *mut _,
13665 info,
13666 )
13667}
13668
13669#[inline]
13670pub unsafe fn cheequb(
13671 uplo: u8,
13672 n: i32,
13673 a: &[c32],
13674 lda: i32,
13675 s: &mut [f32],
13676 scond: &mut [f32],
13677 amax: &mut f32,
13678 work: &mut [c32],
13679 info: &mut i32,
13680) {
13681 ffi::cheequb_(
13682 &(uplo as c_char),
13683 &n,
13684 a.as_ptr() as *const _,
13685 &lda,
13686 s.as_mut_ptr(),
13687 scond.as_mut_ptr(),
13688 amax,
13689 work.as_mut_ptr() as *mut _,
13690 info,
13691 )
13692}
13693
13694#[inline]
13695pub unsafe fn zheequb(
13696 uplo: u8,
13697 n: i32,
13698 a: &[c64],
13699 lda: i32,
13700 s: &mut [f64],
13701 scond: &mut [f64],
13702 amax: &mut f64,
13703 work: &mut [c64],
13704 info: &mut i32,
13705) {
13706 ffi::zheequb_(
13707 &(uplo as c_char),
13708 &n,
13709 a.as_ptr() as *const _,
13710 &lda,
13711 s.as_mut_ptr(),
13712 scond.as_mut_ptr(),
13713 amax,
13714 work.as_mut_ptr() as *mut _,
13715 info,
13716 )
13717}
13718
13719#[inline]
13720pub unsafe fn cheev(
13721 jobz: u8,
13722 uplo: u8,
13723 n: i32,
13724 a: &mut [c32],
13725 lda: i32,
13726 w: &mut [f32],
13727 work: &mut [c32],
13728 lwork: i32,
13729 rwork: &mut [f32],
13730 info: &mut i32,
13731) {
13732 ffi::cheev_(
13733 &(jobz as c_char),
13734 &(uplo as c_char),
13735 &n,
13736 a.as_mut_ptr() as *mut _,
13737 &lda,
13738 w.as_mut_ptr(),
13739 work.as_mut_ptr() as *mut _,
13740 &lwork,
13741 rwork.as_mut_ptr(),
13742 info,
13743 )
13744}
13745
13746#[inline]
13747pub unsafe fn zheev(
13748 jobz: u8,
13749 uplo: u8,
13750 n: i32,
13751 a: &mut [c64],
13752 lda: i32,
13753 w: &mut [f64],
13754 work: &mut [c64],
13755 lwork: i32,
13756 rwork: &mut [f64],
13757 info: &mut i32,
13758) {
13759 ffi::zheev_(
13760 &(jobz as c_char),
13761 &(uplo as c_char),
13762 &n,
13763 a.as_mut_ptr() as *mut _,
13764 &lda,
13765 w.as_mut_ptr(),
13766 work.as_mut_ptr() as *mut _,
13767 &lwork,
13768 rwork.as_mut_ptr(),
13769 info,
13770 )
13771}
13772
13773#[inline]
13774pub unsafe fn cheev_2stage(
13775 jobz: u8,
13776 uplo: u8,
13777 n: i32,
13778 a: &mut [c32],
13779 lda: i32,
13780 w: &mut [f32],
13781 work: &mut [c32],
13782 lwork: i32,
13783 rwork: &mut [f32],
13784 info: &mut i32,
13785) {
13786 ffi::cheev_2stage_(
13787 &(jobz as c_char),
13788 &(uplo as c_char),
13789 &n,
13790 a.as_mut_ptr() as *mut _,
13791 &lda,
13792 w.as_mut_ptr(),
13793 work.as_mut_ptr() as *mut _,
13794 &lwork,
13795 rwork.as_mut_ptr(),
13796 info,
13797 )
13798}
13799
13800#[inline]
13801pub unsafe fn zheev_2stage(
13802 jobz: u8,
13803 uplo: u8,
13804 n: i32,
13805 a: &mut [c64],
13806 lda: i32,
13807 w: &mut [f64],
13808 work: &mut [c64],
13809 lwork: i32,
13810 rwork: &mut [f64],
13811 info: &mut i32,
13812) {
13813 ffi::zheev_2stage_(
13814 &(jobz as c_char),
13815 &(uplo as c_char),
13816 &n,
13817 a.as_mut_ptr() as *mut _,
13818 &lda,
13819 w.as_mut_ptr(),
13820 work.as_mut_ptr() as *mut _,
13821 &lwork,
13822 rwork.as_mut_ptr(),
13823 info,
13824 )
13825}
13826
13827#[inline]
13828pub unsafe fn cheevd(
13829 jobz: u8,
13830 uplo: u8,
13831 n: i32,
13832 a: &mut [c32],
13833 lda: i32,
13834 w: &mut [f32],
13835 work: &mut [c32],
13836 lwork: i32,
13837 rwork: &mut [f32],
13838 lrwork: i32,
13839 iwork: &mut [i32],
13840 liwork: i32,
13841 info: &mut i32,
13842) {
13843 ffi::cheevd_(
13844 &(jobz as c_char),
13845 &(uplo as c_char),
13846 &n,
13847 a.as_mut_ptr() as *mut _,
13848 &lda,
13849 w.as_mut_ptr(),
13850 work.as_mut_ptr() as *mut _,
13851 &lwork,
13852 rwork.as_mut_ptr(),
13853 &lrwork,
13854 iwork.as_mut_ptr(),
13855 &liwork,
13856 info,
13857 )
13858}
13859
13860#[inline]
13861pub unsafe fn zheevd(
13862 jobz: u8,
13863 uplo: u8,
13864 n: i32,
13865 a: &mut [c64],
13866 lda: i32,
13867 w: &mut [f64],
13868 work: &mut [c64],
13869 lwork: i32,
13870 rwork: &mut [f64],
13871 lrwork: i32,
13872 iwork: &mut [i32],
13873 liwork: i32,
13874 info: &mut i32,
13875) {
13876 ffi::zheevd_(
13877 &(jobz as c_char),
13878 &(uplo as c_char),
13879 &n,
13880 a.as_mut_ptr() as *mut _,
13881 &lda,
13882 w.as_mut_ptr(),
13883 work.as_mut_ptr() as *mut _,
13884 &lwork,
13885 rwork.as_mut_ptr(),
13886 &lrwork,
13887 iwork.as_mut_ptr(),
13888 &liwork,
13889 info,
13890 )
13891}
13892
13893#[inline]
13894pub unsafe fn cheevd_2stage(
13895 jobz: u8,
13896 uplo: u8,
13897 n: i32,
13898 a: &mut [c32],
13899 lda: i32,
13900 w: &mut [f32],
13901 work: &mut [c32],
13902 lwork: i32,
13903 rwork: &mut [f32],
13904 lrwork: i32,
13905 iwork: &mut [i32],
13906 liwork: i32,
13907 info: &mut i32,
13908) {
13909 ffi::cheevd_2stage_(
13910 &(jobz as c_char),
13911 &(uplo as c_char),
13912 &n,
13913 a.as_mut_ptr() as *mut _,
13914 &lda,
13915 w.as_mut_ptr(),
13916 work.as_mut_ptr() as *mut _,
13917 &lwork,
13918 rwork.as_mut_ptr(),
13919 &lrwork,
13920 iwork.as_mut_ptr(),
13921 &liwork,
13922 info,
13923 )
13924}
13925
13926#[inline]
13927pub unsafe fn zheevd_2stage(
13928 jobz: u8,
13929 uplo: u8,
13930 n: i32,
13931 a: &mut [c64],
13932 lda: i32,
13933 w: &mut [f64],
13934 work: &mut [c64],
13935 lwork: i32,
13936 rwork: &mut [f64],
13937 lrwork: i32,
13938 iwork: &mut [i32],
13939 liwork: i32,
13940 info: &mut i32,
13941) {
13942 ffi::zheevd_2stage_(
13943 &(jobz as c_char),
13944 &(uplo as c_char),
13945 &n,
13946 a.as_mut_ptr() as *mut _,
13947 &lda,
13948 w.as_mut_ptr(),
13949 work.as_mut_ptr() as *mut _,
13950 &lwork,
13951 rwork.as_mut_ptr(),
13952 &lrwork,
13953 iwork.as_mut_ptr(),
13954 &liwork,
13955 info,
13956 )
13957}
13958
13959#[inline]
13960pub unsafe fn cheevr(
13961 jobz: u8,
13962 range: u8,
13963 uplo: u8,
13964 n: i32,
13965 a: &mut [c32],
13966 lda: i32,
13967 vl: f32,
13968 vu: f32,
13969 il: i32,
13970 iu: i32,
13971 abstol: f32,
13972 m: &mut i32,
13973 w: &mut [f32],
13974 z: &mut [c32],
13975 ldz: i32,
13976 isuppz: &mut [i32],
13977 work: &mut [c32],
13978 lwork: i32,
13979 rwork: &mut [f32],
13980 lrwork: i32,
13981 iwork: &mut [i32],
13982 liwork: i32,
13983 info: &mut i32,
13984) {
13985 ffi::cheevr_(
13986 &(jobz as c_char),
13987 &(range as c_char),
13988 &(uplo as c_char),
13989 &n,
13990 a.as_mut_ptr() as *mut _,
13991 &lda,
13992 &vl,
13993 &vu,
13994 &il,
13995 &iu,
13996 &abstol,
13997 m,
13998 w.as_mut_ptr(),
13999 z.as_mut_ptr() as *mut _,
14000 &ldz,
14001 isuppz.as_mut_ptr(),
14002 work.as_mut_ptr() as *mut _,
14003 &lwork,
14004 rwork.as_mut_ptr(),
14005 &lrwork,
14006 iwork.as_mut_ptr(),
14007 &liwork,
14008 info,
14009 )
14010}
14011
14012#[inline]
14013pub unsafe fn zheevr(
14014 jobz: u8,
14015 range: u8,
14016 uplo: u8,
14017 n: i32,
14018 a: &mut [c64],
14019 lda: i32,
14020 vl: f64,
14021 vu: f64,
14022 il: i32,
14023 iu: i32,
14024 abstol: f64,
14025 m: &mut i32,
14026 w: &mut [f64],
14027 z: &mut [c64],
14028 ldz: i32,
14029 isuppz: &mut [i32],
14030 work: &mut [c64],
14031 lwork: i32,
14032 rwork: &mut [f64],
14033 lrwork: i32,
14034 iwork: &mut [i32],
14035 liwork: i32,
14036 info: &mut i32,
14037) {
14038 ffi::zheevr_(
14039 &(jobz as c_char),
14040 &(range as c_char),
14041 &(uplo as c_char),
14042 &n,
14043 a.as_mut_ptr() as *mut _,
14044 &lda,
14045 &vl,
14046 &vu,
14047 &il,
14048 &iu,
14049 &abstol,
14050 m,
14051 w.as_mut_ptr(),
14052 z.as_mut_ptr() as *mut _,
14053 &ldz,
14054 isuppz.as_mut_ptr(),
14055 work.as_mut_ptr() as *mut _,
14056 &lwork,
14057 rwork.as_mut_ptr(),
14058 &lrwork,
14059 iwork.as_mut_ptr(),
14060 &liwork,
14061 info,
14062 )
14063}
14064
14065#[inline]
14066pub unsafe fn cheevr_2stage(
14067 jobz: u8,
14068 range: u8,
14069 uplo: u8,
14070 n: i32,
14071 a: &mut [c32],
14072 lda: i32,
14073 vl: f32,
14074 vu: f32,
14075 il: i32,
14076 iu: i32,
14077 abstol: f32,
14078 m: &mut i32,
14079 w: &mut [f32],
14080 z: &mut [c32],
14081 ldz: i32,
14082 isuppz: &mut [i32],
14083 work: &mut [c32],
14084 lwork: i32,
14085 rwork: &mut [f32],
14086 lrwork: i32,
14087 iwork: &mut [i32],
14088 liwork: i32,
14089 info: &mut i32,
14090) {
14091 ffi::cheevr_2stage_(
14092 &(jobz as c_char),
14093 &(range as c_char),
14094 &(uplo as c_char),
14095 &n,
14096 a.as_mut_ptr() as *mut _,
14097 &lda,
14098 &vl,
14099 &vu,
14100 &il,
14101 &iu,
14102 &abstol,
14103 m,
14104 w.as_mut_ptr(),
14105 z.as_mut_ptr() as *mut _,
14106 &ldz,
14107 isuppz.as_mut_ptr(),
14108 work.as_mut_ptr() as *mut _,
14109 &lwork,
14110 rwork.as_mut_ptr(),
14111 &lrwork,
14112 iwork.as_mut_ptr(),
14113 &liwork,
14114 info,
14115 )
14116}
14117
14118#[inline]
14119pub unsafe fn zheevr_2stage(
14120 jobz: u8,
14121 range: u8,
14122 uplo: u8,
14123 n: i32,
14124 a: &mut [c64],
14125 lda: i32,
14126 vl: f64,
14127 vu: f64,
14128 il: i32,
14129 iu: i32,
14130 abstol: f64,
14131 m: &mut i32,
14132 w: &mut [f64],
14133 z: &mut [c64],
14134 ldz: i32,
14135 isuppz: &mut [i32],
14136 work: &mut [c64],
14137 lwork: i32,
14138 rwork: &mut [f64],
14139 lrwork: i32,
14140 iwork: &mut [i32],
14141 liwork: i32,
14142 info: &mut i32,
14143) {
14144 ffi::zheevr_2stage_(
14145 &(jobz as c_char),
14146 &(range as c_char),
14147 &(uplo as c_char),
14148 &n,
14149 a.as_mut_ptr() as *mut _,
14150 &lda,
14151 &vl,
14152 &vu,
14153 &il,
14154 &iu,
14155 &abstol,
14156 m,
14157 w.as_mut_ptr(),
14158 z.as_mut_ptr() as *mut _,
14159 &ldz,
14160 isuppz.as_mut_ptr(),
14161 work.as_mut_ptr() as *mut _,
14162 &lwork,
14163 rwork.as_mut_ptr(),
14164 &lrwork,
14165 iwork.as_mut_ptr(),
14166 &liwork,
14167 info,
14168 )
14169}
14170
14171#[inline]
14172pub unsafe fn cheevx(
14173 jobz: u8,
14174 range: u8,
14175 uplo: u8,
14176 n: i32,
14177 a: &mut [c32],
14178 lda: i32,
14179 vl: f32,
14180 vu: f32,
14181 il: i32,
14182 iu: i32,
14183 abstol: f32,
14184 m: &mut i32,
14185 w: &mut [f32],
14186 z: &mut [c32],
14187 ldz: i32,
14188 work: &mut [c32],
14189 lwork: i32,
14190 rwork: &mut [f32],
14191 iwork: &mut [i32],
14192 ifail: &mut [i32],
14193 info: &mut i32,
14194) {
14195 ffi::cheevx_(
14196 &(jobz as c_char),
14197 &(range as c_char),
14198 &(uplo as c_char),
14199 &n,
14200 a.as_mut_ptr() as *mut _,
14201 &lda,
14202 &vl,
14203 &vu,
14204 &il,
14205 &iu,
14206 &abstol,
14207 m,
14208 w.as_mut_ptr(),
14209 z.as_mut_ptr() as *mut _,
14210 &ldz,
14211 work.as_mut_ptr() as *mut _,
14212 &lwork,
14213 rwork.as_mut_ptr(),
14214 iwork.as_mut_ptr(),
14215 ifail.as_mut_ptr(),
14216 info,
14217 )
14218}
14219
14220#[inline]
14221pub unsafe fn zheevx(
14222 jobz: u8,
14223 range: u8,
14224 uplo: u8,
14225 n: i32,
14226 a: &mut [c64],
14227 lda: i32,
14228 vl: f64,
14229 vu: f64,
14230 il: i32,
14231 iu: i32,
14232 abstol: f64,
14233 m: &mut i32,
14234 w: &mut [f64],
14235 z: &mut [c64],
14236 ldz: i32,
14237 work: &mut [c64],
14238 lwork: i32,
14239 rwork: &mut [f64],
14240 iwork: &mut [i32],
14241 ifail: &mut [i32],
14242 info: &mut i32,
14243) {
14244 ffi::zheevx_(
14245 &(jobz as c_char),
14246 &(range as c_char),
14247 &(uplo as c_char),
14248 &n,
14249 a.as_mut_ptr() as *mut _,
14250 &lda,
14251 &vl,
14252 &vu,
14253 &il,
14254 &iu,
14255 &abstol,
14256 m,
14257 w.as_mut_ptr(),
14258 z.as_mut_ptr() as *mut _,
14259 &ldz,
14260 work.as_mut_ptr() as *mut _,
14261 &lwork,
14262 rwork.as_mut_ptr(),
14263 iwork.as_mut_ptr(),
14264 ifail.as_mut_ptr(),
14265 info,
14266 )
14267}
14268
14269#[inline]
14270pub unsafe fn cheevx_2stage(
14271 jobz: u8,
14272 range: u8,
14273 uplo: u8,
14274 n: i32,
14275 a: &mut [c32],
14276 lda: i32,
14277 vl: f32,
14278 vu: f32,
14279 il: i32,
14280 iu: i32,
14281 abstol: f32,
14282 m: &mut i32,
14283 w: &mut [f32],
14284 z: &mut [c32],
14285 ldz: i32,
14286 work: &mut [c32],
14287 lwork: i32,
14288 rwork: &mut [f32],
14289 iwork: &mut [i32],
14290 ifail: &mut [i32],
14291 info: &mut i32,
14292) {
14293 ffi::cheevx_2stage_(
14294 &(jobz as c_char),
14295 &(range as c_char),
14296 &(uplo as c_char),
14297 &n,
14298 a.as_mut_ptr() as *mut _,
14299 &lda,
14300 &vl,
14301 &vu,
14302 &il,
14303 &iu,
14304 &abstol,
14305 m,
14306 w.as_mut_ptr(),
14307 z.as_mut_ptr() as *mut _,
14308 &ldz,
14309 work.as_mut_ptr() as *mut _,
14310 &lwork,
14311 rwork.as_mut_ptr(),
14312 iwork.as_mut_ptr(),
14313 ifail.as_mut_ptr(),
14314 info,
14315 )
14316}
14317
14318#[inline]
14319pub unsafe fn zheevx_2stage(
14320 jobz: u8,
14321 range: u8,
14322 uplo: u8,
14323 n: i32,
14324 a: &mut [c64],
14325 lda: i32,
14326 vl: f64,
14327 vu: f64,
14328 il: i32,
14329 iu: i32,
14330 abstol: f64,
14331 m: &mut i32,
14332 w: &mut [f64],
14333 z: &mut [c64],
14334 ldz: i32,
14335 work: &mut [c64],
14336 lwork: i32,
14337 rwork: &mut [f64],
14338 iwork: &mut [i32],
14339 ifail: &mut [i32],
14340 info: &mut i32,
14341) {
14342 ffi::zheevx_2stage_(
14343 &(jobz as c_char),
14344 &(range as c_char),
14345 &(uplo as c_char),
14346 &n,
14347 a.as_mut_ptr() as *mut _,
14348 &lda,
14349 &vl,
14350 &vu,
14351 &il,
14352 &iu,
14353 &abstol,
14354 m,
14355 w.as_mut_ptr(),
14356 z.as_mut_ptr() as *mut _,
14357 &ldz,
14358 work.as_mut_ptr() as *mut _,
14359 &lwork,
14360 rwork.as_mut_ptr(),
14361 iwork.as_mut_ptr(),
14362 ifail.as_mut_ptr(),
14363 info,
14364 )
14365}
14366
14367#[inline]
14368pub unsafe fn chegst(
14369 itype: &[i32],
14370 uplo: u8,
14371 n: i32,
14372 a: &mut [c32],
14373 lda: i32,
14374 b: &mut [c32],
14375 ldb: i32,
14376 info: &mut i32,
14377) {
14378 ffi::chegst_(
14379 itype.as_ptr(),
14380 &(uplo as c_char),
14381 &n,
14382 a.as_mut_ptr() as *mut _,
14383 &lda,
14384 b.as_mut_ptr() as *mut _,
14385 &ldb,
14386 info,
14387 )
14388}
14389
14390#[inline]
14391pub unsafe fn zhegst(
14392 itype: &[i32],
14393 uplo: u8,
14394 n: i32,
14395 a: &mut [c64],
14396 lda: i32,
14397 b: &mut [c64],
14398 ldb: i32,
14399 info: &mut i32,
14400) {
14401 ffi::zhegst_(
14402 itype.as_ptr(),
14403 &(uplo as c_char),
14404 &n,
14405 a.as_mut_ptr() as *mut _,
14406 &lda,
14407 b.as_mut_ptr() as *mut _,
14408 &ldb,
14409 info,
14410 )
14411}
14412
14413#[inline]
14414pub unsafe fn chegv(
14415 itype: &[i32],
14416 jobz: u8,
14417 uplo: u8,
14418 n: i32,
14419 a: &mut [c32],
14420 lda: i32,
14421 b: &mut [c32],
14422 ldb: i32,
14423 w: &mut [f32],
14424 work: &mut [c32],
14425 lwork: i32,
14426 rwork: &mut [f32],
14427 info: &mut i32,
14428) {
14429 ffi::chegv_(
14430 itype.as_ptr(),
14431 &(jobz as c_char),
14432 &(uplo as c_char),
14433 &n,
14434 a.as_mut_ptr() as *mut _,
14435 &lda,
14436 b.as_mut_ptr() as *mut _,
14437 &ldb,
14438 w.as_mut_ptr(),
14439 work.as_mut_ptr() as *mut _,
14440 &lwork,
14441 rwork.as_mut_ptr(),
14442 info,
14443 )
14444}
14445
14446#[inline]
14447pub unsafe fn zhegv(
14448 itype: &[i32],
14449 jobz: u8,
14450 uplo: u8,
14451 n: i32,
14452 a: &mut [c64],
14453 lda: i32,
14454 b: &mut [c64],
14455 ldb: i32,
14456 w: &mut [f64],
14457 work: &mut [c64],
14458 lwork: i32,
14459 rwork: &mut [f64],
14460 info: &mut i32,
14461) {
14462 ffi::zhegv_(
14463 itype.as_ptr(),
14464 &(jobz as c_char),
14465 &(uplo as c_char),
14466 &n,
14467 a.as_mut_ptr() as *mut _,
14468 &lda,
14469 b.as_mut_ptr() as *mut _,
14470 &ldb,
14471 w.as_mut_ptr(),
14472 work.as_mut_ptr() as *mut _,
14473 &lwork,
14474 rwork.as_mut_ptr(),
14475 info,
14476 )
14477}
14478
14479#[inline]
14480pub unsafe fn chegv_2stage(
14481 itype: &[i32],
14482 jobz: u8,
14483 uplo: u8,
14484 n: i32,
14485 a: &mut [c32],
14486 lda: i32,
14487 b: &mut [c32],
14488 ldb: i32,
14489 w: &mut [f32],
14490 work: &mut [c32],
14491 lwork: i32,
14492 rwork: &mut [f32],
14493 info: &mut i32,
14494) {
14495 ffi::chegv_2stage_(
14496 itype.as_ptr(),
14497 &(jobz as c_char),
14498 &(uplo as c_char),
14499 &n,
14500 a.as_mut_ptr() as *mut _,
14501 &lda,
14502 b.as_mut_ptr() as *mut _,
14503 &ldb,
14504 w.as_mut_ptr(),
14505 work.as_mut_ptr() as *mut _,
14506 &lwork,
14507 rwork.as_mut_ptr(),
14508 info,
14509 )
14510}
14511
14512#[inline]
14513pub unsafe fn zhegv_2stage(
14514 itype: &[i32],
14515 jobz: u8,
14516 uplo: u8,
14517 n: i32,
14518 a: &mut [c64],
14519 lda: i32,
14520 b: &mut [c64],
14521 ldb: i32,
14522 w: &mut [f64],
14523 work: &mut [c64],
14524 lwork: i32,
14525 rwork: &mut [f64],
14526 info: &mut i32,
14527) {
14528 ffi::zhegv_2stage_(
14529 itype.as_ptr(),
14530 &(jobz as c_char),
14531 &(uplo as c_char),
14532 &n,
14533 a.as_mut_ptr() as *mut _,
14534 &lda,
14535 b.as_mut_ptr() as *mut _,
14536 &ldb,
14537 w.as_mut_ptr(),
14538 work.as_mut_ptr() as *mut _,
14539 &lwork,
14540 rwork.as_mut_ptr(),
14541 info,
14542 )
14543}
14544
14545#[inline]
14546pub unsafe fn chegvd(
14547 itype: &[i32],
14548 jobz: u8,
14549 uplo: u8,
14550 n: i32,
14551 a: &mut [c32],
14552 lda: i32,
14553 b: &mut [c32],
14554 ldb: i32,
14555 w: &mut [f32],
14556 work: &mut [c32],
14557 lwork: i32,
14558 rwork: &mut [f32],
14559 lrwork: i32,
14560 iwork: &mut [i32],
14561 liwork: i32,
14562 info: &mut i32,
14563) {
14564 ffi::chegvd_(
14565 itype.as_ptr(),
14566 &(jobz as c_char),
14567 &(uplo as c_char),
14568 &n,
14569 a.as_mut_ptr() as *mut _,
14570 &lda,
14571 b.as_mut_ptr() as *mut _,
14572 &ldb,
14573 w.as_mut_ptr(),
14574 work.as_mut_ptr() as *mut _,
14575 &lwork,
14576 rwork.as_mut_ptr(),
14577 &lrwork,
14578 iwork.as_mut_ptr(),
14579 &liwork,
14580 info,
14581 )
14582}
14583
14584#[inline]
14585pub unsafe fn zhegvd(
14586 itype: &[i32],
14587 jobz: u8,
14588 uplo: u8,
14589 n: i32,
14590 a: &mut [c64],
14591 lda: i32,
14592 b: &mut [c64],
14593 ldb: i32,
14594 w: &mut [f64],
14595 work: &mut [c64],
14596 lwork: i32,
14597 rwork: &mut [f64],
14598 lrwork: i32,
14599 iwork: &mut [i32],
14600 liwork: i32,
14601 info: &mut i32,
14602) {
14603 ffi::zhegvd_(
14604 itype.as_ptr(),
14605 &(jobz as c_char),
14606 &(uplo as c_char),
14607 &n,
14608 a.as_mut_ptr() as *mut _,
14609 &lda,
14610 b.as_mut_ptr() as *mut _,
14611 &ldb,
14612 w.as_mut_ptr(),
14613 work.as_mut_ptr() as *mut _,
14614 &lwork,
14615 rwork.as_mut_ptr(),
14616 &lrwork,
14617 iwork.as_mut_ptr(),
14618 &liwork,
14619 info,
14620 )
14621}
14622
14623#[inline]
14624pub unsafe fn chegvx(
14625 itype: &[i32],
14626 jobz: u8,
14627 range: u8,
14628 uplo: u8,
14629 n: i32,
14630 a: &mut [c32],
14631 lda: i32,
14632 b: &mut [c32],
14633 ldb: i32,
14634 vl: f32,
14635 vu: f32,
14636 il: i32,
14637 iu: i32,
14638 abstol: f32,
14639 m: &mut i32,
14640 w: &mut [f32],
14641 z: &mut [c32],
14642 ldz: i32,
14643 work: &mut [c32],
14644 lwork: i32,
14645 rwork: &mut [f32],
14646 iwork: &mut [i32],
14647 ifail: &mut [i32],
14648 info: &mut i32,
14649) {
14650 ffi::chegvx_(
14651 itype.as_ptr(),
14652 &(jobz as c_char),
14653 &(range as c_char),
14654 &(uplo as c_char),
14655 &n,
14656 a.as_mut_ptr() as *mut _,
14657 &lda,
14658 b.as_mut_ptr() as *mut _,
14659 &ldb,
14660 &vl,
14661 &vu,
14662 &il,
14663 &iu,
14664 &abstol,
14665 m,
14666 w.as_mut_ptr(),
14667 z.as_mut_ptr() as *mut _,
14668 &ldz,
14669 work.as_mut_ptr() as *mut _,
14670 &lwork,
14671 rwork.as_mut_ptr(),
14672 iwork.as_mut_ptr(),
14673 ifail.as_mut_ptr(),
14674 info,
14675 )
14676}
14677
14678#[inline]
14679pub unsafe fn zhegvx(
14680 itype: &[i32],
14681 jobz: u8,
14682 range: u8,
14683 uplo: u8,
14684 n: i32,
14685 a: &mut [c64],
14686 lda: i32,
14687 b: &mut [c64],
14688 ldb: i32,
14689 vl: f64,
14690 vu: f64,
14691 il: i32,
14692 iu: i32,
14693 abstol: f64,
14694 m: &mut i32,
14695 w: &mut [f64],
14696 z: &mut [c64],
14697 ldz: i32,
14698 work: &mut [c64],
14699 lwork: i32,
14700 rwork: &mut [f64],
14701 iwork: &mut [i32],
14702 ifail: &mut [i32],
14703 info: &mut i32,
14704) {
14705 ffi::zhegvx_(
14706 itype.as_ptr(),
14707 &(jobz as c_char),
14708 &(range as c_char),
14709 &(uplo as c_char),
14710 &n,
14711 a.as_mut_ptr() as *mut _,
14712 &lda,
14713 b.as_mut_ptr() as *mut _,
14714 &ldb,
14715 &vl,
14716 &vu,
14717 &il,
14718 &iu,
14719 &abstol,
14720 m,
14721 w.as_mut_ptr(),
14722 z.as_mut_ptr() as *mut _,
14723 &ldz,
14724 work.as_mut_ptr() as *mut _,
14725 &lwork,
14726 rwork.as_mut_ptr(),
14727 iwork.as_mut_ptr(),
14728 ifail.as_mut_ptr(),
14729 info,
14730 )
14731}
14732
14733#[inline]
14734pub unsafe fn cherfs(
14735 uplo: u8,
14736 n: i32,
14737 nrhs: i32,
14738 a: &[c32],
14739 lda: i32,
14740 af: &[c32],
14741 ldaf: i32,
14742 ipiv: &[i32],
14743 b: &[c32],
14744 ldb: i32,
14745 x: &mut [c32],
14746 ldx: i32,
14747 ferr: &mut [f32],
14748 berr: &mut [f32],
14749 work: &mut [c32],
14750 rwork: &mut [f32],
14751 info: &mut i32,
14752) {
14753 ffi::cherfs_(
14754 &(uplo as c_char),
14755 &n,
14756 &nrhs,
14757 a.as_ptr() as *const _,
14758 &lda,
14759 af.as_ptr() as *const _,
14760 &ldaf,
14761 ipiv.as_ptr(),
14762 b.as_ptr() as *const _,
14763 &ldb,
14764 x.as_mut_ptr() as *mut _,
14765 &ldx,
14766 ferr.as_mut_ptr(),
14767 berr.as_mut_ptr(),
14768 work.as_mut_ptr() as *mut _,
14769 rwork.as_mut_ptr(),
14770 info,
14771 )
14772}
14773
14774#[inline]
14775pub unsafe fn zherfs(
14776 uplo: u8,
14777 n: i32,
14778 nrhs: i32,
14779 a: &[c64],
14780 lda: i32,
14781 af: &[c64],
14782 ldaf: i32,
14783 ipiv: &[i32],
14784 b: &[c64],
14785 ldb: i32,
14786 x: &mut [c64],
14787 ldx: i32,
14788 ferr: &mut [f64],
14789 berr: &mut [f64],
14790 work: &mut [c64],
14791 rwork: &mut [f64],
14792 info: &mut i32,
14793) {
14794 ffi::zherfs_(
14795 &(uplo as c_char),
14796 &n,
14797 &nrhs,
14798 a.as_ptr() as *const _,
14799 &lda,
14800 af.as_ptr() as *const _,
14801 &ldaf,
14802 ipiv.as_ptr(),
14803 b.as_ptr() as *const _,
14804 &ldb,
14805 x.as_mut_ptr() as *mut _,
14806 &ldx,
14807 ferr.as_mut_ptr(),
14808 berr.as_mut_ptr(),
14809 work.as_mut_ptr() as *mut _,
14810 rwork.as_mut_ptr(),
14811 info,
14812 )
14813}
14814
14815#[inline]
14816pub unsafe fn cherfsx(
14817 uplo: u8,
14818 equed: u8,
14819 n: i32,
14820 nrhs: i32,
14821 a: &[c32],
14822 lda: i32,
14823 af: &[c32],
14824 ldaf: i32,
14825 ipiv: &[i32],
14826 s: &mut [f32],
14827 b: &[c32],
14828 ldb: i32,
14829 x: &mut [c32],
14830 ldx: i32,
14831 rcond: &mut f32,
14832 berr: &mut [f32],
14833 n_err_bnds: i32,
14834 err_bnds_norm: &mut [f32],
14835 err_bnds_comp: &mut [f32],
14836 nparams: &[i32],
14837 params: &mut [f32],
14838 work: &mut [c32],
14839 rwork: &mut [f32],
14840 info: &mut i32,
14841) {
14842 ffi::cherfsx_(
14843 &(uplo as c_char),
14844 &(equed as c_char),
14845 &n,
14846 &nrhs,
14847 a.as_ptr() as *const _,
14848 &lda,
14849 af.as_ptr() as *const _,
14850 &ldaf,
14851 ipiv.as_ptr(),
14852 s.as_mut_ptr(),
14853 b.as_ptr() as *const _,
14854 &ldb,
14855 x.as_mut_ptr() as *mut _,
14856 &ldx,
14857 rcond,
14858 berr.as_mut_ptr(),
14859 &n_err_bnds,
14860 err_bnds_norm.as_mut_ptr(),
14861 err_bnds_comp.as_mut_ptr(),
14862 nparams.as_ptr(),
14863 params.as_mut_ptr(),
14864 work.as_mut_ptr() as *mut _,
14865 rwork.as_mut_ptr(),
14866 info,
14867 )
14868}
14869
14870#[inline]
14871pub unsafe fn zherfsx(
14872 uplo: u8,
14873 equed: u8,
14874 n: i32,
14875 nrhs: i32,
14876 a: &[c64],
14877 lda: i32,
14878 af: &[c64],
14879 ldaf: i32,
14880 ipiv: &[i32],
14881 s: &mut [f64],
14882 b: &[c64],
14883 ldb: i32,
14884 x: &mut [c64],
14885 ldx: i32,
14886 rcond: &mut f64,
14887 berr: &mut [f64],
14888 n_err_bnds: i32,
14889 err_bnds_norm: &mut [f64],
14890 err_bnds_comp: &mut [f64],
14891 nparams: &[i32],
14892 params: &mut [f64],
14893 work: &mut [c64],
14894 rwork: &mut [f64],
14895 info: &mut i32,
14896) {
14897 ffi::zherfsx_(
14898 &(uplo as c_char),
14899 &(equed as c_char),
14900 &n,
14901 &nrhs,
14902 a.as_ptr() as *const _,
14903 &lda,
14904 af.as_ptr() as *const _,
14905 &ldaf,
14906 ipiv.as_ptr(),
14907 s.as_mut_ptr(),
14908 b.as_ptr() as *const _,
14909 &ldb,
14910 x.as_mut_ptr() as *mut _,
14911 &ldx,
14912 rcond,
14913 berr.as_mut_ptr(),
14914 &n_err_bnds,
14915 err_bnds_norm.as_mut_ptr(),
14916 err_bnds_comp.as_mut_ptr(),
14917 nparams.as_ptr(),
14918 params.as_mut_ptr(),
14919 work.as_mut_ptr() as *mut _,
14920 rwork.as_mut_ptr(),
14921 info,
14922 )
14923}
14924
14925#[inline]
14926pub unsafe fn chesv(
14927 uplo: u8,
14928 n: i32,
14929 nrhs: i32,
14930 a: &mut [c32],
14931 lda: i32,
14932 ipiv: &mut [i32],
14933 b: &mut [c32],
14934 ldb: i32,
14935 work: &mut [c32],
14936 lwork: i32,
14937 info: &mut i32,
14938) {
14939 ffi::chesv_(
14940 &(uplo as c_char),
14941 &n,
14942 &nrhs,
14943 a.as_mut_ptr() as *mut _,
14944 &lda,
14945 ipiv.as_mut_ptr(),
14946 b.as_mut_ptr() as *mut _,
14947 &ldb,
14948 work.as_mut_ptr() as *mut _,
14949 &lwork,
14950 info,
14951 )
14952}
14953
14954#[inline]
14955pub unsafe fn zhesv(
14956 uplo: u8,
14957 n: i32,
14958 nrhs: i32,
14959 a: &mut [c64],
14960 lda: i32,
14961 ipiv: &mut [i32],
14962 b: &mut [c64],
14963 ldb: i32,
14964 work: &mut [c64],
14965 lwork: i32,
14966 info: &mut i32,
14967) {
14968 ffi::zhesv_(
14969 &(uplo as c_char),
14970 &n,
14971 &nrhs,
14972 a.as_mut_ptr() as *mut _,
14973 &lda,
14974 ipiv.as_mut_ptr(),
14975 b.as_mut_ptr() as *mut _,
14976 &ldb,
14977 work.as_mut_ptr() as *mut _,
14978 &lwork,
14979 info,
14980 )
14981}
14982
14983#[inline]
14984pub unsafe fn chesv_aa(
14985 uplo: u8,
14986 n: i32,
14987 nrhs: i32,
14988 a: &mut [c32],
14989 lda: i32,
14990 ipiv: &mut [i32],
14991 b: &mut [c32],
14992 ldb: i32,
14993 work: &mut [c32],
14994 lwork: i32,
14995 info: &mut i32,
14996) {
14997 ffi::chesv_aa_(
14998 &(uplo as c_char),
14999 &n,
15000 &nrhs,
15001 a.as_mut_ptr() as *mut _,
15002 &lda,
15003 ipiv.as_mut_ptr(),
15004 b.as_mut_ptr() as *mut _,
15005 &ldb,
15006 work.as_mut_ptr() as *mut _,
15007 &lwork,
15008 info,
15009 )
15010}
15011
15012#[inline]
15013pub unsafe fn zhesv_aa(
15014 uplo: u8,
15015 n: i32,
15016 nrhs: i32,
15017 a: &mut [c64],
15018 lda: i32,
15019 ipiv: &mut [i32],
15020 b: &mut [c64],
15021 ldb: i32,
15022 work: &mut [c64],
15023 lwork: i32,
15024 info: &mut i32,
15025) {
15026 ffi::zhesv_aa_(
15027 &(uplo as c_char),
15028 &n,
15029 &nrhs,
15030 a.as_mut_ptr() as *mut _,
15031 &lda,
15032 ipiv.as_mut_ptr(),
15033 b.as_mut_ptr() as *mut _,
15034 &ldb,
15035 work.as_mut_ptr() as *mut _,
15036 &lwork,
15037 info,
15038 )
15039}
15040
15041#[inline]
15042pub unsafe fn chesv_aa_2stage(
15043 uplo: u8,
15044 n: i32,
15045 nrhs: i32,
15046 a: &mut [c32],
15047 lda: i32,
15048 tb: &mut [c32],
15049 ltb: &[i32],
15050 ipiv: &mut [i32],
15051 ipiv2: &mut [i32],
15052 b: &mut [c32],
15053 ldb: i32,
15054 work: &mut [c32],
15055 lwork: i32,
15056 info: &mut i32,
15057) {
15058 ffi::chesv_aa_2stage_(
15059 &(uplo as c_char),
15060 &n,
15061 &nrhs,
15062 a.as_mut_ptr() as *mut _,
15063 &lda,
15064 tb.as_mut_ptr() as *mut _,
15065 ltb.as_ptr(),
15066 ipiv.as_mut_ptr(),
15067 ipiv2.as_mut_ptr(),
15068 b.as_mut_ptr() as *mut _,
15069 &ldb,
15070 work.as_mut_ptr() as *mut _,
15071 &lwork,
15072 info,
15073 )
15074}
15075
15076#[inline]
15077pub unsafe fn zhesv_aa_2stage(
15078 uplo: u8,
15079 n: i32,
15080 nrhs: i32,
15081 a: &mut [c64],
15082 lda: i32,
15083 tb: &mut [c64],
15084 ltb: &[i32],
15085 ipiv: &mut [i32],
15086 ipiv2: &mut [i32],
15087 b: &mut [c64],
15088 ldb: i32,
15089 work: &mut [c64],
15090 lwork: i32,
15091 info: &mut i32,
15092) {
15093 ffi::zhesv_aa_2stage_(
15094 &(uplo as c_char),
15095 &n,
15096 &nrhs,
15097 a.as_mut_ptr() as *mut _,
15098 &lda,
15099 tb.as_mut_ptr() as *mut _,
15100 ltb.as_ptr(),
15101 ipiv.as_mut_ptr(),
15102 ipiv2.as_mut_ptr(),
15103 b.as_mut_ptr() as *mut _,
15104 &ldb,
15105 work.as_mut_ptr() as *mut _,
15106 &lwork,
15107 info,
15108 )
15109}
15110
15111#[inline]
15112pub unsafe fn chesv_rk(
15113 uplo: u8,
15114 n: i32,
15115 nrhs: i32,
15116 a: &mut [c32],
15117 lda: i32,
15118 e: &mut [c32],
15119 ipiv: &mut [i32],
15120 b: &mut [c32],
15121 ldb: i32,
15122 work: &mut [c32],
15123 lwork: i32,
15124 info: &mut i32,
15125) {
15126 ffi::chesv_rk_(
15127 &(uplo as c_char),
15128 &n,
15129 &nrhs,
15130 a.as_mut_ptr() as *mut _,
15131 &lda,
15132 e.as_mut_ptr() as *mut _,
15133 ipiv.as_mut_ptr(),
15134 b.as_mut_ptr() as *mut _,
15135 &ldb,
15136 work.as_mut_ptr() as *mut _,
15137 &lwork,
15138 info,
15139 )
15140}
15141
15142#[inline]
15143pub unsafe fn zhesv_rk(
15144 uplo: u8,
15145 n: i32,
15146 nrhs: i32,
15147 a: &mut [c64],
15148 lda: i32,
15149 e: &mut [c64],
15150 ipiv: &mut [i32],
15151 b: &mut [c64],
15152 ldb: i32,
15153 work: &mut [c64],
15154 lwork: i32,
15155 info: &mut i32,
15156) {
15157 ffi::zhesv_rk_(
15158 &(uplo as c_char),
15159 &n,
15160 &nrhs,
15161 a.as_mut_ptr() as *mut _,
15162 &lda,
15163 e.as_mut_ptr() as *mut _,
15164 ipiv.as_mut_ptr(),
15165 b.as_mut_ptr() as *mut _,
15166 &ldb,
15167 work.as_mut_ptr() as *mut _,
15168 &lwork,
15169 info,
15170 )
15171}
15172
15173#[inline]
15174pub unsafe fn chesv_rook(
15175 uplo: u8,
15176 n: i32,
15177 nrhs: i32,
15178 a: &mut [c32],
15179 lda: i32,
15180 ipiv: &mut [i32],
15181 b: &mut [c32],
15182 ldb: i32,
15183 work: &mut [c32],
15184 lwork: i32,
15185 info: &mut i32,
15186) {
15187 ffi::chesv_rook_(
15188 &(uplo as c_char),
15189 &n,
15190 &nrhs,
15191 a.as_mut_ptr() as *mut _,
15192 &lda,
15193 ipiv.as_mut_ptr(),
15194 b.as_mut_ptr() as *mut _,
15195 &ldb,
15196 work.as_mut_ptr() as *mut _,
15197 &lwork,
15198 info,
15199 )
15200}
15201
15202#[inline]
15203pub unsafe fn zhesv_rook(
15204 uplo: u8,
15205 n: i32,
15206 nrhs: i32,
15207 a: &mut [c64],
15208 lda: i32,
15209 ipiv: &mut [i32],
15210 b: &mut [c64],
15211 ldb: i32,
15212 work: &mut [c64],
15213 lwork: i32,
15214 info: &mut i32,
15215) {
15216 ffi::zhesv_rook_(
15217 &(uplo as c_char),
15218 &n,
15219 &nrhs,
15220 a.as_mut_ptr() as *mut _,
15221 &lda,
15222 ipiv.as_mut_ptr(),
15223 b.as_mut_ptr() as *mut _,
15224 &ldb,
15225 work.as_mut_ptr() as *mut _,
15226 &lwork,
15227 info,
15228 )
15229}
15230
15231#[inline]
15232pub unsafe fn chesvx(
15233 fact: u8,
15234 uplo: u8,
15235 n: i32,
15236 nrhs: i32,
15237 a: &[c32],
15238 lda: i32,
15239 af: &mut [c32],
15240 ldaf: i32,
15241 ipiv: &mut [i32],
15242 b: &[c32],
15243 ldb: i32,
15244 x: &mut [c32],
15245 ldx: i32,
15246 rcond: &mut f32,
15247 ferr: &mut [f32],
15248 berr: &mut [f32],
15249 work: &mut [c32],
15250 lwork: i32,
15251 rwork: &mut [f32],
15252 info: &mut i32,
15253) {
15254 ffi::chesvx_(
15255 &(fact as c_char),
15256 &(uplo as c_char),
15257 &n,
15258 &nrhs,
15259 a.as_ptr() as *const _,
15260 &lda,
15261 af.as_mut_ptr() as *mut _,
15262 &ldaf,
15263 ipiv.as_mut_ptr(),
15264 b.as_ptr() as *const _,
15265 &ldb,
15266 x.as_mut_ptr() as *mut _,
15267 &ldx,
15268 rcond,
15269 ferr.as_mut_ptr(),
15270 berr.as_mut_ptr(),
15271 work.as_mut_ptr() as *mut _,
15272 &lwork,
15273 rwork.as_mut_ptr(),
15274 info,
15275 )
15276}
15277
15278#[inline]
15279pub unsafe fn zhesvx(
15280 fact: u8,
15281 uplo: u8,
15282 n: i32,
15283 nrhs: i32,
15284 a: &[c64],
15285 lda: i32,
15286 af: &mut [c64],
15287 ldaf: i32,
15288 ipiv: &mut [i32],
15289 b: &[c64],
15290 ldb: i32,
15291 x: &mut [c64],
15292 ldx: i32,
15293 rcond: &mut f64,
15294 ferr: &mut [f64],
15295 berr: &mut [f64],
15296 work: &mut [c64],
15297 lwork: i32,
15298 rwork: &mut [f64],
15299 info: &mut i32,
15300) {
15301 ffi::zhesvx_(
15302 &(fact as c_char),
15303 &(uplo as c_char),
15304 &n,
15305 &nrhs,
15306 a.as_ptr() as *const _,
15307 &lda,
15308 af.as_mut_ptr() as *mut _,
15309 &ldaf,
15310 ipiv.as_mut_ptr(),
15311 b.as_ptr() as *const _,
15312 &ldb,
15313 x.as_mut_ptr() as *mut _,
15314 &ldx,
15315 rcond,
15316 ferr.as_mut_ptr(),
15317 berr.as_mut_ptr(),
15318 work.as_mut_ptr() as *mut _,
15319 &lwork,
15320 rwork.as_mut_ptr(),
15321 info,
15322 )
15323}
15324
15325#[inline]
15326pub unsafe fn chesvxx(
15327 fact: u8,
15328 uplo: u8,
15329 n: i32,
15330 nrhs: i32,
15331 a: &mut [c32],
15332 lda: i32,
15333 af: &mut [c32],
15334 ldaf: i32,
15335 ipiv: &mut [i32],
15336 equed: &mut u8,
15337 s: &mut [f32],
15338 b: &mut [c32],
15339 ldb: i32,
15340 x: &mut [c32],
15341 ldx: i32,
15342 rcond: &mut f32,
15343 rpvgrw: &mut f32,
15344 berr: &mut [f32],
15345 n_err_bnds: i32,
15346 err_bnds_norm: &mut [f32],
15347 err_bnds_comp: &mut [f32],
15348 nparams: &[i32],
15349 params: &mut [f32],
15350 work: &mut [c32],
15351 rwork: &mut [f32],
15352 info: &mut i32,
15353) {
15354 ffi::chesvxx_(
15355 &(fact as c_char),
15356 &(uplo as c_char),
15357 &n,
15358 &nrhs,
15359 a.as_mut_ptr() as *mut _,
15360 &lda,
15361 af.as_mut_ptr() as *mut _,
15362 &ldaf,
15363 ipiv.as_mut_ptr(),
15364 equed as *mut _ as *mut _,
15365 s.as_mut_ptr(),
15366 b.as_mut_ptr() as *mut _,
15367 &ldb,
15368 x.as_mut_ptr() as *mut _,
15369 &ldx,
15370 rcond,
15371 rpvgrw,
15372 berr.as_mut_ptr(),
15373 &n_err_bnds,
15374 err_bnds_norm.as_mut_ptr(),
15375 err_bnds_comp.as_mut_ptr(),
15376 nparams.as_ptr(),
15377 params.as_mut_ptr(),
15378 work.as_mut_ptr() as *mut _,
15379 rwork.as_mut_ptr(),
15380 info,
15381 )
15382}
15383
15384#[inline]
15385pub unsafe fn zhesvxx(
15386 fact: u8,
15387 uplo: u8,
15388 n: i32,
15389 nrhs: i32,
15390 a: &mut [c64],
15391 lda: i32,
15392 af: &mut [c64],
15393 ldaf: i32,
15394 ipiv: &mut [i32],
15395 equed: &mut u8,
15396 s: &mut [f64],
15397 b: &mut [c64],
15398 ldb: i32,
15399 x: &mut [c64],
15400 ldx: i32,
15401 rcond: &mut f64,
15402 rpvgrw: &mut f64,
15403 berr: &mut [f64],
15404 n_err_bnds: i32,
15405 err_bnds_norm: &mut [f64],
15406 err_bnds_comp: &mut [f64],
15407 nparams: &[i32],
15408 params: &mut [f64],
15409 work: &mut [c64],
15410 rwork: &mut [f64],
15411 info: &mut i32,
15412) {
15413 ffi::zhesvxx_(
15414 &(fact as c_char),
15415 &(uplo as c_char),
15416 &n,
15417 &nrhs,
15418 a.as_mut_ptr() as *mut _,
15419 &lda,
15420 af.as_mut_ptr() as *mut _,
15421 &ldaf,
15422 ipiv.as_mut_ptr(),
15423 equed as *mut _ as *mut _,
15424 s.as_mut_ptr(),
15425 b.as_mut_ptr() as *mut _,
15426 &ldb,
15427 x.as_mut_ptr() as *mut _,
15428 &ldx,
15429 rcond,
15430 rpvgrw,
15431 berr.as_mut_ptr(),
15432 &n_err_bnds,
15433 err_bnds_norm.as_mut_ptr(),
15434 err_bnds_comp.as_mut_ptr(),
15435 nparams.as_ptr(),
15436 params.as_mut_ptr(),
15437 work.as_mut_ptr() as *mut _,
15438 rwork.as_mut_ptr(),
15439 info,
15440 )
15441}
15442
15443#[inline]
15444pub unsafe fn cheswapr(uplo: u8, n: i32, a: &mut [c32], lda: i32, i1: &[i32], i2: &[i32]) {
15445 ffi::cheswapr_(
15446 &(uplo as c_char),
15447 &n,
15448 a.as_mut_ptr() as *mut _,
15449 &lda,
15450 i1.as_ptr(),
15451 i2.as_ptr(),
15452 )
15453}
15454
15455#[inline]
15456pub unsafe fn zheswapr(uplo: u8, n: i32, a: &mut [c64], lda: i32, i1: &[i32], i2: &[i32]) {
15457 ffi::zheswapr_(
15458 &(uplo as c_char),
15459 &n,
15460 a.as_mut_ptr() as *mut _,
15461 &lda,
15462 i1.as_ptr(),
15463 i2.as_ptr(),
15464 )
15465}
15466
15467#[inline]
15468pub unsafe fn chetrd(
15469 uplo: u8,
15470 n: i32,
15471 a: &mut [c32],
15472 lda: i32,
15473 d: &mut [f32],
15474 e: &mut [f32],
15475 tau: &mut [c32],
15476 work: &mut [c32],
15477 lwork: i32,
15478 info: &mut i32,
15479) {
15480 ffi::chetrd_(
15481 &(uplo as c_char),
15482 &n,
15483 a.as_mut_ptr() as *mut _,
15484 &lda,
15485 d.as_mut_ptr(),
15486 e.as_mut_ptr(),
15487 tau.as_mut_ptr() as *mut _,
15488 work.as_mut_ptr() as *mut _,
15489 &lwork,
15490 info,
15491 )
15492}
15493
15494#[inline]
15495pub unsafe fn zhetrd(
15496 uplo: u8,
15497 n: i32,
15498 a: &mut [c64],
15499 lda: i32,
15500 d: &mut [f64],
15501 e: &mut [f64],
15502 tau: &mut [c64],
15503 work: &mut [c64],
15504 lwork: i32,
15505 info: &mut i32,
15506) {
15507 ffi::zhetrd_(
15508 &(uplo as c_char),
15509 &n,
15510 a.as_mut_ptr() as *mut _,
15511 &lda,
15512 d.as_mut_ptr(),
15513 e.as_mut_ptr(),
15514 tau.as_mut_ptr() as *mut _,
15515 work.as_mut_ptr() as *mut _,
15516 &lwork,
15517 info,
15518 )
15519}
15520
15521#[inline]
15522pub unsafe fn chetrd_2stage(
15523 vect: u8,
15524 uplo: u8,
15525 n: i32,
15526 a: &mut [c32],
15527 lda: i32,
15528 d: &mut [f32],
15529 e: &mut [f32],
15530 tau: &mut [c32],
15531 hous2: &mut [c32],
15532 lhous2: &[i32],
15533 work: &mut [c32],
15534 lwork: i32,
15535 info: &mut i32,
15536) {
15537 ffi::chetrd_2stage_(
15538 &(vect as c_char),
15539 &(uplo as c_char),
15540 &n,
15541 a.as_mut_ptr() as *mut _,
15542 &lda,
15543 d.as_mut_ptr(),
15544 e.as_mut_ptr(),
15545 tau.as_mut_ptr() as *mut _,
15546 hous2.as_mut_ptr() as *mut _,
15547 lhous2.as_ptr(),
15548 work.as_mut_ptr() as *mut _,
15549 &lwork,
15550 info,
15551 )
15552}
15553
15554#[inline]
15555pub unsafe fn zhetrd_2stage(
15556 vect: u8,
15557 uplo: u8,
15558 n: i32,
15559 a: &mut [c64],
15560 lda: i32,
15561 d: &mut [f64],
15562 e: &mut [f64],
15563 tau: &mut [c64],
15564 hous2: &mut [c64],
15565 lhous2: &[i32],
15566 work: &mut [c64],
15567 lwork: i32,
15568 info: &mut i32,
15569) {
15570 ffi::zhetrd_2stage_(
15571 &(vect as c_char),
15572 &(uplo as c_char),
15573 &n,
15574 a.as_mut_ptr() as *mut _,
15575 &lda,
15576 d.as_mut_ptr(),
15577 e.as_mut_ptr(),
15578 tau.as_mut_ptr() as *mut _,
15579 hous2.as_mut_ptr() as *mut _,
15580 lhous2.as_ptr(),
15581 work.as_mut_ptr() as *mut _,
15582 &lwork,
15583 info,
15584 )
15585}
15586
15587#[inline]
15588pub unsafe fn chetrf(
15589 uplo: u8,
15590 n: i32,
15591 a: &mut [c32],
15592 lda: i32,
15593 ipiv: &mut [i32],
15594 work: &mut [c32],
15595 lwork: i32,
15596 info: &mut i32,
15597) {
15598 ffi::chetrf_(
15599 &(uplo as c_char),
15600 &n,
15601 a.as_mut_ptr() as *mut _,
15602 &lda,
15603 ipiv.as_mut_ptr(),
15604 work.as_mut_ptr() as *mut _,
15605 &lwork,
15606 info,
15607 )
15608}
15609
15610#[inline]
15611pub unsafe fn zhetrf(
15612 uplo: u8,
15613 n: i32,
15614 a: &mut [c64],
15615 lda: i32,
15616 ipiv: &mut [i32],
15617 work: &mut [c64],
15618 lwork: i32,
15619 info: &mut i32,
15620) {
15621 ffi::zhetrf_(
15622 &(uplo as c_char),
15623 &n,
15624 a.as_mut_ptr() as *mut _,
15625 &lda,
15626 ipiv.as_mut_ptr(),
15627 work.as_mut_ptr() as *mut _,
15628 &lwork,
15629 info,
15630 )
15631}
15632
15633#[inline]
15634pub unsafe fn chetrf_aa(
15635 uplo: u8,
15636 n: i32,
15637 a: &mut [c32],
15638 lda: i32,
15639 ipiv: &mut [i32],
15640 work: &mut [c32],
15641 lwork: i32,
15642 info: &mut i32,
15643) {
15644 ffi::chetrf_aa_(
15645 &(uplo as c_char),
15646 &n,
15647 a.as_mut_ptr() as *mut _,
15648 &lda,
15649 ipiv.as_mut_ptr(),
15650 work.as_mut_ptr() as *mut _,
15651 &lwork,
15652 info,
15653 )
15654}
15655
15656#[inline]
15657pub unsafe fn zhetrf_aa(
15658 uplo: u8,
15659 n: i32,
15660 a: &mut [c64],
15661 lda: i32,
15662 ipiv: &mut [i32],
15663 work: &mut [c64],
15664 lwork: i32,
15665 info: &mut i32,
15666) {
15667 ffi::zhetrf_aa_(
15668 &(uplo as c_char),
15669 &n,
15670 a.as_mut_ptr() as *mut _,
15671 &lda,
15672 ipiv.as_mut_ptr(),
15673 work.as_mut_ptr() as *mut _,
15674 &lwork,
15675 info,
15676 )
15677}
15678
15679#[inline]
15680pub unsafe fn chetrf_aa_2stage(
15681 uplo: u8,
15682 n: i32,
15683 a: &mut [c32],
15684 lda: i32,
15685 tb: &mut [c32],
15686 ltb: &[i32],
15687 ipiv: &mut [i32],
15688 ipiv2: &mut [i32],
15689 work: &mut [c32],
15690 lwork: i32,
15691 info: &mut i32,
15692) {
15693 ffi::chetrf_aa_2stage_(
15694 &(uplo as c_char),
15695 &n,
15696 a.as_mut_ptr() as *mut _,
15697 &lda,
15698 tb.as_mut_ptr() as *mut _,
15699 ltb.as_ptr(),
15700 ipiv.as_mut_ptr(),
15701 ipiv2.as_mut_ptr(),
15702 work.as_mut_ptr() as *mut _,
15703 &lwork,
15704 info,
15705 )
15706}
15707
15708#[inline]
15709pub unsafe fn zhetrf_aa_2stage(
15710 uplo: u8,
15711 n: i32,
15712 a: &mut [c64],
15713 lda: i32,
15714 tb: &mut [c64],
15715 ltb: &[i32],
15716 ipiv: &mut [i32],
15717 ipiv2: &mut [i32],
15718 work: &mut [c64],
15719 lwork: i32,
15720 info: &mut i32,
15721) {
15722 ffi::zhetrf_aa_2stage_(
15723 &(uplo as c_char),
15724 &n,
15725 a.as_mut_ptr() as *mut _,
15726 &lda,
15727 tb.as_mut_ptr() as *mut _,
15728 ltb.as_ptr(),
15729 ipiv.as_mut_ptr(),
15730 ipiv2.as_mut_ptr(),
15731 work.as_mut_ptr() as *mut _,
15732 &lwork,
15733 info,
15734 )
15735}
15736
15737#[inline]
15738pub unsafe fn chetrf_rk(
15739 uplo: u8,
15740 n: i32,
15741 a: &mut [c32],
15742 lda: i32,
15743 e: &mut [c32],
15744 ipiv: &mut [i32],
15745 work: &mut [c32],
15746 lwork: i32,
15747 info: &mut i32,
15748) {
15749 ffi::chetrf_rk_(
15750 &(uplo as c_char),
15751 &n,
15752 a.as_mut_ptr() as *mut _,
15753 &lda,
15754 e.as_mut_ptr() as *mut _,
15755 ipiv.as_mut_ptr(),
15756 work.as_mut_ptr() as *mut _,
15757 &lwork,
15758 info,
15759 )
15760}
15761
15762#[inline]
15763pub unsafe fn zhetrf_rk(
15764 uplo: u8,
15765 n: i32,
15766 a: &mut [c64],
15767 lda: i32,
15768 e: &mut [c64],
15769 ipiv: &mut [i32],
15770 work: &mut [c64],
15771 lwork: i32,
15772 info: &mut i32,
15773) {
15774 ffi::zhetrf_rk_(
15775 &(uplo as c_char),
15776 &n,
15777 a.as_mut_ptr() as *mut _,
15778 &lda,
15779 e.as_mut_ptr() as *mut _,
15780 ipiv.as_mut_ptr(),
15781 work.as_mut_ptr() as *mut _,
15782 &lwork,
15783 info,
15784 )
15785}
15786
15787#[inline]
15788pub unsafe fn chetrf_rook(
15789 uplo: u8,
15790 n: i32,
15791 a: &mut [c32],
15792 lda: i32,
15793 ipiv: &mut [i32],
15794 work: &mut [c32],
15795 lwork: i32,
15796 info: &mut i32,
15797) {
15798 ffi::chetrf_rook_(
15799 &(uplo as c_char),
15800 &n,
15801 a.as_mut_ptr() as *mut _,
15802 &lda,
15803 ipiv.as_mut_ptr(),
15804 work.as_mut_ptr() as *mut _,
15805 &lwork,
15806 info,
15807 )
15808}
15809
15810#[inline]
15811pub unsafe fn zhetrf_rook(
15812 uplo: u8,
15813 n: i32,
15814 a: &mut [c64],
15815 lda: i32,
15816 ipiv: &mut [i32],
15817 work: &mut [c64],
15818 lwork: i32,
15819 info: &mut i32,
15820) {
15821 ffi::zhetrf_rook_(
15822 &(uplo as c_char),
15823 &n,
15824 a.as_mut_ptr() as *mut _,
15825 &lda,
15826 ipiv.as_mut_ptr(),
15827 work.as_mut_ptr() as *mut _,
15828 &lwork,
15829 info,
15830 )
15831}
15832
15833#[inline]
15834pub unsafe fn chetri(
15835 uplo: u8,
15836 n: i32,
15837 a: &mut [c32],
15838 lda: i32,
15839 ipiv: &[i32],
15840 work: &mut [c32],
15841 info: &mut i32,
15842) {
15843 ffi::chetri_(
15844 &(uplo as c_char),
15845 &n,
15846 a.as_mut_ptr() as *mut _,
15847 &lda,
15848 ipiv.as_ptr(),
15849 work.as_mut_ptr() as *mut _,
15850 info,
15851 )
15852}
15853
15854#[inline]
15855pub unsafe fn zhetri(
15856 uplo: u8,
15857 n: i32,
15858 a: &mut [c64],
15859 lda: i32,
15860 ipiv: &[i32],
15861 work: &mut [c64],
15862 info: &mut i32,
15863) {
15864 ffi::zhetri_(
15865 &(uplo as c_char),
15866 &n,
15867 a.as_mut_ptr() as *mut _,
15868 &lda,
15869 ipiv.as_ptr(),
15870 work.as_mut_ptr() as *mut _,
15871 info,
15872 )
15873}
15874
15875#[inline]
15876pub unsafe fn chetri2(
15877 uplo: u8,
15878 n: i32,
15879 a: &mut [c32],
15880 lda: i32,
15881 ipiv: &[i32],
15882 work: &mut [c32],
15883 lwork: i32,
15884 info: &mut i32,
15885) {
15886 ffi::chetri2_(
15887 &(uplo as c_char),
15888 &n,
15889 a.as_mut_ptr() as *mut _,
15890 &lda,
15891 ipiv.as_ptr(),
15892 work.as_mut_ptr() as *mut _,
15893 &lwork,
15894 info,
15895 )
15896}
15897
15898#[inline]
15899pub unsafe fn zhetri2(
15900 uplo: u8,
15901 n: i32,
15902 a: &mut [c64],
15903 lda: i32,
15904 ipiv: &[i32],
15905 work: &mut [c64],
15906 lwork: i32,
15907 info: &mut i32,
15908) {
15909 ffi::zhetri2_(
15910 &(uplo as c_char),
15911 &n,
15912 a.as_mut_ptr() as *mut _,
15913 &lda,
15914 ipiv.as_ptr(),
15915 work.as_mut_ptr() as *mut _,
15916 &lwork,
15917 info,
15918 )
15919}
15920
15921#[inline]
15922pub unsafe fn chetri2x(
15923 uplo: u8,
15924 n: i32,
15925 a: &mut [c32],
15926 lda: i32,
15927 ipiv: &[i32],
15928 work: &mut [c32],
15929 nb: i32,
15930 info: &mut i32,
15931) {
15932 ffi::chetri2x_(
15933 &(uplo as c_char),
15934 &n,
15935 a.as_mut_ptr() as *mut _,
15936 &lda,
15937 ipiv.as_ptr(),
15938 work.as_mut_ptr() as *mut _,
15939 &nb,
15940 info,
15941 )
15942}
15943
15944#[inline]
15945pub unsafe fn zhetri2x(
15946 uplo: u8,
15947 n: i32,
15948 a: &mut [c64],
15949 lda: i32,
15950 ipiv: &[i32],
15951 work: &mut [c64],
15952 nb: i32,
15953 info: &mut i32,
15954) {
15955 ffi::zhetri2x_(
15956 &(uplo as c_char),
15957 &n,
15958 a.as_mut_ptr() as *mut _,
15959 &lda,
15960 ipiv.as_ptr(),
15961 work.as_mut_ptr() as *mut _,
15962 &nb,
15963 info,
15964 )
15965}
15966
15967#[inline]
15968pub unsafe fn chetri_3(
15969 uplo: u8,
15970 n: i32,
15971 a: &mut [c32],
15972 lda: i32,
15973 e: &[c32],
15974 ipiv: &[i32],
15975 work: &mut [c32],
15976 lwork: i32,
15977 info: &mut i32,
15978) {
15979 ffi::chetri_3_(
15980 &(uplo as c_char),
15981 &n,
15982 a.as_mut_ptr() as *mut _,
15983 &lda,
15984 e.as_ptr() as *const _,
15985 ipiv.as_ptr(),
15986 work.as_mut_ptr() as *mut _,
15987 &lwork,
15988 info,
15989 )
15990}
15991
15992#[inline]
15993pub unsafe fn zhetri_3(
15994 uplo: u8,
15995 n: i32,
15996 a: &mut [c64],
15997 lda: i32,
15998 e: &[c64],
15999 ipiv: &[i32],
16000 work: &mut [c64],
16001 lwork: i32,
16002 info: &mut i32,
16003) {
16004 ffi::zhetri_3_(
16005 &(uplo as c_char),
16006 &n,
16007 a.as_mut_ptr() as *mut _,
16008 &lda,
16009 e.as_ptr() as *const _,
16010 ipiv.as_ptr(),
16011 work.as_mut_ptr() as *mut _,
16012 &lwork,
16013 info,
16014 )
16015}
16016
16017#[inline]
16018pub unsafe fn chetrs(
16019 uplo: u8,
16020 n: i32,
16021 nrhs: i32,
16022 a: &[c32],
16023 lda: i32,
16024 ipiv: &[i32],
16025 b: &mut [c32],
16026 ldb: i32,
16027 info: &mut i32,
16028) {
16029 ffi::chetrs_(
16030 &(uplo as c_char),
16031 &n,
16032 &nrhs,
16033 a.as_ptr() as *const _,
16034 &lda,
16035 ipiv.as_ptr(),
16036 b.as_mut_ptr() as *mut _,
16037 &ldb,
16038 info,
16039 )
16040}
16041
16042#[inline]
16043pub unsafe fn zhetrs(
16044 uplo: u8,
16045 n: i32,
16046 nrhs: i32,
16047 a: &[c64],
16048 lda: i32,
16049 ipiv: &[i32],
16050 b: &mut [c64],
16051 ldb: i32,
16052 info: &mut i32,
16053) {
16054 ffi::zhetrs_(
16055 &(uplo as c_char),
16056 &n,
16057 &nrhs,
16058 a.as_ptr() as *const _,
16059 &lda,
16060 ipiv.as_ptr(),
16061 b.as_mut_ptr() as *mut _,
16062 &ldb,
16063 info,
16064 )
16065}
16066
16067#[inline]
16068pub unsafe fn chetrs2(
16069 uplo: u8,
16070 n: i32,
16071 nrhs: i32,
16072 a: &[c32],
16073 lda: i32,
16074 ipiv: &[i32],
16075 b: &mut [c32],
16076 ldb: i32,
16077 work: &mut [c32],
16078 info: &mut i32,
16079) {
16080 ffi::chetrs2_(
16081 &(uplo as c_char),
16082 &n,
16083 &nrhs,
16084 a.as_ptr() as *const _,
16085 &lda,
16086 ipiv.as_ptr(),
16087 b.as_mut_ptr() as *mut _,
16088 &ldb,
16089 work.as_mut_ptr() as *mut _,
16090 info,
16091 )
16092}
16093
16094#[inline]
16095pub unsafe fn zhetrs2(
16096 uplo: u8,
16097 n: i32,
16098 nrhs: i32,
16099 a: &[c64],
16100 lda: i32,
16101 ipiv: &[i32],
16102 b: &mut [c64],
16103 ldb: i32,
16104 work: &mut [c64],
16105 info: &mut i32,
16106) {
16107 ffi::zhetrs2_(
16108 &(uplo as c_char),
16109 &n,
16110 &nrhs,
16111 a.as_ptr() as *const _,
16112 &lda,
16113 ipiv.as_ptr(),
16114 b.as_mut_ptr() as *mut _,
16115 &ldb,
16116 work.as_mut_ptr() as *mut _,
16117 info,
16118 )
16119}
16120
16121#[inline]
16122pub unsafe fn chetrs_3(
16123 uplo: u8,
16124 n: i32,
16125 nrhs: i32,
16126 a: &[c32],
16127 lda: i32,
16128 e: &[c32],
16129 ipiv: &[i32],
16130 b: &mut [c32],
16131 ldb: i32,
16132 info: &mut i32,
16133) {
16134 ffi::chetrs_3_(
16135 &(uplo as c_char),
16136 &n,
16137 &nrhs,
16138 a.as_ptr() as *const _,
16139 &lda,
16140 e.as_ptr() as *const _,
16141 ipiv.as_ptr(),
16142 b.as_mut_ptr() as *mut _,
16143 &ldb,
16144 info,
16145 )
16146}
16147
16148#[inline]
16149pub unsafe fn zhetrs_3(
16150 uplo: u8,
16151 n: i32,
16152 nrhs: i32,
16153 a: &[c64],
16154 lda: i32,
16155 e: &[c64],
16156 ipiv: &[i32],
16157 b: &mut [c64],
16158 ldb: i32,
16159 info: &mut i32,
16160) {
16161 ffi::zhetrs_3_(
16162 &(uplo as c_char),
16163 &n,
16164 &nrhs,
16165 a.as_ptr() as *const _,
16166 &lda,
16167 e.as_ptr() as *const _,
16168 ipiv.as_ptr(),
16169 b.as_mut_ptr() as *mut _,
16170 &ldb,
16171 info,
16172 )
16173}
16174
16175#[inline]
16176pub unsafe fn chetrs_aa(
16177 uplo: u8,
16178 n: i32,
16179 nrhs: i32,
16180 a: &[c32],
16181 lda: i32,
16182 ipiv: &[i32],
16183 b: &mut [c32],
16184 ldb: i32,
16185 work: &mut [c32],
16186 lwork: i32,
16187 info: &mut i32,
16188) {
16189 ffi::chetrs_aa_(
16190 &(uplo as c_char),
16191 &n,
16192 &nrhs,
16193 a.as_ptr() as *const _,
16194 &lda,
16195 ipiv.as_ptr(),
16196 b.as_mut_ptr() as *mut _,
16197 &ldb,
16198 work.as_mut_ptr() as *mut _,
16199 &lwork,
16200 info,
16201 )
16202}
16203
16204#[inline]
16205pub unsafe fn zhetrs_aa(
16206 uplo: u8,
16207 n: i32,
16208 nrhs: i32,
16209 a: &[c64],
16210 lda: i32,
16211 ipiv: &[i32],
16212 b: &mut [c64],
16213 ldb: i32,
16214 work: &mut [c64],
16215 lwork: i32,
16216 info: &mut i32,
16217) {
16218 ffi::zhetrs_aa_(
16219 &(uplo as c_char),
16220 &n,
16221 &nrhs,
16222 a.as_ptr() as *const _,
16223 &lda,
16224 ipiv.as_ptr(),
16225 b.as_mut_ptr() as *mut _,
16226 &ldb,
16227 work.as_mut_ptr() as *mut _,
16228 &lwork,
16229 info,
16230 )
16231}
16232
16233#[inline]
16234pub unsafe fn chetrs_aa_2stage(
16235 uplo: u8,
16236 n: i32,
16237 nrhs: i32,
16238 a: &[c32],
16239 lda: i32,
16240 tb: &mut [c32],
16241 ltb: &[i32],
16242 ipiv: &[i32],
16243 ipiv2: &[i32],
16244 b: &mut [c32],
16245 ldb: i32,
16246 info: &mut i32,
16247) {
16248 ffi::chetrs_aa_2stage_(
16249 &(uplo as c_char),
16250 &n,
16251 &nrhs,
16252 a.as_ptr() as *const _,
16253 &lda,
16254 tb.as_mut_ptr() as *mut _,
16255 ltb.as_ptr(),
16256 ipiv.as_ptr(),
16257 ipiv2.as_ptr(),
16258 b.as_mut_ptr() as *mut _,
16259 &ldb,
16260 info,
16261 )
16262}
16263
16264#[inline]
16265pub unsafe fn zhetrs_aa_2stage(
16266 uplo: u8,
16267 n: i32,
16268 nrhs: i32,
16269 a: &[c64],
16270 lda: i32,
16271 tb: &mut [c64],
16272 ltb: &[i32],
16273 ipiv: &[i32],
16274 ipiv2: &[i32],
16275 b: &mut [c64],
16276 ldb: i32,
16277 info: &mut i32,
16278) {
16279 ffi::zhetrs_aa_2stage_(
16280 &(uplo as c_char),
16281 &n,
16282 &nrhs,
16283 a.as_ptr() as *const _,
16284 &lda,
16285 tb.as_mut_ptr() as *mut _,
16286 ltb.as_ptr(),
16287 ipiv.as_ptr(),
16288 ipiv2.as_ptr(),
16289 b.as_mut_ptr() as *mut _,
16290 &ldb,
16291 info,
16292 )
16293}
16294
16295#[inline]
16296pub unsafe fn chetrs_rook(
16297 uplo: u8,
16298 n: i32,
16299 nrhs: i32,
16300 a: &[c32],
16301 lda: i32,
16302 ipiv: &[i32],
16303 b: &mut [c32],
16304 ldb: i32,
16305 info: &mut i32,
16306) {
16307 ffi::chetrs_rook_(
16308 &(uplo as c_char),
16309 &n,
16310 &nrhs,
16311 a.as_ptr() as *const _,
16312 &lda,
16313 ipiv.as_ptr(),
16314 b.as_mut_ptr() as *mut _,
16315 &ldb,
16316 info,
16317 )
16318}
16319
16320#[inline]
16321pub unsafe fn zhetrs_rook(
16322 uplo: u8,
16323 n: i32,
16324 nrhs: i32,
16325 a: &[c64],
16326 lda: i32,
16327 ipiv: &[i32],
16328 b: &mut [c64],
16329 ldb: i32,
16330 info: &mut i32,
16331) {
16332 ffi::zhetrs_rook_(
16333 &(uplo as c_char),
16334 &n,
16335 &nrhs,
16336 a.as_ptr() as *const _,
16337 &lda,
16338 ipiv.as_ptr(),
16339 b.as_mut_ptr() as *mut _,
16340 &ldb,
16341 info,
16342 )
16343}
16344
16345#[inline]
16346pub unsafe fn chfrk(
16347 transr: u8,
16348 uplo: u8,
16349 trans: u8,
16350 n: i32,
16351 k: i32,
16352 alpha: &[f32],
16353 a: &[c32],
16354 lda: i32,
16355 beta: &[f32],
16356 c: &mut [c32],
16357) {
16358 ffi::chfrk_(
16359 &(transr as c_char),
16360 &(uplo as c_char),
16361 &(trans as c_char),
16362 &n,
16363 &k,
16364 alpha.as_ptr(),
16365 a.as_ptr() as *const _,
16366 &lda,
16367 beta.as_ptr(),
16368 c.as_mut_ptr() as *mut _,
16369 )
16370}
16371
16372#[inline]
16373pub unsafe fn zhfrk(
16374 transr: u8,
16375 uplo: u8,
16376 trans: u8,
16377 n: i32,
16378 k: i32,
16379 alpha: &[f64],
16380 a: &[c64],
16381 lda: i32,
16382 beta: &[f64],
16383 c: &mut [c64],
16384) {
16385 ffi::zhfrk_(
16386 &(transr as c_char),
16387 &(uplo as c_char),
16388 &(trans as c_char),
16389 &n,
16390 &k,
16391 alpha.as_ptr(),
16392 a.as_ptr() as *const _,
16393 &lda,
16394 beta.as_ptr(),
16395 c.as_mut_ptr() as *mut _,
16396 )
16397}
16398
16399#[inline]
16400pub unsafe fn chgeqz(
16401 job: u8,
16402 compq: u8,
16403 compz: u8,
16404 n: i32,
16405 ilo: i32,
16406 ihi: i32,
16407 h: &mut [c32],
16408 ldh: i32,
16409 t: &mut [c32],
16410 ldt: i32,
16411 alpha: &mut [c32],
16412 beta: &mut [c32],
16413 q: &mut [c32],
16414 ldq: i32,
16415 z: &mut [c32],
16416 ldz: i32,
16417 work: &mut [c32],
16418 lwork: i32,
16419 rwork: &mut [f32],
16420 info: &mut i32,
16421) {
16422 ffi::chgeqz_(
16423 &(job as c_char),
16424 &(compq as c_char),
16425 &(compz as c_char),
16426 &n,
16427 &ilo,
16428 &ihi,
16429 h.as_mut_ptr() as *mut _,
16430 &ldh,
16431 t.as_mut_ptr() as *mut _,
16432 &ldt,
16433 alpha.as_mut_ptr() as *mut _,
16434 beta.as_mut_ptr() as *mut _,
16435 q.as_mut_ptr() as *mut _,
16436 &ldq,
16437 z.as_mut_ptr() as *mut _,
16438 &ldz,
16439 work.as_mut_ptr() as *mut _,
16440 &lwork,
16441 rwork.as_mut_ptr(),
16442 info,
16443 )
16444}
16445
16446#[inline]
16447pub unsafe fn dhgeqz(
16448 job: u8,
16449 compq: u8,
16450 compz: u8,
16451 n: i32,
16452 ilo: i32,
16453 ihi: i32,
16454 h: &mut [f64],
16455 ldh: i32,
16456 t: &mut [f64],
16457 ldt: i32,
16458 alphar: &mut [f64],
16459 alphai: &mut [f64],
16460 beta: &mut [f64],
16461 q: &mut [f64],
16462 ldq: i32,
16463 z: &mut [f64],
16464 ldz: i32,
16465 work: &mut [f64],
16466 lwork: i32,
16467 info: &mut i32,
16468) {
16469 ffi::dhgeqz_(
16470 &(job as c_char),
16471 &(compq as c_char),
16472 &(compz as c_char),
16473 &n,
16474 &ilo,
16475 &ihi,
16476 h.as_mut_ptr(),
16477 &ldh,
16478 t.as_mut_ptr(),
16479 &ldt,
16480 alphar.as_mut_ptr(),
16481 alphai.as_mut_ptr(),
16482 beta.as_mut_ptr(),
16483 q.as_mut_ptr(),
16484 &ldq,
16485 z.as_mut_ptr(),
16486 &ldz,
16487 work.as_mut_ptr(),
16488 &lwork,
16489 info,
16490 )
16491}
16492
16493#[inline]
16494pub unsafe fn shgeqz(
16495 job: u8,
16496 compq: u8,
16497 compz: u8,
16498 n: i32,
16499 ilo: i32,
16500 ihi: i32,
16501 h: &mut [f32],
16502 ldh: i32,
16503 t: &mut [f32],
16504 ldt: i32,
16505 alphar: &mut [f32],
16506 alphai: &mut [f32],
16507 beta: &mut [f32],
16508 q: &mut [f32],
16509 ldq: i32,
16510 z: &mut [f32],
16511 ldz: i32,
16512 work: &mut [f32],
16513 lwork: i32,
16514 info: &mut i32,
16515) {
16516 ffi::shgeqz_(
16517 &(job as c_char),
16518 &(compq as c_char),
16519 &(compz as c_char),
16520 &n,
16521 &ilo,
16522 &ihi,
16523 h.as_mut_ptr(),
16524 &ldh,
16525 t.as_mut_ptr(),
16526 &ldt,
16527 alphar.as_mut_ptr(),
16528 alphai.as_mut_ptr(),
16529 beta.as_mut_ptr(),
16530 q.as_mut_ptr(),
16531 &ldq,
16532 z.as_mut_ptr(),
16533 &ldz,
16534 work.as_mut_ptr(),
16535 &lwork,
16536 info,
16537 )
16538}
16539
16540#[inline]
16541pub unsafe fn zhgeqz(
16542 job: u8,
16543 compq: u8,
16544 compz: u8,
16545 n: i32,
16546 ilo: i32,
16547 ihi: i32,
16548 h: &mut [c64],
16549 ldh: i32,
16550 t: &mut [c64],
16551 ldt: i32,
16552 alpha: &mut [c64],
16553 beta: &mut [c64],
16554 q: &mut [c64],
16555 ldq: i32,
16556 z: &mut [c64],
16557 ldz: i32,
16558 work: &mut [c64],
16559 lwork: i32,
16560 rwork: &mut [f64],
16561 info: &mut i32,
16562) {
16563 ffi::zhgeqz_(
16564 &(job as c_char),
16565 &(compq as c_char),
16566 &(compz as c_char),
16567 &n,
16568 &ilo,
16569 &ihi,
16570 h.as_mut_ptr() as *mut _,
16571 &ldh,
16572 t.as_mut_ptr() as *mut _,
16573 &ldt,
16574 alpha.as_mut_ptr() as *mut _,
16575 beta.as_mut_ptr() as *mut _,
16576 q.as_mut_ptr() as *mut _,
16577 &ldq,
16578 z.as_mut_ptr() as *mut _,
16579 &ldz,
16580 work.as_mut_ptr() as *mut _,
16581 &lwork,
16582 rwork.as_mut_ptr(),
16583 info,
16584 )
16585}
16586
16587#[inline]
16588pub unsafe fn chpcon(
16589 uplo: u8,
16590 n: i32,
16591 ap: &[c32],
16592 ipiv: &[i32],
16593 anorm: f32,
16594 rcond: &mut f32,
16595 work: &mut [c32],
16596 info: &mut i32,
16597) {
16598 ffi::chpcon_(
16599 &(uplo as c_char),
16600 &n,
16601 ap.as_ptr() as *const _,
16602 ipiv.as_ptr(),
16603 &anorm,
16604 rcond,
16605 work.as_mut_ptr() as *mut _,
16606 info,
16607 )
16608}
16609
16610#[inline]
16611pub unsafe fn zhpcon(
16612 uplo: u8,
16613 n: i32,
16614 ap: &[c64],
16615 ipiv: &[i32],
16616 anorm: f64,
16617 rcond: &mut f64,
16618 work: &mut [c64],
16619 info: &mut i32,
16620) {
16621 ffi::zhpcon_(
16622 &(uplo as c_char),
16623 &n,
16624 ap.as_ptr() as *const _,
16625 ipiv.as_ptr(),
16626 &anorm,
16627 rcond,
16628 work.as_mut_ptr() as *mut _,
16629 info,
16630 )
16631}
16632
16633#[inline]
16634pub unsafe fn chpev(
16635 jobz: u8,
16636 uplo: u8,
16637 n: i32,
16638 ap: &mut [c32],
16639 w: &mut [f32],
16640 z: &mut [c32],
16641 ldz: i32,
16642 work: &mut [c32],
16643 rwork: &mut [f32],
16644 info: &mut i32,
16645) {
16646 ffi::chpev_(
16647 &(jobz as c_char),
16648 &(uplo as c_char),
16649 &n,
16650 ap.as_mut_ptr() as *mut _,
16651 w.as_mut_ptr(),
16652 z.as_mut_ptr() as *mut _,
16653 &ldz,
16654 work.as_mut_ptr() as *mut _,
16655 rwork.as_mut_ptr(),
16656 info,
16657 )
16658}
16659
16660#[inline]
16661pub unsafe fn zhpev(
16662 jobz: u8,
16663 uplo: u8,
16664 n: i32,
16665 ap: &mut [c64],
16666 w: &mut [f64],
16667 z: &mut [c64],
16668 ldz: i32,
16669 work: &mut [c64],
16670 rwork: &mut [f64],
16671 info: &mut i32,
16672) {
16673 ffi::zhpev_(
16674 &(jobz as c_char),
16675 &(uplo as c_char),
16676 &n,
16677 ap.as_mut_ptr() as *mut _,
16678 w.as_mut_ptr(),
16679 z.as_mut_ptr() as *mut _,
16680 &ldz,
16681 work.as_mut_ptr() as *mut _,
16682 rwork.as_mut_ptr(),
16683 info,
16684 )
16685}
16686
16687#[inline]
16688pub unsafe fn chpevd(
16689 jobz: u8,
16690 uplo: u8,
16691 n: i32,
16692 ap: &mut [c32],
16693 w: &mut [f32],
16694 z: &mut [c32],
16695 ldz: i32,
16696 work: &mut [c32],
16697 lwork: i32,
16698 rwork: &mut [f32],
16699 lrwork: i32,
16700 iwork: &mut [i32],
16701 liwork: i32,
16702 info: &mut i32,
16703) {
16704 ffi::chpevd_(
16705 &(jobz as c_char),
16706 &(uplo as c_char),
16707 &n,
16708 ap.as_mut_ptr() as *mut _,
16709 w.as_mut_ptr(),
16710 z.as_mut_ptr() as *mut _,
16711 &ldz,
16712 work.as_mut_ptr() as *mut _,
16713 &lwork,
16714 rwork.as_mut_ptr(),
16715 &lrwork,
16716 iwork.as_mut_ptr(),
16717 &liwork,
16718 info,
16719 )
16720}
16721
16722#[inline]
16723pub unsafe fn zhpevd(
16724 jobz: u8,
16725 uplo: u8,
16726 n: i32,
16727 ap: &mut [c64],
16728 w: &mut [f64],
16729 z: &mut [c64],
16730 ldz: i32,
16731 work: &mut [c64],
16732 lwork: i32,
16733 rwork: &mut [f64],
16734 lrwork: i32,
16735 iwork: &mut [i32],
16736 liwork: i32,
16737 info: &mut i32,
16738) {
16739 ffi::zhpevd_(
16740 &(jobz as c_char),
16741 &(uplo as c_char),
16742 &n,
16743 ap.as_mut_ptr() as *mut _,
16744 w.as_mut_ptr(),
16745 z.as_mut_ptr() as *mut _,
16746 &ldz,
16747 work.as_mut_ptr() as *mut _,
16748 &lwork,
16749 rwork.as_mut_ptr(),
16750 &lrwork,
16751 iwork.as_mut_ptr(),
16752 &liwork,
16753 info,
16754 )
16755}
16756
16757#[inline]
16758pub unsafe fn chpevx(
16759 jobz: u8,
16760 range: u8,
16761 uplo: u8,
16762 n: i32,
16763 ap: &mut [c32],
16764 vl: f32,
16765 vu: f32,
16766 il: i32,
16767 iu: i32,
16768 abstol: f32,
16769 m: &mut i32,
16770 w: &mut [f32],
16771 z: &mut [c32],
16772 ldz: i32,
16773 work: &mut [c32],
16774 rwork: &mut [f32],
16775 iwork: &mut [i32],
16776 ifail: &mut [i32],
16777 info: &mut i32,
16778) {
16779 ffi::chpevx_(
16780 &(jobz as c_char),
16781 &(range as c_char),
16782 &(uplo as c_char),
16783 &n,
16784 ap.as_mut_ptr() as *mut _,
16785 &vl,
16786 &vu,
16787 &il,
16788 &iu,
16789 &abstol,
16790 m,
16791 w.as_mut_ptr(),
16792 z.as_mut_ptr() as *mut _,
16793 &ldz,
16794 work.as_mut_ptr() as *mut _,
16795 rwork.as_mut_ptr(),
16796 iwork.as_mut_ptr(),
16797 ifail.as_mut_ptr(),
16798 info,
16799 )
16800}
16801
16802#[inline]
16803pub unsafe fn zhpevx(
16804 jobz: u8,
16805 range: u8,
16806 uplo: u8,
16807 n: i32,
16808 ap: &mut [c64],
16809 vl: f64,
16810 vu: f64,
16811 il: i32,
16812 iu: i32,
16813 abstol: f64,
16814 m: &mut i32,
16815 w: &mut [f64],
16816 z: &mut [c64],
16817 ldz: i32,
16818 work: &mut [c64],
16819 rwork: &mut [f64],
16820 iwork: &mut [i32],
16821 ifail: &mut [i32],
16822 info: &mut i32,
16823) {
16824 ffi::zhpevx_(
16825 &(jobz as c_char),
16826 &(range as c_char),
16827 &(uplo as c_char),
16828 &n,
16829 ap.as_mut_ptr() as *mut _,
16830 &vl,
16831 &vu,
16832 &il,
16833 &iu,
16834 &abstol,
16835 m,
16836 w.as_mut_ptr(),
16837 z.as_mut_ptr() as *mut _,
16838 &ldz,
16839 work.as_mut_ptr() as *mut _,
16840 rwork.as_mut_ptr(),
16841 iwork.as_mut_ptr(),
16842 ifail.as_mut_ptr(),
16843 info,
16844 )
16845}
16846
16847#[inline]
16848pub unsafe fn chpgst(itype: &[i32], uplo: u8, n: i32, ap: &mut [c32], bp: &[c32], info: &mut i32) {
16849 ffi::chpgst_(
16850 itype.as_ptr(),
16851 &(uplo as c_char),
16852 &n,
16853 ap.as_mut_ptr() as *mut _,
16854 bp.as_ptr() as *const _,
16855 info,
16856 )
16857}
16858
16859#[inline]
16860pub unsafe fn zhpgst(itype: &[i32], uplo: u8, n: i32, ap: &mut [c64], bp: &[c64], info: &mut i32) {
16861 ffi::zhpgst_(
16862 itype.as_ptr(),
16863 &(uplo as c_char),
16864 &n,
16865 ap.as_mut_ptr() as *mut _,
16866 bp.as_ptr() as *const _,
16867 info,
16868 )
16869}
16870
16871#[inline]
16872pub unsafe fn chpgv(
16873 itype: &[i32],
16874 jobz: u8,
16875 uplo: u8,
16876 n: i32,
16877 ap: &mut [c32],
16878 bp: &mut [c32],
16879 w: &mut [f32],
16880 z: &mut [c32],
16881 ldz: i32,
16882 work: &mut [c32],
16883 rwork: &mut [f32],
16884 info: &mut i32,
16885) {
16886 ffi::chpgv_(
16887 itype.as_ptr(),
16888 &(jobz as c_char),
16889 &(uplo as c_char),
16890 &n,
16891 ap.as_mut_ptr() as *mut _,
16892 bp.as_mut_ptr() as *mut _,
16893 w.as_mut_ptr(),
16894 z.as_mut_ptr() as *mut _,
16895 &ldz,
16896 work.as_mut_ptr() as *mut _,
16897 rwork.as_mut_ptr(),
16898 info,
16899 )
16900}
16901
16902#[inline]
16903pub unsafe fn zhpgv(
16904 itype: &[i32],
16905 jobz: u8,
16906 uplo: u8,
16907 n: i32,
16908 ap: &mut [c64],
16909 bp: &mut [c64],
16910 w: &mut [f64],
16911 z: &mut [c64],
16912 ldz: i32,
16913 work: &mut [c64],
16914 rwork: &mut [f64],
16915 info: &mut i32,
16916) {
16917 ffi::zhpgv_(
16918 itype.as_ptr(),
16919 &(jobz as c_char),
16920 &(uplo as c_char),
16921 &n,
16922 ap.as_mut_ptr() as *mut _,
16923 bp.as_mut_ptr() as *mut _,
16924 w.as_mut_ptr(),
16925 z.as_mut_ptr() as *mut _,
16926 &ldz,
16927 work.as_mut_ptr() as *mut _,
16928 rwork.as_mut_ptr(),
16929 info,
16930 )
16931}
16932
16933#[inline]
16934pub unsafe fn chpgvd(
16935 itype: &[i32],
16936 jobz: u8,
16937 uplo: u8,
16938 n: i32,
16939 ap: &mut [c32],
16940 bp: &mut [c32],
16941 w: &mut [f32],
16942 z: &mut [c32],
16943 ldz: i32,
16944 work: &mut [c32],
16945 lwork: i32,
16946 rwork: &mut [f32],
16947 lrwork: i32,
16948 iwork: &mut [i32],
16949 liwork: i32,
16950 info: &mut i32,
16951) {
16952 ffi::chpgvd_(
16953 itype.as_ptr(),
16954 &(jobz as c_char),
16955 &(uplo as c_char),
16956 &n,
16957 ap.as_mut_ptr() as *mut _,
16958 bp.as_mut_ptr() as *mut _,
16959 w.as_mut_ptr(),
16960 z.as_mut_ptr() as *mut _,
16961 &ldz,
16962 work.as_mut_ptr() as *mut _,
16963 &lwork,
16964 rwork.as_mut_ptr(),
16965 &lrwork,
16966 iwork.as_mut_ptr(),
16967 &liwork,
16968 info,
16969 )
16970}
16971
16972#[inline]
16973pub unsafe fn zhpgvd(
16974 itype: &[i32],
16975 jobz: u8,
16976 uplo: u8,
16977 n: i32,
16978 ap: &mut [c64],
16979 bp: &mut [c64],
16980 w: &mut [f64],
16981 z: &mut [c64],
16982 ldz: i32,
16983 work: &mut [c64],
16984 lwork: i32,
16985 rwork: &mut [f64],
16986 lrwork: i32,
16987 iwork: &mut [i32],
16988 liwork: i32,
16989 info: &mut i32,
16990) {
16991 ffi::zhpgvd_(
16992 itype.as_ptr(),
16993 &(jobz as c_char),
16994 &(uplo as c_char),
16995 &n,
16996 ap.as_mut_ptr() as *mut _,
16997 bp.as_mut_ptr() as *mut _,
16998 w.as_mut_ptr(),
16999 z.as_mut_ptr() as *mut _,
17000 &ldz,
17001 work.as_mut_ptr() as *mut _,
17002 &lwork,
17003 rwork.as_mut_ptr(),
17004 &lrwork,
17005 iwork.as_mut_ptr(),
17006 &liwork,
17007 info,
17008 )
17009}
17010
17011#[inline]
17012pub unsafe fn chpgvx(
17013 itype: &[i32],
17014 jobz: u8,
17015 range: u8,
17016 uplo: u8,
17017 n: i32,
17018 ap: &mut [c32],
17019 bp: &mut [c32],
17020 vl: f32,
17021 vu: f32,
17022 il: i32,
17023 iu: i32,
17024 abstol: f32,
17025 m: &mut i32,
17026 w: &mut [f32],
17027 z: &mut [c32],
17028 ldz: i32,
17029 work: &mut [c32],
17030 rwork: &mut [f32],
17031 iwork: &mut [i32],
17032 ifail: &mut [i32],
17033 info: &mut i32,
17034) {
17035 ffi::chpgvx_(
17036 itype.as_ptr(),
17037 &(jobz as c_char),
17038 &(range as c_char),
17039 &(uplo as c_char),
17040 &n,
17041 ap.as_mut_ptr() as *mut _,
17042 bp.as_mut_ptr() as *mut _,
17043 &vl,
17044 &vu,
17045 &il,
17046 &iu,
17047 &abstol,
17048 m,
17049 w.as_mut_ptr(),
17050 z.as_mut_ptr() as *mut _,
17051 &ldz,
17052 work.as_mut_ptr() as *mut _,
17053 rwork.as_mut_ptr(),
17054 iwork.as_mut_ptr(),
17055 ifail.as_mut_ptr(),
17056 info,
17057 )
17058}
17059
17060#[inline]
17061pub unsafe fn zhpgvx(
17062 itype: &[i32],
17063 jobz: u8,
17064 range: u8,
17065 uplo: u8,
17066 n: i32,
17067 ap: &mut [c64],
17068 bp: &mut [c64],
17069 vl: f64,
17070 vu: f64,
17071 il: i32,
17072 iu: i32,
17073 abstol: f64,
17074 m: &mut i32,
17075 w: &mut [f64],
17076 z: &mut [c64],
17077 ldz: i32,
17078 work: &mut [c64],
17079 rwork: &mut [f64],
17080 iwork: &mut [i32],
17081 ifail: &mut [i32],
17082 info: &mut i32,
17083) {
17084 ffi::zhpgvx_(
17085 itype.as_ptr(),
17086 &(jobz as c_char),
17087 &(range as c_char),
17088 &(uplo as c_char),
17089 &n,
17090 ap.as_mut_ptr() as *mut _,
17091 bp.as_mut_ptr() as *mut _,
17092 &vl,
17093 &vu,
17094 &il,
17095 &iu,
17096 &abstol,
17097 m,
17098 w.as_mut_ptr(),
17099 z.as_mut_ptr() as *mut _,
17100 &ldz,
17101 work.as_mut_ptr() as *mut _,
17102 rwork.as_mut_ptr(),
17103 iwork.as_mut_ptr(),
17104 ifail.as_mut_ptr(),
17105 info,
17106 )
17107}
17108
17109#[inline]
17110pub unsafe fn chprfs(
17111 uplo: u8,
17112 n: i32,
17113 nrhs: i32,
17114 ap: &[c32],
17115 afp: &[c32],
17116 ipiv: &[i32],
17117 b: &[c32],
17118 ldb: i32,
17119 x: &mut [c32],
17120 ldx: i32,
17121 ferr: &mut [f32],
17122 berr: &mut [f32],
17123 work: &mut [c32],
17124 rwork: &mut [f32],
17125 info: &mut i32,
17126) {
17127 ffi::chprfs_(
17128 &(uplo as c_char),
17129 &n,
17130 &nrhs,
17131 ap.as_ptr() as *const _,
17132 afp.as_ptr() as *const _,
17133 ipiv.as_ptr(),
17134 b.as_ptr() as *const _,
17135 &ldb,
17136 x.as_mut_ptr() as *mut _,
17137 &ldx,
17138 ferr.as_mut_ptr(),
17139 berr.as_mut_ptr(),
17140 work.as_mut_ptr() as *mut _,
17141 rwork.as_mut_ptr(),
17142 info,
17143 )
17144}
17145
17146#[inline]
17147pub unsafe fn zhprfs(
17148 uplo: u8,
17149 n: i32,
17150 nrhs: i32,
17151 ap: &[c64],
17152 afp: &[c64],
17153 ipiv: &[i32],
17154 b: &[c64],
17155 ldb: i32,
17156 x: &mut [c64],
17157 ldx: i32,
17158 ferr: &mut [f64],
17159 berr: &mut [f64],
17160 work: &mut [c64],
17161 rwork: &mut [f64],
17162 info: &mut i32,
17163) {
17164 ffi::zhprfs_(
17165 &(uplo as c_char),
17166 &n,
17167 &nrhs,
17168 ap.as_ptr() as *const _,
17169 afp.as_ptr() as *const _,
17170 ipiv.as_ptr(),
17171 b.as_ptr() as *const _,
17172 &ldb,
17173 x.as_mut_ptr() as *mut _,
17174 &ldx,
17175 ferr.as_mut_ptr(),
17176 berr.as_mut_ptr(),
17177 work.as_mut_ptr() as *mut _,
17178 rwork.as_mut_ptr(),
17179 info,
17180 )
17181}
17182
17183#[inline]
17184pub unsafe fn chpsv(
17185 uplo: u8,
17186 n: i32,
17187 nrhs: i32,
17188 ap: &mut [c32],
17189 ipiv: &mut [i32],
17190 b: &mut [c32],
17191 ldb: i32,
17192 info: &mut i32,
17193) {
17194 ffi::chpsv_(
17195 &(uplo as c_char),
17196 &n,
17197 &nrhs,
17198 ap.as_mut_ptr() as *mut _,
17199 ipiv.as_mut_ptr(),
17200 b.as_mut_ptr() as *mut _,
17201 &ldb,
17202 info,
17203 )
17204}
17205
17206#[inline]
17207pub unsafe fn zhpsv(
17208 uplo: u8,
17209 n: i32,
17210 nrhs: i32,
17211 ap: &mut [c64],
17212 ipiv: &mut [i32],
17213 b: &mut [c64],
17214 ldb: i32,
17215 info: &mut i32,
17216) {
17217 ffi::zhpsv_(
17218 &(uplo as c_char),
17219 &n,
17220 &nrhs,
17221 ap.as_mut_ptr() as *mut _,
17222 ipiv.as_mut_ptr(),
17223 b.as_mut_ptr() as *mut _,
17224 &ldb,
17225 info,
17226 )
17227}
17228
17229#[inline]
17230pub unsafe fn chpsvx(
17231 fact: u8,
17232 uplo: u8,
17233 n: i32,
17234 nrhs: i32,
17235 ap: &[c32],
17236 afp: &mut [c32],
17237 ipiv: &mut [i32],
17238 b: &[c32],
17239 ldb: i32,
17240 x: &mut [c32],
17241 ldx: i32,
17242 rcond: &mut f32,
17243 ferr: &mut [f32],
17244 berr: &mut [f32],
17245 work: &mut [c32],
17246 rwork: &mut [f32],
17247 info: &mut i32,
17248) {
17249 ffi::chpsvx_(
17250 &(fact as c_char),
17251 &(uplo as c_char),
17252 &n,
17253 &nrhs,
17254 ap.as_ptr() as *const _,
17255 afp.as_mut_ptr() as *mut _,
17256 ipiv.as_mut_ptr(),
17257 b.as_ptr() as *const _,
17258 &ldb,
17259 x.as_mut_ptr() as *mut _,
17260 &ldx,
17261 rcond,
17262 ferr.as_mut_ptr(),
17263 berr.as_mut_ptr(),
17264 work.as_mut_ptr() as *mut _,
17265 rwork.as_mut_ptr(),
17266 info,
17267 )
17268}
17269
17270#[inline]
17271pub unsafe fn zhpsvx(
17272 fact: u8,
17273 uplo: u8,
17274 n: i32,
17275 nrhs: i32,
17276 ap: &[c64],
17277 afp: &mut [c64],
17278 ipiv: &mut [i32],
17279 b: &[c64],
17280 ldb: i32,
17281 x: &mut [c64],
17282 ldx: i32,
17283 rcond: &mut f64,
17284 ferr: &mut [f64],
17285 berr: &mut [f64],
17286 work: &mut [c64],
17287 rwork: &mut [f64],
17288 info: &mut i32,
17289) {
17290 ffi::zhpsvx_(
17291 &(fact as c_char),
17292 &(uplo as c_char),
17293 &n,
17294 &nrhs,
17295 ap.as_ptr() as *const _,
17296 afp.as_mut_ptr() as *mut _,
17297 ipiv.as_mut_ptr(),
17298 b.as_ptr() as *const _,
17299 &ldb,
17300 x.as_mut_ptr() as *mut _,
17301 &ldx,
17302 rcond,
17303 ferr.as_mut_ptr(),
17304 berr.as_mut_ptr(),
17305 work.as_mut_ptr() as *mut _,
17306 rwork.as_mut_ptr(),
17307 info,
17308 )
17309}
17310
17311#[inline]
17312pub unsafe fn chptrd(
17313 uplo: u8,
17314 n: i32,
17315 ap: &mut [c32],
17316 d: &mut [f32],
17317 e: &mut [f32],
17318 tau: &mut [c32],
17319 info: &mut i32,
17320) {
17321 ffi::chptrd_(
17322 &(uplo as c_char),
17323 &n,
17324 ap.as_mut_ptr() as *mut _,
17325 d.as_mut_ptr(),
17326 e.as_mut_ptr(),
17327 tau.as_mut_ptr() as *mut _,
17328 info,
17329 )
17330}
17331
17332#[inline]
17333pub unsafe fn zhptrd(
17334 uplo: u8,
17335 n: i32,
17336 ap: &mut [c64],
17337 d: &mut [f64],
17338 e: &mut [f64],
17339 tau: &mut [c64],
17340 info: &mut i32,
17341) {
17342 ffi::zhptrd_(
17343 &(uplo as c_char),
17344 &n,
17345 ap.as_mut_ptr() as *mut _,
17346 d.as_mut_ptr(),
17347 e.as_mut_ptr(),
17348 tau.as_mut_ptr() as *mut _,
17349 info,
17350 )
17351}
17352
17353#[inline]
17354pub unsafe fn chptrf(uplo: u8, n: i32, ap: &mut [c32], ipiv: &mut [i32], info: &mut i32) {
17355 ffi::chptrf_(
17356 &(uplo as c_char),
17357 &n,
17358 ap.as_mut_ptr() as *mut _,
17359 ipiv.as_mut_ptr(),
17360 info,
17361 )
17362}
17363
17364#[inline]
17365pub unsafe fn zhptrf(uplo: u8, n: i32, ap: &mut [c64], ipiv: &mut [i32], info: &mut i32) {
17366 ffi::zhptrf_(
17367 &(uplo as c_char),
17368 &n,
17369 ap.as_mut_ptr() as *mut _,
17370 ipiv.as_mut_ptr(),
17371 info,
17372 )
17373}
17374
17375#[inline]
17376pub unsafe fn chptri(
17377 uplo: u8,
17378 n: i32,
17379 ap: &mut [c32],
17380 ipiv: &[i32],
17381 work: &mut [c32],
17382 info: &mut i32,
17383) {
17384 ffi::chptri_(
17385 &(uplo as c_char),
17386 &n,
17387 ap.as_mut_ptr() as *mut _,
17388 ipiv.as_ptr(),
17389 work.as_mut_ptr() as *mut _,
17390 info,
17391 )
17392}
17393
17394#[inline]
17395pub unsafe fn zhptri(
17396 uplo: u8,
17397 n: i32,
17398 ap: &mut [c64],
17399 ipiv: &[i32],
17400 work: &mut [c64],
17401 info: &mut i32,
17402) {
17403 ffi::zhptri_(
17404 &(uplo as c_char),
17405 &n,
17406 ap.as_mut_ptr() as *mut _,
17407 ipiv.as_ptr(),
17408 work.as_mut_ptr() as *mut _,
17409 info,
17410 )
17411}
17412
17413#[inline]
17414pub unsafe fn chptrs(
17415 uplo: u8,
17416 n: i32,
17417 nrhs: i32,
17418 ap: &[c32],
17419 ipiv: &[i32],
17420 b: &mut [c32],
17421 ldb: i32,
17422 info: &mut i32,
17423) {
17424 ffi::chptrs_(
17425 &(uplo as c_char),
17426 &n,
17427 &nrhs,
17428 ap.as_ptr() as *const _,
17429 ipiv.as_ptr(),
17430 b.as_mut_ptr() as *mut _,
17431 &ldb,
17432 info,
17433 )
17434}
17435
17436#[inline]
17437pub unsafe fn zhptrs(
17438 uplo: u8,
17439 n: i32,
17440 nrhs: i32,
17441 ap: &[c64],
17442 ipiv: &[i32],
17443 b: &mut [c64],
17444 ldb: i32,
17445 info: &mut i32,
17446) {
17447 ffi::zhptrs_(
17448 &(uplo as c_char),
17449 &n,
17450 &nrhs,
17451 ap.as_ptr() as *const _,
17452 ipiv.as_ptr(),
17453 b.as_mut_ptr() as *mut _,
17454 &ldb,
17455 info,
17456 )
17457}
17458
17459#[inline]
17460pub unsafe fn chsein(
17461 side: u8,
17462 eigsrc: u8,
17463 initv: u8,
17464 select: &[i32],
17465 n: i32,
17466 h: &[c32],
17467 ldh: i32,
17468 w: &mut [c32],
17469 vl: &mut [c32],
17470 ldvl: i32,
17471 vr: &mut [c32],
17472 ldvr: i32,
17473 mm: i32,
17474 m: &mut i32,
17475 work: &mut [c32],
17476 rwork: &mut [f32],
17477 ifaill: &mut [i32],
17478 ifailr: &mut [i32],
17479 info: &mut i32,
17480) {
17481 ffi::chsein_(
17482 &(side as c_char),
17483 &(eigsrc as c_char),
17484 &(initv as c_char),
17485 select.as_ptr(),
17486 &n,
17487 h.as_ptr() as *const _,
17488 &ldh,
17489 w.as_mut_ptr() as *mut _,
17490 vl.as_mut_ptr() as *mut _,
17491 &ldvl,
17492 vr.as_mut_ptr() as *mut _,
17493 &ldvr,
17494 &mm,
17495 m,
17496 work.as_mut_ptr() as *mut _,
17497 rwork.as_mut_ptr(),
17498 ifaill.as_mut_ptr(),
17499 ifailr.as_mut_ptr(),
17500 info,
17501 )
17502}
17503
17504#[inline]
17505pub unsafe fn dhsein(
17506 side: u8,
17507 eigsrc: u8,
17508 initv: u8,
17509 select: &mut [i32],
17510 n: i32,
17511 h: &[f64],
17512 ldh: i32,
17513 wr: &mut [f64],
17514 wi: &[f64],
17515 vl: &mut [f64],
17516 ldvl: i32,
17517 vr: &mut [f64],
17518 ldvr: i32,
17519 mm: i32,
17520 m: &mut i32,
17521 work: &mut [f64],
17522 ifaill: &mut [i32],
17523 ifailr: &mut [i32],
17524 info: &mut i32,
17525) {
17526 ffi::dhsein_(
17527 &(side as c_char),
17528 &(eigsrc as c_char),
17529 &(initv as c_char),
17530 select.as_mut_ptr(),
17531 &n,
17532 h.as_ptr(),
17533 &ldh,
17534 wr.as_mut_ptr(),
17535 wi.as_ptr(),
17536 vl.as_mut_ptr(),
17537 &ldvl,
17538 vr.as_mut_ptr(),
17539 &ldvr,
17540 &mm,
17541 m,
17542 work.as_mut_ptr(),
17543 ifaill.as_mut_ptr(),
17544 ifailr.as_mut_ptr(),
17545 info,
17546 )
17547}
17548
17549#[inline]
17550pub unsafe fn shsein(
17551 side: u8,
17552 eigsrc: u8,
17553 initv: u8,
17554 select: &mut [i32],
17555 n: i32,
17556 h: &[f32],
17557 ldh: i32,
17558 wr: &mut [f32],
17559 wi: &[f32],
17560 vl: &mut [f32],
17561 ldvl: i32,
17562 vr: &mut [f32],
17563 ldvr: i32,
17564 mm: i32,
17565 m: &mut i32,
17566 work: &mut [f32],
17567 ifaill: &mut [i32],
17568 ifailr: &mut [i32],
17569 info: &mut i32,
17570) {
17571 ffi::shsein_(
17572 &(side as c_char),
17573 &(eigsrc as c_char),
17574 &(initv as c_char),
17575 select.as_mut_ptr(),
17576 &n,
17577 h.as_ptr(),
17578 &ldh,
17579 wr.as_mut_ptr(),
17580 wi.as_ptr(),
17581 vl.as_mut_ptr(),
17582 &ldvl,
17583 vr.as_mut_ptr(),
17584 &ldvr,
17585 &mm,
17586 m,
17587 work.as_mut_ptr(),
17588 ifaill.as_mut_ptr(),
17589 ifailr.as_mut_ptr(),
17590 info,
17591 )
17592}
17593
17594#[inline]
17595pub unsafe fn zhsein(
17596 side: u8,
17597 eigsrc: u8,
17598 initv: u8,
17599 select: &[i32],
17600 n: i32,
17601 h: &[c64],
17602 ldh: i32,
17603 w: &mut [c64],
17604 vl: &mut [c64],
17605 ldvl: i32,
17606 vr: &mut [c64],
17607 ldvr: i32,
17608 mm: i32,
17609 m: &mut i32,
17610 work: &mut [c64],
17611 rwork: &mut [f64],
17612 ifaill: &mut [i32],
17613 ifailr: &mut [i32],
17614 info: &mut i32,
17615) {
17616 ffi::zhsein_(
17617 &(side as c_char),
17618 &(eigsrc as c_char),
17619 &(initv as c_char),
17620 select.as_ptr(),
17621 &n,
17622 h.as_ptr() as *const _,
17623 &ldh,
17624 w.as_mut_ptr() as *mut _,
17625 vl.as_mut_ptr() as *mut _,
17626 &ldvl,
17627 vr.as_mut_ptr() as *mut _,
17628 &ldvr,
17629 &mm,
17630 m,
17631 work.as_mut_ptr() as *mut _,
17632 rwork.as_mut_ptr(),
17633 ifaill.as_mut_ptr(),
17634 ifailr.as_mut_ptr(),
17635 info,
17636 )
17637}
17638
17639#[inline]
17640pub unsafe fn chseqr(
17641 job: u8,
17642 compz: u8,
17643 n: i32,
17644 ilo: i32,
17645 ihi: i32,
17646 h: &mut [c32],
17647 ldh: i32,
17648 w: &mut [c32],
17649 z: &mut [c32],
17650 ldz: i32,
17651 work: &mut [c32],
17652 lwork: i32,
17653 info: &mut i32,
17654) {
17655 ffi::chseqr_(
17656 &(job as c_char),
17657 &(compz as c_char),
17658 &n,
17659 &ilo,
17660 &ihi,
17661 h.as_mut_ptr() as *mut _,
17662 &ldh,
17663 w.as_mut_ptr() as *mut _,
17664 z.as_mut_ptr() as *mut _,
17665 &ldz,
17666 work.as_mut_ptr() as *mut _,
17667 &lwork,
17668 info,
17669 )
17670}
17671
17672#[inline]
17673pub unsafe fn dhseqr(
17674 job: u8,
17675 compz: u8,
17676 n: i32,
17677 ilo: i32,
17678 ihi: i32,
17679 h: &mut [f64],
17680 ldh: i32,
17681 wr: &mut [f64],
17682 wi: &mut [f64],
17683 z: &mut [f64],
17684 ldz: i32,
17685 work: &mut [f64],
17686 lwork: i32,
17687 info: &mut i32,
17688) {
17689 ffi::dhseqr_(
17690 &(job as c_char),
17691 &(compz as c_char),
17692 &n,
17693 &ilo,
17694 &ihi,
17695 h.as_mut_ptr(),
17696 &ldh,
17697 wr.as_mut_ptr(),
17698 wi.as_mut_ptr(),
17699 z.as_mut_ptr(),
17700 &ldz,
17701 work.as_mut_ptr(),
17702 &lwork,
17703 info,
17704 )
17705}
17706
17707#[inline]
17708pub unsafe fn shseqr(
17709 job: u8,
17710 compz: u8,
17711 n: i32,
17712 ilo: i32,
17713 ihi: i32,
17714 h: &mut [f32],
17715 ldh: i32,
17716 wr: &mut [f32],
17717 wi: &mut [f32],
17718 z: &mut [f32],
17719 ldz: i32,
17720 work: &mut [f32],
17721 lwork: i32,
17722 info: &mut i32,
17723) {
17724 ffi::shseqr_(
17725 &(job as c_char),
17726 &(compz as c_char),
17727 &n,
17728 &ilo,
17729 &ihi,
17730 h.as_mut_ptr(),
17731 &ldh,
17732 wr.as_mut_ptr(),
17733 wi.as_mut_ptr(),
17734 z.as_mut_ptr(),
17735 &ldz,
17736 work.as_mut_ptr(),
17737 &lwork,
17738 info,
17739 )
17740}
17741
17742#[inline]
17743pub unsafe fn zhseqr(
17744 job: u8,
17745 compz: u8,
17746 n: i32,
17747 ilo: i32,
17748 ihi: i32,
17749 h: &mut [c64],
17750 ldh: i32,
17751 w: &mut [c64],
17752 z: &mut [c64],
17753 ldz: i32,
17754 work: &mut [c64],
17755 lwork: i32,
17756 info: &mut i32,
17757) {
17758 ffi::zhseqr_(
17759 &(job as c_char),
17760 &(compz as c_char),
17761 &n,
17762 &ilo,
17763 &ihi,
17764 h.as_mut_ptr() as *mut _,
17765 &ldh,
17766 w.as_mut_ptr() as *mut _,
17767 z.as_mut_ptr() as *mut _,
17768 &ldz,
17769 work.as_mut_ptr() as *mut _,
17770 &lwork,
17771 info,
17772 )
17773}
17774
17775#[inline]
17776pub unsafe fn clacgv(n: i32, x: &mut [c32], incx: i32) {
17777 ffi::clacgv_(&n, x.as_mut_ptr() as *mut _, &incx)
17778}
17779
17780#[inline]
17781pub unsafe fn zlacgv(n: i32, x: &mut [c64], incx: i32) {
17782 ffi::zlacgv_(&n, x.as_mut_ptr() as *mut _, &incx)
17783}
17784
17785#[inline]
17786pub unsafe fn clacn2(
17787 n: i32,
17788 v: &mut [c32],
17789 x: &mut [c32],
17790 est: &mut [f32],
17791 kase: &mut i32,
17792 isave: &mut [i32],
17793) {
17794 ffi::clacn2_(
17795 &n,
17796 v.as_mut_ptr() as *mut _,
17797 x.as_mut_ptr() as *mut _,
17798 est.as_mut_ptr(),
17799 kase,
17800 isave.as_mut_ptr(),
17801 )
17802}
17803
17804#[inline]
17805pub unsafe fn dlacn2(
17806 n: i32,
17807 v: &mut [f64],
17808 x: &mut [f64],
17809 isgn: &mut [i32],
17810 est: &mut [f64],
17811 kase: &mut i32,
17812 isave: &mut [i32],
17813) {
17814 ffi::dlacn2_(
17815 &n,
17816 v.as_mut_ptr(),
17817 x.as_mut_ptr(),
17818 isgn.as_mut_ptr(),
17819 est.as_mut_ptr(),
17820 kase,
17821 isave.as_mut_ptr(),
17822 )
17823}
17824
17825#[inline]
17826pub unsafe fn slacn2(
17827 n: i32,
17828 v: &mut [f32],
17829 x: &mut [f32],
17830 isgn: &mut [i32],
17831 est: &mut [f32],
17832 kase: &mut i32,
17833 isave: &mut [i32],
17834) {
17835 ffi::slacn2_(
17836 &n,
17837 v.as_mut_ptr(),
17838 x.as_mut_ptr(),
17839 isgn.as_mut_ptr(),
17840 est.as_mut_ptr(),
17841 kase,
17842 isave.as_mut_ptr(),
17843 )
17844}
17845
17846#[inline]
17847pub unsafe fn zlacn2(
17848 n: i32,
17849 v: &mut [c64],
17850 x: &mut [c64],
17851 est: &mut [f64],
17852 kase: &mut i32,
17853 isave: &mut [i32],
17854) {
17855 ffi::zlacn2_(
17856 &n,
17857 v.as_mut_ptr() as *mut _,
17858 x.as_mut_ptr() as *mut _,
17859 est.as_mut_ptr(),
17860 kase,
17861 isave.as_mut_ptr(),
17862 )
17863}
17864
17865#[inline]
17866pub unsafe fn clacp2(uplo: u8, m: i32, n: i32, a: &[f32], lda: i32, b: &mut [c32], ldb: i32) {
17867 ffi::clacp2_(
17868 &(uplo as c_char),
17869 &m,
17870 &n,
17871 a.as_ptr(),
17872 &lda,
17873 b.as_mut_ptr() as *mut _,
17874 &ldb,
17875 )
17876}
17877
17878#[inline]
17879pub unsafe fn zlacp2(uplo: u8, m: i32, n: i32, a: &[f64], lda: i32, b: &mut [c64], ldb: i32) {
17880 ffi::zlacp2_(
17881 &(uplo as c_char),
17882 &m,
17883 &n,
17884 a.as_ptr(),
17885 &lda,
17886 b.as_mut_ptr() as *mut _,
17887 &ldb,
17888 )
17889}
17890
17891#[inline]
17892pub unsafe fn clacpy(uplo: u8, m: i32, n: i32, a: &[c32], lda: i32, b: &mut [c32], ldb: i32) {
17893 ffi::clacpy_(
17894 &(uplo as c_char),
17895 &m,
17896 &n,
17897 a.as_ptr() as *const _,
17898 &lda,
17899 b.as_mut_ptr() as *mut _,
17900 &ldb,
17901 )
17902}
17903
17904#[inline]
17905pub unsafe fn dlacpy(uplo: u8, m: i32, n: i32, a: &[f64], lda: i32, b: &mut [f64], ldb: i32) {
17906 ffi::dlacpy_(
17907 &(uplo as c_char),
17908 &m,
17909 &n,
17910 a.as_ptr(),
17911 &lda,
17912 b.as_mut_ptr(),
17913 &ldb,
17914 )
17915}
17916
17917#[inline]
17918pub unsafe fn slacpy(uplo: u8, m: i32, n: i32, a: &[f32], lda: i32, b: &mut [f32], ldb: i32) {
17919 ffi::slacpy_(
17920 &(uplo as c_char),
17921 &m,
17922 &n,
17923 a.as_ptr(),
17924 &lda,
17925 b.as_mut_ptr(),
17926 &ldb,
17927 )
17928}
17929
17930#[inline]
17931pub unsafe fn zlacpy(uplo: u8, m: i32, n: i32, a: &[c64], lda: i32, b: &mut [c64], ldb: i32) {
17932 ffi::zlacpy_(
17933 &(uplo as c_char),
17934 &m,
17935 &n,
17936 a.as_ptr() as *const _,
17937 &lda,
17938 b.as_mut_ptr() as *mut _,
17939 &ldb,
17940 )
17941}
17942
17943#[inline]
17944pub unsafe fn clacrm(
17945 m: i32,
17946 n: i32,
17947 a: &[c32],
17948 lda: i32,
17949 b: &[f32],
17950 ldb: i32,
17951 c: &mut [c32],
17952 ldc: i32,
17953 rwork: &mut [f32],
17954) {
17955 ffi::clacrm_(
17956 &m,
17957 &n,
17958 a.as_ptr() as *const _,
17959 &lda,
17960 b.as_ptr(),
17961 &ldb,
17962 c.as_mut_ptr() as *mut _,
17963 &ldc,
17964 rwork.as_mut_ptr(),
17965 )
17966}
17967
17968#[inline]
17969pub unsafe fn zlacrm(
17970 m: i32,
17971 n: i32,
17972 a: &[c64],
17973 lda: i32,
17974 b: &[f64],
17975 ldb: i32,
17976 c: &mut [c64],
17977 ldc: i32,
17978 rwork: &mut [f64],
17979) {
17980 ffi::zlacrm_(
17981 &m,
17982 &n,
17983 a.as_ptr() as *const _,
17984 &lda,
17985 b.as_ptr(),
17986 &ldb,
17987 c.as_mut_ptr() as *mut _,
17988 &ldc,
17989 rwork.as_mut_ptr(),
17990 )
17991}
17992
17993#[inline]
17994pub unsafe fn zlag2c(
17995 m: i32,
17996 n: i32,
17997 a: &[c64],
17998 lda: i32,
17999 sa: &mut [c32],
18000 ldsa: i32,
18001 info: &mut i32,
18002) {
18003 ffi::zlag2c_(
18004 &m,
18005 &n,
18006 a.as_ptr() as *const _,
18007 &lda,
18008 sa.as_mut_ptr() as *mut _,
18009 &ldsa,
18010 info,
18011 )
18012}
18013
18014#[inline]
18015pub unsafe fn slag2d(
18016 m: i32,
18017 n: i32,
18018 sa: &[f32],
18019 ldsa: i32,
18020 a: &mut [f64],
18021 lda: i32,
18022 info: &mut i32,
18023) {
18024 ffi::slag2d_(&m, &n, sa.as_ptr(), &ldsa, a.as_mut_ptr(), &lda, info)
18025}
18026
18027#[inline]
18028pub unsafe fn dlag2s(
18029 m: i32,
18030 n: i32,
18031 a: &[f64],
18032 lda: i32,
18033 sa: &mut [f32],
18034 ldsa: i32,
18035 info: &mut i32,
18036) {
18037 ffi::dlag2s_(&m, &n, a.as_ptr(), &lda, sa.as_mut_ptr(), &ldsa, info)
18038}
18039
18040#[inline]
18041pub unsafe fn clag2z(
18042 m: i32,
18043 n: i32,
18044 sa: &[c32],
18045 ldsa: i32,
18046 a: &mut [c64],
18047 lda: i32,
18048 info: &mut i32,
18049) {
18050 ffi::clag2z_(
18051 &m,
18052 &n,
18053 sa.as_ptr() as *const _,
18054 &ldsa,
18055 a.as_mut_ptr() as *mut _,
18056 &lda,
18057 info,
18058 )
18059}
18060
18061#[inline]
18062pub unsafe fn clagge(
18063 m: i32,
18064 n: i32,
18065 kl: i32,
18066 ku: i32,
18067 d: &[f32],
18068 a: &mut [c32],
18069 lda: i32,
18070 iseed: &mut [i32],
18071 work: &mut [c32],
18072 info: &mut i32,
18073) {
18074 ffi::clagge_(
18075 &m,
18076 &n,
18077 &kl,
18078 &ku,
18079 d.as_ptr(),
18080 a.as_mut_ptr() as *mut _,
18081 &lda,
18082 iseed.as_mut_ptr(),
18083 work.as_mut_ptr() as *mut _,
18084 info,
18085 )
18086}
18087
18088#[inline]
18089pub unsafe fn dlagge(
18090 m: i32,
18091 n: i32,
18092 kl: i32,
18093 ku: i32,
18094 d: &[f64],
18095 a: &mut [f64],
18096 lda: i32,
18097 iseed: &mut [i32],
18098 work: &mut [f64],
18099 info: &mut i32,
18100) {
18101 ffi::dlagge_(
18102 &m,
18103 &n,
18104 &kl,
18105 &ku,
18106 d.as_ptr(),
18107 a.as_mut_ptr(),
18108 &lda,
18109 iseed.as_mut_ptr(),
18110 work.as_mut_ptr(),
18111 info,
18112 )
18113}
18114
18115#[inline]
18116pub unsafe fn slagge(
18117 m: i32,
18118 n: i32,
18119 kl: i32,
18120 ku: i32,
18121 d: &[f32],
18122 a: &mut [f32],
18123 lda: i32,
18124 iseed: &mut [i32],
18125 work: &mut [f32],
18126 info: &mut i32,
18127) {
18128 ffi::slagge_(
18129 &m,
18130 &n,
18131 &kl,
18132 &ku,
18133 d.as_ptr(),
18134 a.as_mut_ptr(),
18135 &lda,
18136 iseed.as_mut_ptr(),
18137 work.as_mut_ptr(),
18138 info,
18139 )
18140}
18141
18142#[inline]
18143pub unsafe fn zlagge(
18144 m: i32,
18145 n: i32,
18146 kl: i32,
18147 ku: i32,
18148 d: &[f64],
18149 a: &mut [c64],
18150 lda: i32,
18151 iseed: &mut [i32],
18152 work: &mut [c64],
18153 info: &mut i32,
18154) {
18155 ffi::zlagge_(
18156 &m,
18157 &n,
18158 &kl,
18159 &ku,
18160 d.as_ptr(),
18161 a.as_mut_ptr() as *mut _,
18162 &lda,
18163 iseed.as_mut_ptr(),
18164 work.as_mut_ptr() as *mut _,
18165 info,
18166 )
18167}
18168
18169#[inline]
18170pub unsafe fn claghe(
18171 n: i32,
18172 k: i32,
18173 d: &[f32],
18174 a: &mut [c32],
18175 lda: i32,
18176 iseed: &mut [i32],
18177 work: &mut [c32],
18178 info: &mut i32,
18179) {
18180 ffi::claghe_(
18181 &n,
18182 &k,
18183 d.as_ptr(),
18184 a.as_mut_ptr() as *mut _,
18185 &lda,
18186 iseed.as_mut_ptr(),
18187 work.as_mut_ptr() as *mut _,
18188 info,
18189 )
18190}
18191
18192#[inline]
18193pub unsafe fn zlaghe(
18194 n: i32,
18195 k: i32,
18196 d: &[f64],
18197 a: &mut [c64],
18198 lda: i32,
18199 iseed: &mut [i32],
18200 work: &mut [c64],
18201 info: &mut i32,
18202) {
18203 ffi::zlaghe_(
18204 &n,
18205 &k,
18206 d.as_ptr(),
18207 a.as_mut_ptr() as *mut _,
18208 &lda,
18209 iseed.as_mut_ptr(),
18210 work.as_mut_ptr() as *mut _,
18211 info,
18212 )
18213}
18214
18215#[inline]
18216pub unsafe fn clagsy(
18217 n: i32,
18218 k: i32,
18219 d: &[f32],
18220 a: &mut [c32],
18221 lda: i32,
18222 iseed: &mut [i32],
18223 work: &mut [c32],
18224 info: &mut i32,
18225) {
18226 ffi::clagsy_(
18227 &n,
18228 &k,
18229 d.as_ptr(),
18230 a.as_mut_ptr() as *mut _,
18231 &lda,
18232 iseed.as_mut_ptr(),
18233 work.as_mut_ptr() as *mut _,
18234 info,
18235 )
18236}
18237
18238#[inline]
18239pub unsafe fn dlagsy(
18240 n: i32,
18241 k: i32,
18242 d: &[f64],
18243 a: &mut [f64],
18244 lda: i32,
18245 iseed: &mut [i32],
18246 work: &mut [f64],
18247 info: &mut i32,
18248) {
18249 ffi::dlagsy_(
18250 &n,
18251 &k,
18252 d.as_ptr(),
18253 a.as_mut_ptr(),
18254 &lda,
18255 iseed.as_mut_ptr(),
18256 work.as_mut_ptr(),
18257 info,
18258 )
18259}
18260
18261#[inline]
18262pub unsafe fn slagsy(
18263 n: i32,
18264 k: i32,
18265 d: &[f32],
18266 a: &mut [f32],
18267 lda: i32,
18268 iseed: &mut [i32],
18269 work: &mut [f32],
18270 info: &mut i32,
18271) {
18272 ffi::slagsy_(
18273 &n,
18274 &k,
18275 d.as_ptr(),
18276 a.as_mut_ptr(),
18277 &lda,
18278 iseed.as_mut_ptr(),
18279 work.as_mut_ptr(),
18280 info,
18281 )
18282}
18283
18284#[inline]
18285pub unsafe fn zlagsy(
18286 n: i32,
18287 k: i32,
18288 d: &[f64],
18289 a: &mut [c64],
18290 lda: i32,
18291 iseed: &mut [i32],
18292 work: &mut [c64],
18293 info: &mut i32,
18294) {
18295 ffi::zlagsy_(
18296 &n,
18297 &k,
18298 d.as_ptr(),
18299 a.as_mut_ptr() as *mut _,
18300 &lda,
18301 iseed.as_mut_ptr(),
18302 work.as_mut_ptr() as *mut _,
18303 info,
18304 )
18305}
18306
18307#[inline]
18308pub unsafe fn dlamch(cmach: u8) -> f64 {
18309 ffi::dlamch_(&(cmach as c_char))
18310}
18311
18312#[inline]
18313pub unsafe fn slamch(cmach: u8) -> f32 {
18314 ffi::slamch_(&(cmach as c_char))
18315}
18316
18317#[inline]
18318pub unsafe fn clangb(
18319 norm: u8,
18320 n: i32,
18321 kl: i32,
18322 ku: i32,
18323 ab: &[c32],
18324 ldab: i32,
18325 work: &mut [f32],
18326) -> f32 {
18327 ffi::clangb_(
18328 &(norm as c_char),
18329 &n,
18330 &kl,
18331 &ku,
18332 ab.as_ptr() as *const _,
18333 &ldab,
18334 work.as_mut_ptr(),
18335 )
18336}
18337
18338#[inline]
18339pub unsafe fn dlangb(
18340 norm: u8,
18341 n: i32,
18342 kl: i32,
18343 ku: i32,
18344 ab: &[f64],
18345 ldab: i32,
18346 work: &mut [f64],
18347) -> f64 {
18348 ffi::dlangb_(
18349 &(norm as c_char),
18350 &n,
18351 &kl,
18352 &ku,
18353 ab.as_ptr(),
18354 &ldab,
18355 work.as_mut_ptr(),
18356 )
18357}
18358
18359#[inline]
18360pub unsafe fn slangb(
18361 norm: u8,
18362 n: i32,
18363 kl: i32,
18364 ku: i32,
18365 ab: &[f32],
18366 ldab: i32,
18367 work: &mut [f32],
18368) -> f32 {
18369 ffi::slangb_(
18370 &(norm as c_char),
18371 &n,
18372 &kl,
18373 &ku,
18374 ab.as_ptr(),
18375 &ldab,
18376 work.as_mut_ptr(),
18377 )
18378}
18379
18380#[inline]
18381pub unsafe fn zlangb(
18382 norm: u8,
18383 n: i32,
18384 kl: i32,
18385 ku: i32,
18386 ab: &[c64],
18387 ldab: i32,
18388 work: &mut [f64],
18389) -> f64 {
18390 ffi::zlangb_(
18391 &(norm as c_char),
18392 &n,
18393 &kl,
18394 &ku,
18395 ab.as_ptr() as *const _,
18396 &ldab,
18397 work.as_mut_ptr(),
18398 )
18399}
18400
18401#[inline]
18402pub unsafe fn clange(norm: u8, m: i32, n: i32, a: &[c32], lda: i32, work: &mut [f32]) -> f32 {
18403 ffi::clange_(
18404 &(norm as c_char),
18405 &m,
18406 &n,
18407 a.as_ptr() as *const _,
18408 &lda,
18409 work.as_mut_ptr(),
18410 )
18411}
18412
18413#[inline]
18414pub unsafe fn dlange(norm: u8, m: i32, n: i32, a: &[f64], lda: i32, work: &mut [f64]) -> f64 {
18415 ffi::dlange_(
18416 &(norm as c_char),
18417 &m,
18418 &n,
18419 a.as_ptr(),
18420 &lda,
18421 work.as_mut_ptr(),
18422 )
18423}
18424
18425#[inline]
18426pub unsafe fn slange(norm: u8, m: i32, n: i32, a: &[f32], lda: i32, work: &mut [f32]) -> f32 {
18427 ffi::slange_(
18428 &(norm as c_char),
18429 &m,
18430 &n,
18431 a.as_ptr(),
18432 &lda,
18433 work.as_mut_ptr(),
18434 )
18435}
18436
18437#[inline]
18438pub unsafe fn zlange(norm: u8, m: i32, n: i32, a: &[c64], lda: i32, work: &mut [f64]) -> f64 {
18439 ffi::zlange_(
18440 &(norm as c_char),
18441 &m,
18442 &n,
18443 a.as_ptr() as *const _,
18444 &lda,
18445 work.as_mut_ptr(),
18446 )
18447}
18448
18449#[inline]
18450pub unsafe fn clangt(norm: u8, n: i32, dl: &[c32], d: &[c32], du: &[c32]) -> f32 {
18451 ffi::clangt_(
18452 &(norm as c_char),
18453 &n,
18454 dl.as_ptr() as *const _,
18455 d.as_ptr() as *const _,
18456 du.as_ptr() as *const _,
18457 )
18458}
18459
18460#[inline]
18461pub unsafe fn dlangt(norm: u8, n: i32, dl: &[f64], d: &[f64], du: &[f64]) -> f64 {
18462 ffi::dlangt_(&(norm as c_char), &n, dl.as_ptr(), d.as_ptr(), du.as_ptr())
18463}
18464
18465#[inline]
18466pub unsafe fn slangt(norm: u8, n: i32, dl: &[f32], d: &[f32], du: &[f32]) -> f32 {
18467 ffi::slangt_(&(norm as c_char), &n, dl.as_ptr(), d.as_ptr(), du.as_ptr())
18468}
18469
18470#[inline]
18471pub unsafe fn zlangt(norm: u8, n: i32, dl: &[c64], d: &[c64], du: &[c64]) -> f64 {
18472 ffi::zlangt_(
18473 &(norm as c_char),
18474 &n,
18475 dl.as_ptr() as *const _,
18476 d.as_ptr() as *const _,
18477 du.as_ptr() as *const _,
18478 )
18479}
18480
18481#[inline]
18482pub unsafe fn clanhb(
18483 norm: u8,
18484 uplo: u8,
18485 n: i32,
18486 k: i32,
18487 ab: &[c32],
18488 ldab: i32,
18489 work: &mut [f32],
18490) -> f32 {
18491 ffi::clanhb_(
18492 &(norm as c_char),
18493 &(uplo as c_char),
18494 &n,
18495 &k,
18496 ab.as_ptr() as *const _,
18497 &ldab,
18498 work.as_mut_ptr(),
18499 )
18500}
18501
18502#[inline]
18503pub unsafe fn zlanhb(
18504 norm: u8,
18505 uplo: u8,
18506 n: i32,
18507 k: i32,
18508 ab: &[c64],
18509 ldab: i32,
18510 work: &mut [f64],
18511) -> f64 {
18512 ffi::zlanhb_(
18513 &(norm as c_char),
18514 &(uplo as c_char),
18515 &n,
18516 &k,
18517 ab.as_ptr() as *const _,
18518 &ldab,
18519 work.as_mut_ptr(),
18520 )
18521}
18522
18523#[inline]
18524pub unsafe fn clanhe(norm: u8, uplo: u8, n: i32, a: &[c32], lda: i32, work: &mut [f32]) -> f32 {
18525 ffi::clanhe_(
18526 &(norm as c_char),
18527 &(uplo as c_char),
18528 &n,
18529 a.as_ptr() as *const _,
18530 &lda,
18531 work.as_mut_ptr(),
18532 )
18533}
18534
18535#[inline]
18536pub unsafe fn zlanhe(norm: u8, uplo: u8, n: i32, a: &[c64], lda: i32, work: &mut [f64]) -> f64 {
18537 ffi::zlanhe_(
18538 &(norm as c_char),
18539 &(uplo as c_char),
18540 &n,
18541 a.as_ptr() as *const _,
18542 &lda,
18543 work.as_mut_ptr(),
18544 )
18545}
18546
18547#[inline]
18548pub unsafe fn clanhp(norm: u8, uplo: u8, n: i32, ap: &[c32], work: &mut [f32]) -> f32 {
18549 ffi::clanhp_(
18550 &(norm as c_char),
18551 &(uplo as c_char),
18552 &n,
18553 ap.as_ptr() as *const _,
18554 work.as_mut_ptr(),
18555 )
18556}
18557
18558#[inline]
18559pub unsafe fn zlanhp(norm: u8, uplo: u8, n: i32, ap: &[c64], work: &mut [f64]) -> f64 {
18560 ffi::zlanhp_(
18561 &(norm as c_char),
18562 &(uplo as c_char),
18563 &n,
18564 ap.as_ptr() as *const _,
18565 work.as_mut_ptr(),
18566 )
18567}
18568
18569#[inline]
18570pub unsafe fn clanhs(norm: u8, n: i32, a: &[c32], lda: i32, work: &mut [f32]) -> f32 {
18571 ffi::clanhs_(
18572 &(norm as c_char),
18573 &n,
18574 a.as_ptr() as *const _,
18575 &lda,
18576 work.as_mut_ptr(),
18577 )
18578}
18579
18580#[inline]
18581pub unsafe fn dlanhs(norm: u8, n: i32, a: &[f64], lda: i32, work: &mut [f64]) -> f64 {
18582 ffi::dlanhs_(&(norm as c_char), &n, a.as_ptr(), &lda, work.as_mut_ptr())
18583}
18584
18585#[inline]
18586pub unsafe fn slanhs(norm: u8, n: i32, a: &[f32], lda: i32, work: &mut [f32]) -> f32 {
18587 ffi::slanhs_(&(norm as c_char), &n, a.as_ptr(), &lda, work.as_mut_ptr())
18588}
18589
18590#[inline]
18591pub unsafe fn zlanhs(norm: u8, n: i32, a: &[c64], lda: i32, work: &mut [f64]) -> f64 {
18592 ffi::zlanhs_(
18593 &(norm as c_char),
18594 &n,
18595 a.as_ptr() as *const _,
18596 &lda,
18597 work.as_mut_ptr(),
18598 )
18599}
18600
18601#[inline]
18602pub unsafe fn clanht(norm: u8, n: i32, d: &[f32], e: &[c32]) -> f32 {
18603 ffi::clanht_(&(norm as c_char), &n, d.as_ptr(), e.as_ptr() as *const _)
18604}
18605
18606#[inline]
18607pub unsafe fn zlanht(norm: u8, n: i32, d: &[f64], e: &[c64]) -> f64 {
18608 ffi::zlanht_(&(norm as c_char), &n, d.as_ptr(), e.as_ptr() as *const _)
18609}
18610
18611#[inline]
18612pub unsafe fn clansb(
18613 norm: u8,
18614 uplo: u8,
18615 n: i32,
18616 k: i32,
18617 ab: &[c32],
18618 ldab: i32,
18619 work: &mut [f32],
18620) -> f32 {
18621 ffi::clansb_(
18622 &(norm as c_char),
18623 &(uplo as c_char),
18624 &n,
18625 &k,
18626 ab.as_ptr() as *const _,
18627 &ldab,
18628 work.as_mut_ptr(),
18629 )
18630}
18631
18632#[inline]
18633pub unsafe fn dlansb(
18634 norm: u8,
18635 uplo: u8,
18636 n: i32,
18637 k: i32,
18638 ab: &[f64],
18639 ldab: i32,
18640 work: &mut [f64],
18641) -> f64 {
18642 ffi::dlansb_(
18643 &(norm as c_char),
18644 &(uplo as c_char),
18645 &n,
18646 &k,
18647 ab.as_ptr(),
18648 &ldab,
18649 work.as_mut_ptr(),
18650 )
18651}
18652
18653#[inline]
18654pub unsafe fn slansb(
18655 norm: u8,
18656 uplo: u8,
18657 n: i32,
18658 k: i32,
18659 ab: &[f32],
18660 ldab: i32,
18661 work: &mut [f32],
18662) -> f32 {
18663 ffi::slansb_(
18664 &(norm as c_char),
18665 &(uplo as c_char),
18666 &n,
18667 &k,
18668 ab.as_ptr(),
18669 &ldab,
18670 work.as_mut_ptr(),
18671 )
18672}
18673
18674#[inline]
18675pub unsafe fn zlansb(
18676 norm: u8,
18677 uplo: u8,
18678 n: i32,
18679 k: i32,
18680 ab: &[c64],
18681 ldab: i32,
18682 work: &mut [f64],
18683) -> f64 {
18684 ffi::zlansb_(
18685 &(norm as c_char),
18686 &(uplo as c_char),
18687 &n,
18688 &k,
18689 ab.as_ptr() as *const _,
18690 &ldab,
18691 work.as_mut_ptr(),
18692 )
18693}
18694
18695#[inline]
18696pub unsafe fn clansp(norm: u8, uplo: u8, n: i32, ap: &[c32], work: &mut [f32]) -> f32 {
18697 ffi::clansp_(
18698 &(norm as c_char),
18699 &(uplo as c_char),
18700 &n,
18701 ap.as_ptr() as *const _,
18702 work.as_mut_ptr(),
18703 )
18704}
18705
18706#[inline]
18707pub unsafe fn dlansp(norm: u8, uplo: u8, n: i32, ap: &[f64], work: &mut [f64]) -> f64 {
18708 ffi::dlansp_(
18709 &(norm as c_char),
18710 &(uplo as c_char),
18711 &n,
18712 ap.as_ptr(),
18713 work.as_mut_ptr(),
18714 )
18715}
18716
18717#[inline]
18718pub unsafe fn slansp(norm: u8, uplo: u8, n: i32, ap: &[f32], work: &mut [f32]) -> f32 {
18719 ffi::slansp_(
18720 &(norm as c_char),
18721 &(uplo as c_char),
18722 &n,
18723 ap.as_ptr(),
18724 work.as_mut_ptr(),
18725 )
18726}
18727
18728#[inline]
18729pub unsafe fn zlansp(norm: u8, uplo: u8, n: i32, ap: &[c64], work: &mut [f64]) -> f64 {
18730 ffi::zlansp_(
18731 &(norm as c_char),
18732 &(uplo as c_char),
18733 &n,
18734 ap.as_ptr() as *const _,
18735 work.as_mut_ptr(),
18736 )
18737}
18738
18739#[inline]
18740pub unsafe fn dlanst(norm: u8, n: i32, d: &[f64], e: &[f64]) -> f64 {
18741 ffi::dlanst_(&(norm as c_char), &n, d.as_ptr(), e.as_ptr())
18742}
18743
18744#[inline]
18745pub unsafe fn slanst(norm: u8, n: i32, d: &[f32], e: &[f32]) -> f32 {
18746 ffi::slanst_(&(norm as c_char), &n, d.as_ptr(), e.as_ptr())
18747}
18748
18749#[inline]
18750pub unsafe fn clansy(norm: u8, uplo: u8, n: i32, a: &[c32], lda: i32, work: &mut [f32]) -> f32 {
18751 ffi::clansy_(
18752 &(norm as c_char),
18753 &(uplo as c_char),
18754 &n,
18755 a.as_ptr() as *const _,
18756 &lda,
18757 work.as_mut_ptr(),
18758 )
18759}
18760
18761#[inline]
18762pub unsafe fn dlansy(norm: u8, uplo: u8, n: i32, a: &[f64], lda: i32, work: &mut [f64]) -> f64 {
18763 ffi::dlansy_(
18764 &(norm as c_char),
18765 &(uplo as c_char),
18766 &n,
18767 a.as_ptr(),
18768 &lda,
18769 work.as_mut_ptr(),
18770 )
18771}
18772
18773#[inline]
18774pub unsafe fn slansy(norm: u8, uplo: u8, n: i32, a: &[f32], lda: i32, work: &mut [f32]) -> f32 {
18775 ffi::slansy_(
18776 &(norm as c_char),
18777 &(uplo as c_char),
18778 &n,
18779 a.as_ptr(),
18780 &lda,
18781 work.as_mut_ptr(),
18782 )
18783}
18784
18785#[inline]
18786pub unsafe fn zlansy(norm: u8, uplo: u8, n: i32, a: &[c64], lda: i32, work: &mut [f64]) -> f64 {
18787 ffi::zlansy_(
18788 &(norm as c_char),
18789 &(uplo as c_char),
18790 &n,
18791 a.as_ptr() as *const _,
18792 &lda,
18793 work.as_mut_ptr(),
18794 )
18795}
18796
18797#[inline]
18798pub unsafe fn clantb(
18799 norm: u8,
18800 uplo: u8,
18801 diag: u8,
18802 n: i32,
18803 k: i32,
18804 ab: &[c32],
18805 ldab: i32,
18806 work: &mut [f32],
18807) -> f32 {
18808 ffi::clantb_(
18809 &(norm as c_char),
18810 &(uplo as c_char),
18811 &(diag as c_char),
18812 &n,
18813 &k,
18814 ab.as_ptr() as *const _,
18815 &ldab,
18816 work.as_mut_ptr(),
18817 )
18818}
18819
18820#[inline]
18821pub unsafe fn dlantb(
18822 norm: u8,
18823 uplo: u8,
18824 diag: u8,
18825 n: i32,
18826 k: i32,
18827 ab: &[f64],
18828 ldab: i32,
18829 work: &mut [f64],
18830) -> f64 {
18831 ffi::dlantb_(
18832 &(norm as c_char),
18833 &(uplo as c_char),
18834 &(diag as c_char),
18835 &n,
18836 &k,
18837 ab.as_ptr(),
18838 &ldab,
18839 work.as_mut_ptr(),
18840 )
18841}
18842
18843#[inline]
18844pub unsafe fn slantb(
18845 norm: u8,
18846 uplo: u8,
18847 diag: u8,
18848 n: i32,
18849 k: i32,
18850 ab: &[f32],
18851 ldab: i32,
18852 work: &mut [f32],
18853) -> f32 {
18854 ffi::slantb_(
18855 &(norm as c_char),
18856 &(uplo as c_char),
18857 &(diag as c_char),
18858 &n,
18859 &k,
18860 ab.as_ptr(),
18861 &ldab,
18862 work.as_mut_ptr(),
18863 )
18864}
18865
18866#[inline]
18867pub unsafe fn zlantb(
18868 norm: u8,
18869 uplo: u8,
18870 diag: u8,
18871 n: i32,
18872 k: i32,
18873 ab: &[c64],
18874 ldab: i32,
18875 work: &mut [f64],
18876) -> f64 {
18877 ffi::zlantb_(
18878 &(norm as c_char),
18879 &(uplo as c_char),
18880 &(diag as c_char),
18881 &n,
18882 &k,
18883 ab.as_ptr() as *const _,
18884 &ldab,
18885 work.as_mut_ptr(),
18886 )
18887}
18888
18889#[inline]
18890pub unsafe fn clantp(norm: u8, uplo: u8, diag: u8, n: i32, ap: &[c32], work: &mut [f32]) -> f32 {
18891 ffi::clantp_(
18892 &(norm as c_char),
18893 &(uplo as c_char),
18894 &(diag as c_char),
18895 &n,
18896 ap.as_ptr() as *const _,
18897 work.as_mut_ptr(),
18898 )
18899}
18900
18901#[inline]
18902pub unsafe fn dlantp(norm: u8, uplo: u8, diag: u8, n: i32, ap: &[f64], work: &mut [f64]) -> f64 {
18903 ffi::dlantp_(
18904 &(norm as c_char),
18905 &(uplo as c_char),
18906 &(diag as c_char),
18907 &n,
18908 ap.as_ptr(),
18909 work.as_mut_ptr(),
18910 )
18911}
18912
18913#[inline]
18914pub unsafe fn slantp(norm: u8, uplo: u8, diag: u8, n: i32, ap: &[f32], work: &mut [f32]) -> f32 {
18915 ffi::slantp_(
18916 &(norm as c_char),
18917 &(uplo as c_char),
18918 &(diag as c_char),
18919 &n,
18920 ap.as_ptr(),
18921 work.as_mut_ptr(),
18922 )
18923}
18924
18925#[inline]
18926pub unsafe fn zlantp(norm: u8, uplo: u8, diag: u8, n: i32, ap: &[c64], work: &mut [f64]) -> f64 {
18927 ffi::zlantp_(
18928 &(norm as c_char),
18929 &(uplo as c_char),
18930 &(diag as c_char),
18931 &n,
18932 ap.as_ptr() as *const _,
18933 work.as_mut_ptr(),
18934 )
18935}
18936
18937#[inline]
18938pub unsafe fn clantr(
18939 norm: u8,
18940 uplo: u8,
18941 diag: u8,
18942 m: i32,
18943 n: i32,
18944 a: &[c32],
18945 lda: i32,
18946 work: &mut [f32],
18947) -> f32 {
18948 ffi::clantr_(
18949 &(norm as c_char),
18950 &(uplo as c_char),
18951 &(diag as c_char),
18952 &m,
18953 &n,
18954 a.as_ptr() as *const _,
18955 &lda,
18956 work.as_mut_ptr(),
18957 )
18958}
18959
18960#[inline]
18961pub unsafe fn dlantr(
18962 norm: u8,
18963 uplo: u8,
18964 diag: u8,
18965 m: i32,
18966 n: i32,
18967 a: &[f64],
18968 lda: i32,
18969 work: &mut [f64],
18970) -> f64 {
18971 ffi::dlantr_(
18972 &(norm as c_char),
18973 &(uplo as c_char),
18974 &(diag as c_char),
18975 &m,
18976 &n,
18977 a.as_ptr(),
18978 &lda,
18979 work.as_mut_ptr(),
18980 )
18981}
18982
18983#[inline]
18984pub unsafe fn slantr(
18985 norm: u8,
18986 uplo: u8,
18987 diag: u8,
18988 m: i32,
18989 n: i32,
18990 a: &[f32],
18991 lda: i32,
18992 work: &mut [f32],
18993) -> f32 {
18994 ffi::slantr_(
18995 &(norm as c_char),
18996 &(uplo as c_char),
18997 &(diag as c_char),
18998 &m,
18999 &n,
19000 a.as_ptr(),
19001 &lda,
19002 work.as_mut_ptr(),
19003 )
19004}
19005
19006#[inline]
19007pub unsafe fn zlantr(
19008 norm: u8,
19009 uplo: u8,
19010 diag: u8,
19011 m: i32,
19012 n: i32,
19013 a: &[c64],
19014 lda: i32,
19015 work: &mut [f64],
19016) -> f64 {
19017 ffi::zlantr_(
19018 &(norm as c_char),
19019 &(uplo as c_char),
19020 &(diag as c_char),
19021 &m,
19022 &n,
19023 a.as_ptr() as *const _,
19024 &lda,
19025 work.as_mut_ptr(),
19026 )
19027}
19028
19029#[inline]
19030pub unsafe fn clapmr(forwrd: &[i32], m: i32, n: i32, x: &mut [c32], ldx: i32, k: &mut [i32]) {
19031 ffi::clapmr_(
19032 forwrd.as_ptr(),
19033 &m,
19034 &n,
19035 x.as_mut_ptr() as *mut _,
19036 &ldx,
19037 k.as_mut_ptr(),
19038 )
19039}
19040
19041#[inline]
19042pub unsafe fn dlapmr(forwrd: &[i32], m: i32, n: i32, x: &mut [f64], ldx: i32, k: &mut [i32]) {
19043 ffi::dlapmr_(
19044 forwrd.as_ptr(),
19045 &m,
19046 &n,
19047 x.as_mut_ptr(),
19048 &ldx,
19049 k.as_mut_ptr(),
19050 )
19051}
19052
19053#[inline]
19054pub unsafe fn slapmr(forwrd: &[i32], m: i32, n: i32, x: &mut [f32], ldx: i32, k: &mut [i32]) {
19055 ffi::slapmr_(
19056 forwrd.as_ptr(),
19057 &m,
19058 &n,
19059 x.as_mut_ptr(),
19060 &ldx,
19061 k.as_mut_ptr(),
19062 )
19063}
19064
19065#[inline]
19066pub unsafe fn zlapmr(forwrd: &[i32], m: i32, n: i32, x: &mut [c64], ldx: i32, k: &mut [i32]) {
19067 ffi::zlapmr_(
19068 forwrd.as_ptr(),
19069 &m,
19070 &n,
19071 x.as_mut_ptr() as *mut _,
19072 &ldx,
19073 k.as_mut_ptr(),
19074 )
19075}
19076
19077#[inline]
19078pub unsafe fn clapmt(forwrd: &[i32], m: i32, n: i32, x: &mut [c32], ldx: i32, k: &mut [i32]) {
19079 ffi::clapmt_(
19080 forwrd.as_ptr(),
19081 &m,
19082 &n,
19083 x.as_mut_ptr() as *mut _,
19084 &ldx,
19085 k.as_mut_ptr(),
19086 )
19087}
19088
19089#[inline]
19090pub unsafe fn dlapmt(forwrd: &[i32], m: i32, n: i32, x: &mut [f64], ldx: i32, k: &mut [i32]) {
19091 ffi::dlapmt_(
19092 forwrd.as_ptr(),
19093 &m,
19094 &n,
19095 x.as_mut_ptr(),
19096 &ldx,
19097 k.as_mut_ptr(),
19098 )
19099}
19100
19101#[inline]
19102pub unsafe fn slapmt(forwrd: &[i32], m: i32, n: i32, x: &mut [f32], ldx: i32, k: &mut [i32]) {
19103 ffi::slapmt_(
19104 forwrd.as_ptr(),
19105 &m,
19106 &n,
19107 x.as_mut_ptr(),
19108 &ldx,
19109 k.as_mut_ptr(),
19110 )
19111}
19112
19113#[inline]
19114pub unsafe fn zlapmt(forwrd: &[i32], m: i32, n: i32, x: &mut [c64], ldx: i32, k: &mut [i32]) {
19115 ffi::zlapmt_(
19116 forwrd.as_ptr(),
19117 &m,
19118 &n,
19119 x.as_mut_ptr() as *mut _,
19120 &ldx,
19121 k.as_mut_ptr(),
19122 )
19123}
19124
19125#[inline]
19126pub unsafe fn dlapy2(x: &[f64], y: &[f64]) -> f64 {
19127 ffi::dlapy2_(x.as_ptr(), y.as_ptr())
19128}
19129
19130#[inline]
19131pub unsafe fn slapy2(x: &[f32], y: &[f32]) -> f32 {
19132 ffi::slapy2_(x.as_ptr(), y.as_ptr())
19133}
19134
19135#[inline]
19136pub unsafe fn dlapy3(x: &[f64], y: &[f64], z: &[f64]) -> f64 {
19137 ffi::dlapy3_(x.as_ptr(), y.as_ptr(), z.as_ptr())
19138}
19139
19140#[inline]
19141pub unsafe fn slapy3(x: &[f32], y: &[f32], z: &[f32]) -> f32 {
19142 ffi::slapy3_(x.as_ptr(), y.as_ptr(), z.as_ptr())
19143}
19144
19145#[inline]
19146pub unsafe fn clarcm(
19147 m: i32,
19148 n: i32,
19149 a: &[f32],
19150 lda: i32,
19151 b: &[c32],
19152 ldb: i32,
19153 c: &mut [c32],
19154 ldc: i32,
19155 rwork: &mut [f32],
19156) {
19157 ffi::clarcm_(
19158 &m,
19159 &n,
19160 a.as_ptr(),
19161 &lda,
19162 b.as_ptr() as *const _,
19163 &ldb,
19164 c.as_mut_ptr() as *mut _,
19165 &ldc,
19166 rwork.as_mut_ptr(),
19167 )
19168}
19169
19170#[inline]
19171pub unsafe fn zlarcm(
19172 m: i32,
19173 n: i32,
19174 a: &[f64],
19175 lda: i32,
19176 b: &[c64],
19177 ldb: i32,
19178 c: &mut [c64],
19179 ldc: i32,
19180 rwork: &mut [f64],
19181) {
19182 ffi::zlarcm_(
19183 &m,
19184 &n,
19185 a.as_ptr(),
19186 &lda,
19187 b.as_ptr() as *const _,
19188 &ldb,
19189 c.as_mut_ptr() as *mut _,
19190 &ldc,
19191 rwork.as_mut_ptr(),
19192 )
19193}
19194
19195#[inline]
19196pub unsafe fn clarf(
19197 side: u8,
19198 m: i32,
19199 n: i32,
19200 v: &[c32],
19201 incv: i32,
19202 tau: &[c32],
19203 c: &mut [c32],
19204 ldc: i32,
19205 work: &mut [c32],
19206) {
19207 ffi::clarf_(
19208 &(side as c_char),
19209 &m,
19210 &n,
19211 v.as_ptr() as *const _,
19212 &incv,
19213 tau.as_ptr() as *const _,
19214 c.as_mut_ptr() as *mut _,
19215 &ldc,
19216 work.as_mut_ptr() as *mut _,
19217 )
19218}
19219
19220#[inline]
19221pub unsafe fn dlarf(
19222 side: u8,
19223 m: i32,
19224 n: i32,
19225 v: &[f64],
19226 incv: i32,
19227 tau: &[f64],
19228 c: &mut [f64],
19229 ldc: i32,
19230 work: &mut [f64],
19231) {
19232 ffi::dlarf_(
19233 &(side as c_char),
19234 &m,
19235 &n,
19236 v.as_ptr(),
19237 &incv,
19238 tau.as_ptr(),
19239 c.as_mut_ptr(),
19240 &ldc,
19241 work.as_mut_ptr(),
19242 )
19243}
19244
19245#[inline]
19246pub unsafe fn slarf(
19247 side: u8,
19248 m: i32,
19249 n: i32,
19250 v: &[f32],
19251 incv: i32,
19252 tau: &[f32],
19253 c: &mut [f32],
19254 ldc: i32,
19255 work: &mut [f32],
19256) {
19257 ffi::slarf_(
19258 &(side as c_char),
19259 &m,
19260 &n,
19261 v.as_ptr(),
19262 &incv,
19263 tau.as_ptr(),
19264 c.as_mut_ptr(),
19265 &ldc,
19266 work.as_mut_ptr(),
19267 )
19268}
19269
19270#[inline]
19271pub unsafe fn zlarf(
19272 side: u8,
19273 m: i32,
19274 n: i32,
19275 v: &[c64],
19276 incv: i32,
19277 tau: &[c64],
19278 c: &mut [c64],
19279 ldc: i32,
19280 work: &mut [c64],
19281) {
19282 ffi::zlarf_(
19283 &(side as c_char),
19284 &m,
19285 &n,
19286 v.as_ptr() as *const _,
19287 &incv,
19288 tau.as_ptr() as *const _,
19289 c.as_mut_ptr() as *mut _,
19290 &ldc,
19291 work.as_mut_ptr() as *mut _,
19292 )
19293}
19294
19295#[inline]
19296pub unsafe fn clarfb(
19297 side: u8,
19298 trans: u8,
19299 direct: u8,
19300 storev: u8,
19301 m: i32,
19302 n: i32,
19303 k: i32,
19304 v: &[c32],
19305 ldv: i32,
19306 t: &[c32],
19307 ldt: i32,
19308 c: &mut [c32],
19309 ldc: i32,
19310 work: &mut [c32],
19311 ldwork: i32,
19312) {
19313 ffi::clarfb_(
19314 &(side as c_char),
19315 &(trans as c_char),
19316 &(direct as c_char),
19317 &(storev as c_char),
19318 &m,
19319 &n,
19320 &k,
19321 v.as_ptr() as *const _,
19322 &ldv,
19323 t.as_ptr() as *const _,
19324 &ldt,
19325 c.as_mut_ptr() as *mut _,
19326 &ldc,
19327 work.as_mut_ptr() as *mut _,
19328 &ldwork,
19329 )
19330}
19331
19332#[inline]
19333pub unsafe fn dlarfb(
19334 side: u8,
19335 trans: u8,
19336 direct: u8,
19337 storev: u8,
19338 m: i32,
19339 n: i32,
19340 k: i32,
19341 v: &[f64],
19342 ldv: i32,
19343 t: &[f64],
19344 ldt: i32,
19345 c: &mut [f64],
19346 ldc: i32,
19347 work: &mut [f64],
19348 ldwork: i32,
19349) {
19350 ffi::dlarfb_(
19351 &(side as c_char),
19352 &(trans as c_char),
19353 &(direct as c_char),
19354 &(storev as c_char),
19355 &m,
19356 &n,
19357 &k,
19358 v.as_ptr(),
19359 &ldv,
19360 t.as_ptr(),
19361 &ldt,
19362 c.as_mut_ptr(),
19363 &ldc,
19364 work.as_mut_ptr(),
19365 &ldwork,
19366 )
19367}
19368
19369#[inline]
19370pub unsafe fn slarfb(
19371 side: u8,
19372 trans: u8,
19373 direct: u8,
19374 storev: u8,
19375 m: i32,
19376 n: i32,
19377 k: i32,
19378 v: &[f32],
19379 ldv: i32,
19380 t: &[f32],
19381 ldt: i32,
19382 c: &mut [f32],
19383 ldc: i32,
19384 work: &mut [f32],
19385 ldwork: i32,
19386) {
19387 ffi::slarfb_(
19388 &(side as c_char),
19389 &(trans as c_char),
19390 &(direct as c_char),
19391 &(storev as c_char),
19392 &m,
19393 &n,
19394 &k,
19395 v.as_ptr(),
19396 &ldv,
19397 t.as_ptr(),
19398 &ldt,
19399 c.as_mut_ptr(),
19400 &ldc,
19401 work.as_mut_ptr(),
19402 &ldwork,
19403 )
19404}
19405
19406#[inline]
19407pub unsafe fn zlarfb(
19408 side: u8,
19409 trans: u8,
19410 direct: u8,
19411 storev: u8,
19412 m: i32,
19413 n: i32,
19414 k: i32,
19415 v: &[c64],
19416 ldv: i32,
19417 t: &[c64],
19418 ldt: i32,
19419 c: &mut [c64],
19420 ldc: i32,
19421 work: &mut [c64],
19422 ldwork: i32,
19423) {
19424 ffi::zlarfb_(
19425 &(side as c_char),
19426 &(trans as c_char),
19427 &(direct as c_char),
19428 &(storev as c_char),
19429 &m,
19430 &n,
19431 &k,
19432 v.as_ptr() as *const _,
19433 &ldv,
19434 t.as_ptr() as *const _,
19435 &ldt,
19436 c.as_mut_ptr() as *mut _,
19437 &ldc,
19438 work.as_mut_ptr() as *mut _,
19439 &ldwork,
19440 )
19441}
19442
19443#[inline]
19444pub unsafe fn clarfg(n: i32, alpha: &mut c32, x: &mut [c32], incx: i32, tau: &mut [c32]) {
19445 ffi::clarfg_(
19446 &n,
19447 alpha as *mut _ as *mut _,
19448 x.as_mut_ptr() as *mut _,
19449 &incx,
19450 tau.as_mut_ptr() as *mut _,
19451 )
19452}
19453
19454#[inline]
19455pub unsafe fn dlarfg(n: i32, alpha: &mut f64, x: &mut [f64], incx: i32, tau: &mut [f64]) {
19456 ffi::dlarfg_(&n, alpha, x.as_mut_ptr(), &incx, tau.as_mut_ptr())
19457}
19458
19459#[inline]
19460pub unsafe fn slarfg(n: i32, alpha: &mut f32, x: &mut [f32], incx: i32, tau: &mut [f32]) {
19461 ffi::slarfg_(&n, alpha, x.as_mut_ptr(), &incx, tau.as_mut_ptr())
19462}
19463
19464#[inline]
19465pub unsafe fn zlarfg(n: i32, alpha: &mut c64, x: &mut [c64], incx: i32, tau: &mut [c64]) {
19466 ffi::zlarfg_(
19467 &n,
19468 alpha as *mut _ as *mut _,
19469 x.as_mut_ptr() as *mut _,
19470 &incx,
19471 tau.as_mut_ptr() as *mut _,
19472 )
19473}
19474
19475#[inline]
19476pub unsafe fn clarft(
19477 direct: u8,
19478 storev: u8,
19479 n: i32,
19480 k: i32,
19481 v: &[c32],
19482 ldv: i32,
19483 tau: &[c32],
19484 t: &mut [c32],
19485 ldt: i32,
19486) {
19487 ffi::clarft_(
19488 &(direct as c_char),
19489 &(storev as c_char),
19490 &n,
19491 &k,
19492 v.as_ptr() as *const _,
19493 &ldv,
19494 tau.as_ptr() as *const _,
19495 t.as_mut_ptr() as *mut _,
19496 &ldt,
19497 )
19498}
19499
19500#[inline]
19501pub unsafe fn dlarft(
19502 direct: u8,
19503 storev: u8,
19504 n: i32,
19505 k: i32,
19506 v: &[f64],
19507 ldv: i32,
19508 tau: &[f64],
19509 t: &mut [f64],
19510 ldt: i32,
19511) {
19512 ffi::dlarft_(
19513 &(direct as c_char),
19514 &(storev as c_char),
19515 &n,
19516 &k,
19517 v.as_ptr(),
19518 &ldv,
19519 tau.as_ptr(),
19520 t.as_mut_ptr(),
19521 &ldt,
19522 )
19523}
19524
19525#[inline]
19526pub unsafe fn slarft(
19527 direct: u8,
19528 storev: u8,
19529 n: i32,
19530 k: i32,
19531 v: &[f32],
19532 ldv: i32,
19533 tau: &[f32],
19534 t: &mut [f32],
19535 ldt: i32,
19536) {
19537 ffi::slarft_(
19538 &(direct as c_char),
19539 &(storev as c_char),
19540 &n,
19541 &k,
19542 v.as_ptr(),
19543 &ldv,
19544 tau.as_ptr(),
19545 t.as_mut_ptr(),
19546 &ldt,
19547 )
19548}
19549
19550#[inline]
19551pub unsafe fn zlarft(
19552 direct: u8,
19553 storev: u8,
19554 n: i32,
19555 k: i32,
19556 v: &[c64],
19557 ldv: i32,
19558 tau: &[c64],
19559 t: &mut [c64],
19560 ldt: i32,
19561) {
19562 ffi::zlarft_(
19563 &(direct as c_char),
19564 &(storev as c_char),
19565 &n,
19566 &k,
19567 v.as_ptr() as *const _,
19568 &ldv,
19569 tau.as_ptr() as *const _,
19570 t.as_mut_ptr() as *mut _,
19571 &ldt,
19572 )
19573}
19574
19575#[inline]
19576pub unsafe fn clarfx(
19577 side: u8,
19578 m: i32,
19579 n: i32,
19580 v: &[c32],
19581 tau: &[c32],
19582 c: &mut [c32],
19583 ldc: i32,
19584 work: &mut [c32],
19585) {
19586 ffi::clarfx_(
19587 &(side as c_char),
19588 &m,
19589 &n,
19590 v.as_ptr() as *const _,
19591 tau.as_ptr() as *const _,
19592 c.as_mut_ptr() as *mut _,
19593 &ldc,
19594 work.as_mut_ptr() as *mut _,
19595 )
19596}
19597
19598#[inline]
19599pub unsafe fn dlarfx(
19600 side: u8,
19601 m: i32,
19602 n: i32,
19603 v: &[f64],
19604 tau: &[f64],
19605 c: &mut [f64],
19606 ldc: i32,
19607 work: &mut [f64],
19608) {
19609 ffi::dlarfx_(
19610 &(side as c_char),
19611 &m,
19612 &n,
19613 v.as_ptr(),
19614 tau.as_ptr(),
19615 c.as_mut_ptr(),
19616 &ldc,
19617 work.as_mut_ptr(),
19618 )
19619}
19620
19621#[inline]
19622pub unsafe fn slarfx(
19623 side: u8,
19624 m: i32,
19625 n: i32,
19626 v: &[f32],
19627 tau: &[f32],
19628 c: &mut [f32],
19629 ldc: i32,
19630 work: &mut [f32],
19631) {
19632 ffi::slarfx_(
19633 &(side as c_char),
19634 &m,
19635 &n,
19636 v.as_ptr(),
19637 tau.as_ptr(),
19638 c.as_mut_ptr(),
19639 &ldc,
19640 work.as_mut_ptr(),
19641 )
19642}
19643
19644#[inline]
19645pub unsafe fn zlarfx(
19646 side: u8,
19647 m: i32,
19648 n: i32,
19649 v: &[c64],
19650 tau: &[c64],
19651 c: &mut [c64],
19652 ldc: i32,
19653 work: &mut [c64],
19654) {
19655 ffi::zlarfx_(
19656 &(side as c_char),
19657 &m,
19658 &n,
19659 v.as_ptr() as *const _,
19660 tau.as_ptr() as *const _,
19661 c.as_mut_ptr() as *mut _,
19662 &ldc,
19663 work.as_mut_ptr() as *mut _,
19664 )
19665}
19666
19667#[inline]
19668pub unsafe fn clarnv(idist: &[i32], iseed: &mut [i32], n: i32, x: &mut [c32]) {
19669 ffi::clarnv_(
19670 idist.as_ptr(),
19671 iseed.as_mut_ptr(),
19672 &n,
19673 x.as_mut_ptr() as *mut _,
19674 )
19675}
19676
19677#[inline]
19678pub unsafe fn dlarnv(idist: &[i32], iseed: &mut [i32], n: i32, x: &mut [f64]) {
19679 ffi::dlarnv_(idist.as_ptr(), iseed.as_mut_ptr(), &n, x.as_mut_ptr())
19680}
19681
19682#[inline]
19683pub unsafe fn slarnv(idist: &[i32], iseed: &mut [i32], n: i32, x: &mut [f32]) {
19684 ffi::slarnv_(idist.as_ptr(), iseed.as_mut_ptr(), &n, x.as_mut_ptr())
19685}
19686
19687#[inline]
19688pub unsafe fn zlarnv(idist: &[i32], iseed: &mut [i32], n: i32, x: &mut [c64]) {
19689 ffi::zlarnv_(
19690 idist.as_ptr(),
19691 iseed.as_mut_ptr(),
19692 &n,
19693 x.as_mut_ptr() as *mut _,
19694 )
19695}
19696
19697#[inline]
19698pub unsafe fn dlartgp(f: &[f64], g: &[f64], cs: &mut [f64], sn: &mut [f64], r: &mut [f64]) {
19699 ffi::dlartgp_(
19700 f.as_ptr(),
19701 g.as_ptr(),
19702 cs.as_mut_ptr(),
19703 sn.as_mut_ptr(),
19704 r.as_mut_ptr(),
19705 )
19706}
19707
19708#[inline]
19709pub unsafe fn slartgp(f: &[f32], g: &[f32], cs: &mut [f32], sn: &mut [f32], r: &mut [f32]) {
19710 ffi::slartgp_(
19711 f.as_ptr(),
19712 g.as_ptr(),
19713 cs.as_mut_ptr(),
19714 sn.as_mut_ptr(),
19715 r.as_mut_ptr(),
19716 )
19717}
19718
19719#[inline]
19720pub unsafe fn dlartgs(x: &[f64], y: &[f64], sigma: &[f64], cs: &mut [f64], sn: &mut [f64]) {
19721 ffi::dlartgs_(
19722 x.as_ptr(),
19723 y.as_ptr(),
19724 sigma.as_ptr(),
19725 cs.as_mut_ptr(),
19726 sn.as_mut_ptr(),
19727 )
19728}
19729
19730#[inline]
19731pub unsafe fn slartgs(x: &[f32], y: &[f32], sigma: &[f32], cs: &mut [f32], sn: &mut [f32]) {
19732 ffi::slartgs_(
19733 x.as_ptr(),
19734 y.as_ptr(),
19735 sigma.as_ptr(),
19736 cs.as_mut_ptr(),
19737 sn.as_mut_ptr(),
19738 )
19739}
19740
19741#[inline]
19742pub unsafe fn clascl(
19743 type_: u8,
19744 kl: i32,
19745 ku: i32,
19746 cfrom: &[f32],
19747 cto: &[f32],
19748 m: i32,
19749 n: i32,
19750 a: &mut [c32],
19751 lda: i32,
19752 info: &mut i32,
19753) {
19754 ffi::clascl_(
19755 &(type_ as c_char),
19756 &kl,
19757 &ku,
19758 cfrom.as_ptr(),
19759 cto.as_ptr(),
19760 &m,
19761 &n,
19762 a.as_mut_ptr() as *mut _,
19763 &lda,
19764 info,
19765 )
19766}
19767
19768#[inline]
19769pub unsafe fn dlascl(
19770 type_: u8,
19771 kl: i32,
19772 ku: i32,
19773 cfrom: &[f64],
19774 cto: &[f64],
19775 m: i32,
19776 n: i32,
19777 a: &mut [f64],
19778 lda: i32,
19779 info: &mut i32,
19780) {
19781 ffi::dlascl_(
19782 &(type_ as c_char),
19783 &kl,
19784 &ku,
19785 cfrom.as_ptr(),
19786 cto.as_ptr(),
19787 &m,
19788 &n,
19789 a.as_mut_ptr(),
19790 &lda,
19791 info,
19792 )
19793}
19794
19795#[inline]
19796pub unsafe fn slascl(
19797 type_: u8,
19798 kl: i32,
19799 ku: i32,
19800 cfrom: &[f32],
19801 cto: &[f32],
19802 m: i32,
19803 n: i32,
19804 a: &mut [f32],
19805 lda: i32,
19806 info: &mut i32,
19807) {
19808 ffi::slascl_(
19809 &(type_ as c_char),
19810 &kl,
19811 &ku,
19812 cfrom.as_ptr(),
19813 cto.as_ptr(),
19814 &m,
19815 &n,
19816 a.as_mut_ptr(),
19817 &lda,
19818 info,
19819 )
19820}
19821
19822#[inline]
19823pub unsafe fn zlascl(
19824 type_: u8,
19825 kl: i32,
19826 ku: i32,
19827 cfrom: &[f64],
19828 cto: &[f64],
19829 m: i32,
19830 n: i32,
19831 a: &mut [c64],
19832 lda: i32,
19833 info: &mut i32,
19834) {
19835 ffi::zlascl_(
19836 &(type_ as c_char),
19837 &kl,
19838 &ku,
19839 cfrom.as_ptr(),
19840 cto.as_ptr(),
19841 &m,
19842 &n,
19843 a.as_mut_ptr() as *mut _,
19844 &lda,
19845 info,
19846 )
19847}
19848
19849#[inline]
19850pub unsafe fn claset(
19851 uplo: u8,
19852 m: i32,
19853 n: i32,
19854 alpha: &[c32],
19855 beta: &[c32],
19856 a: &mut [c32],
19857 lda: i32,
19858) {
19859 ffi::claset_(
19860 &(uplo as c_char),
19861 &m,
19862 &n,
19863 alpha.as_ptr() as *const _,
19864 beta.as_ptr() as *const _,
19865 a.as_mut_ptr() as *mut _,
19866 &lda,
19867 )
19868}
19869
19870#[inline]
19871pub unsafe fn dlaset(
19872 uplo: u8,
19873 m: i32,
19874 n: i32,
19875 alpha: &[f64],
19876 beta: &[f64],
19877 a: &mut [f64],
19878 lda: i32,
19879) {
19880 ffi::dlaset_(
19881 &(uplo as c_char),
19882 &m,
19883 &n,
19884 alpha.as_ptr(),
19885 beta.as_ptr(),
19886 a.as_mut_ptr(),
19887 &lda,
19888 )
19889}
19890
19891#[inline]
19892pub unsafe fn slaset(
19893 uplo: u8,
19894 m: i32,
19895 n: i32,
19896 alpha: &[f32],
19897 beta: &[f32],
19898 a: &mut [f32],
19899 lda: i32,
19900) {
19901 ffi::slaset_(
19902 &(uplo as c_char),
19903 &m,
19904 &n,
19905 alpha.as_ptr(),
19906 beta.as_ptr(),
19907 a.as_mut_ptr(),
19908 &lda,
19909 )
19910}
19911
19912#[inline]
19913pub unsafe fn zlaset(
19914 uplo: u8,
19915 m: i32,
19916 n: i32,
19917 alpha: &[c64],
19918 beta: &[c64],
19919 a: &mut [c64],
19920 lda: i32,
19921) {
19922 ffi::zlaset_(
19923 &(uplo as c_char),
19924 &m,
19925 &n,
19926 alpha.as_ptr() as *const _,
19927 beta.as_ptr() as *const _,
19928 a.as_mut_ptr() as *mut _,
19929 &lda,
19930 )
19931}
19932
19933#[inline]
19934pub unsafe fn dlasrt(id: u8, n: i32, d: &mut [f64], info: &mut i32) {
19935 ffi::dlasrt_(&(id as c_char), &n, d.as_mut_ptr(), info)
19936}
19937
19938#[inline]
19939pub unsafe fn slasrt(id: u8, n: i32, d: &mut [f32], info: &mut i32) {
19940 ffi::slasrt_(&(id as c_char), &n, d.as_mut_ptr(), info)
19941}
19942
19943#[inline]
19944pub unsafe fn classq(n: i32, x: &[c32], incx: i32, scale: &mut [f32], sumsq: &mut [f32]) {
19945 ffi::classq_(
19946 &n,
19947 x.as_ptr() as *const _,
19948 &incx,
19949 scale.as_mut_ptr(),
19950 sumsq.as_mut_ptr(),
19951 )
19952}
19953
19954#[inline]
19955pub unsafe fn dlassq(n: i32, x: &[f64], incx: i32, scale: &mut [f64], sumsq: &mut [f64]) {
19956 ffi::dlassq_(
19957 &n,
19958 x.as_ptr(),
19959 &incx,
19960 scale.as_mut_ptr(),
19961 sumsq.as_mut_ptr(),
19962 )
19963}
19964
19965#[inline]
19966pub unsafe fn slassq(n: i32, x: &[f32], incx: i32, scale: &mut [f32], sumsq: &mut [f32]) {
19967 ffi::slassq_(
19968 &n,
19969 x.as_ptr(),
19970 &incx,
19971 scale.as_mut_ptr(),
19972 sumsq.as_mut_ptr(),
19973 )
19974}
19975
19976#[inline]
19977pub unsafe fn zlassq(n: i32, x: &[c64], incx: i32, scale: &mut [f64], sumsq: &mut [f64]) {
19978 ffi::zlassq_(
19979 &n,
19980 x.as_ptr() as *const _,
19981 &incx,
19982 scale.as_mut_ptr(),
19983 sumsq.as_mut_ptr(),
19984 )
19985}
19986
19987#[inline]
19988pub unsafe fn claswp(n: i32, a: &mut [c32], lda: i32, k1: i32, k2: i32, ipiv: &[i32], incx: i32) {
19989 ffi::claswp_(
19990 &n,
19991 a.as_mut_ptr() as *mut _,
19992 &lda,
19993 &k1,
19994 &k2,
19995 ipiv.as_ptr(),
19996 &incx,
19997 )
19998}
19999
20000#[inline]
20001pub unsafe fn dlaswp(n: i32, a: &mut [f64], lda: i32, k1: i32, k2: i32, ipiv: &[i32], incx: i32) {
20002 ffi::dlaswp_(&n, a.as_mut_ptr(), &lda, &k1, &k2, ipiv.as_ptr(), &incx)
20003}
20004
20005#[inline]
20006pub unsafe fn slaswp(n: i32, a: &mut [f32], lda: i32, k1: i32, k2: i32, ipiv: &[i32], incx: i32) {
20007 ffi::slaswp_(&n, a.as_mut_ptr(), &lda, &k1, &k2, ipiv.as_ptr(), &incx)
20008}
20009
20010#[inline]
20011pub unsafe fn zlaswp(n: i32, a: &mut [c64], lda: i32, k1: i32, k2: i32, ipiv: &[i32], incx: i32) {
20012 ffi::zlaswp_(
20013 &n,
20014 a.as_mut_ptr() as *mut _,
20015 &lda,
20016 &k1,
20017 &k2,
20018 ipiv.as_ptr(),
20019 &incx,
20020 )
20021}
20022
20023#[inline]
20024pub unsafe fn clatms(
20025 m: i32,
20026 n: i32,
20027 dist: u8,
20028 iseed: &mut [i32],
20029 sym: u8,
20030 d: &mut [f32],
20031 mode: &[i32],
20032 cond: &[f32],
20033 dmax: &[f32],
20034 kl: i32,
20035 ku: i32,
20036 pack: u8,
20037 a: &mut [c32],
20038 lda: i32,
20039 work: &mut [c32],
20040 info: &mut i32,
20041) {
20042 ffi::clatms_(
20043 &m,
20044 &n,
20045 &(dist as c_char),
20046 iseed.as_mut_ptr(),
20047 &(sym as c_char),
20048 d.as_mut_ptr(),
20049 mode.as_ptr(),
20050 cond.as_ptr(),
20051 dmax.as_ptr(),
20052 &kl,
20053 &ku,
20054 &(pack as c_char),
20055 a.as_mut_ptr() as *mut _,
20056 &lda,
20057 work.as_mut_ptr() as *mut _,
20058 info,
20059 )
20060}
20061
20062#[inline]
20063pub unsafe fn dlatms(
20064 m: i32,
20065 n: i32,
20066 dist: u8,
20067 iseed: &mut [i32],
20068 sym: u8,
20069 d: &mut [f64],
20070 mode: &[i32],
20071 cond: &[f64],
20072 dmax: &[f64],
20073 kl: i32,
20074 ku: i32,
20075 pack: u8,
20076 a: &mut [f64],
20077 lda: i32,
20078 work: &mut [f64],
20079 info: &mut i32,
20080) {
20081 ffi::dlatms_(
20082 &m,
20083 &n,
20084 &(dist as c_char),
20085 iseed.as_mut_ptr(),
20086 &(sym as c_char),
20087 d.as_mut_ptr(),
20088 mode.as_ptr(),
20089 cond.as_ptr(),
20090 dmax.as_ptr(),
20091 &kl,
20092 &ku,
20093 &(pack as c_char),
20094 a.as_mut_ptr(),
20095 &lda,
20096 work.as_mut_ptr(),
20097 info,
20098 )
20099}
20100
20101#[inline]
20102pub unsafe fn slatms(
20103 m: i32,
20104 n: i32,
20105 dist: u8,
20106 iseed: &mut [i32],
20107 sym: u8,
20108 d: &mut [f32],
20109 mode: &[i32],
20110 cond: &[f32],
20111 dmax: &[f32],
20112 kl: i32,
20113 ku: i32,
20114 pack: u8,
20115 a: &mut [f32],
20116 lda: i32,
20117 work: &mut [f32],
20118 info: &mut i32,
20119) {
20120 ffi::slatms_(
20121 &m,
20122 &n,
20123 &(dist as c_char),
20124 iseed.as_mut_ptr(),
20125 &(sym as c_char),
20126 d.as_mut_ptr(),
20127 mode.as_ptr(),
20128 cond.as_ptr(),
20129 dmax.as_ptr(),
20130 &kl,
20131 &ku,
20132 &(pack as c_char),
20133 a.as_mut_ptr(),
20134 &lda,
20135 work.as_mut_ptr(),
20136 info,
20137 )
20138}
20139
20140#[inline]
20141pub unsafe fn zlatms(
20142 m: i32,
20143 n: i32,
20144 dist: u8,
20145 iseed: &mut [i32],
20146 sym: u8,
20147 d: &mut [f64],
20148 mode: &[i32],
20149 cond: &[f64],
20150 dmax: &[f64],
20151 kl: i32,
20152 ku: i32,
20153 pack: u8,
20154 a: &mut [c64],
20155 lda: i32,
20156 work: &mut [c64],
20157 info: &mut i32,
20158) {
20159 ffi::zlatms_(
20160 &m,
20161 &n,
20162 &(dist as c_char),
20163 iseed.as_mut_ptr(),
20164 &(sym as c_char),
20165 d.as_mut_ptr(),
20166 mode.as_ptr(),
20167 cond.as_ptr(),
20168 dmax.as_ptr(),
20169 &kl,
20170 &ku,
20171 &(pack as c_char),
20172 a.as_mut_ptr() as *mut _,
20173 &lda,
20174 work.as_mut_ptr() as *mut _,
20175 info,
20176 )
20177}
20178
20179#[inline]
20180pub unsafe fn clauum(uplo: u8, n: i32, a: &mut [c32], lda: i32, info: &mut i32) {
20181 ffi::clauum_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
20182}
20183
20184#[inline]
20185pub unsafe fn dlauum(uplo: u8, n: i32, a: &mut [f64], lda: i32, info: &mut i32) {
20186 ffi::dlauum_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
20187}
20188
20189#[inline]
20190pub unsafe fn slauum(uplo: u8, n: i32, a: &mut [f32], lda: i32, info: &mut i32) {
20191 ffi::slauum_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
20192}
20193
20194#[inline]
20195pub unsafe fn zlauum(uplo: u8, n: i32, a: &mut [c64], lda: i32, info: &mut i32) {
20196 ffi::zlauum_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
20197}
20198
20199#[inline]
20200pub unsafe fn ilaver(vers_major: &mut i32, vers_minor: &mut i32, vers_patch: &mut i32) {
20201 ffi::ilaver_(vers_major, vers_minor, vers_patch)
20202}
20203
20204#[inline]
20205pub unsafe fn dopgtr(
20206 uplo: u8,
20207 n: i32,
20208 ap: &[f64],
20209 tau: &[f64],
20210 q: &mut [f64],
20211 ldq: i32,
20212 work: &mut [f64],
20213 info: &mut i32,
20214) {
20215 ffi::dopgtr_(
20216 &(uplo as c_char),
20217 &n,
20218 ap.as_ptr(),
20219 tau.as_ptr(),
20220 q.as_mut_ptr(),
20221 &ldq,
20222 work.as_mut_ptr(),
20223 info,
20224 )
20225}
20226
20227#[inline]
20228pub unsafe fn sopgtr(
20229 uplo: u8,
20230 n: i32,
20231 ap: &[f32],
20232 tau: &[f32],
20233 q: &mut [f32],
20234 ldq: i32,
20235 work: &mut [f32],
20236 info: &mut i32,
20237) {
20238 ffi::sopgtr_(
20239 &(uplo as c_char),
20240 &n,
20241 ap.as_ptr(),
20242 tau.as_ptr(),
20243 q.as_mut_ptr(),
20244 &ldq,
20245 work.as_mut_ptr(),
20246 info,
20247 )
20248}
20249
20250#[inline]
20251pub unsafe fn dopmtr(
20252 side: u8,
20253 uplo: u8,
20254 trans: u8,
20255 m: i32,
20256 n: i32,
20257 ap: &[f64],
20258 tau: &[f64],
20259 c: &mut [f64],
20260 ldc: i32,
20261 work: &mut [f64],
20262 info: &mut i32,
20263) {
20264 ffi::dopmtr_(
20265 &(side as c_char),
20266 &(uplo as c_char),
20267 &(trans as c_char),
20268 &m,
20269 &n,
20270 ap.as_ptr(),
20271 tau.as_ptr(),
20272 c.as_mut_ptr(),
20273 &ldc,
20274 work.as_mut_ptr(),
20275 info,
20276 )
20277}
20278
20279#[inline]
20280pub unsafe fn sopmtr(
20281 side: u8,
20282 uplo: u8,
20283 trans: u8,
20284 m: i32,
20285 n: i32,
20286 ap: &[f32],
20287 tau: &[f32],
20288 c: &mut [f32],
20289 ldc: i32,
20290 work: &mut [f32],
20291 info: &mut i32,
20292) {
20293 ffi::sopmtr_(
20294 &(side as c_char),
20295 &(uplo as c_char),
20296 &(trans as c_char),
20297 &m,
20298 &n,
20299 ap.as_ptr(),
20300 tau.as_ptr(),
20301 c.as_mut_ptr(),
20302 &ldc,
20303 work.as_mut_ptr(),
20304 info,
20305 )
20306}
20307
20308#[inline]
20309pub unsafe fn dorbdb(
20310 trans: u8,
20311 signs: u8,
20312 m: i32,
20313 p: i32,
20314 q: &[i32],
20315 x11: &mut [f64],
20316 ldx11: i32,
20317 x12: &mut [f64],
20318 ldx12: i32,
20319 x21: &mut [f64],
20320 ldx21: i32,
20321 x22: &mut [f64],
20322 ldx22: i32,
20323 theta: &mut [f64],
20324 phi: &mut [f64],
20325 taup1: &mut [f64],
20326 taup2: &mut [f64],
20327 tauq1: &mut [f64],
20328 tauq2: &mut [f64],
20329 work: &mut [f64],
20330 lwork: i32,
20331 info: &mut i32,
20332) {
20333 ffi::dorbdb_(
20334 &(trans as c_char),
20335 &(signs as c_char),
20336 &m,
20337 &p,
20338 q.as_ptr(),
20339 x11.as_mut_ptr(),
20340 &ldx11,
20341 x12.as_mut_ptr(),
20342 &ldx12,
20343 x21.as_mut_ptr(),
20344 &ldx21,
20345 x22.as_mut_ptr(),
20346 &ldx22,
20347 theta.as_mut_ptr(),
20348 phi.as_mut_ptr(),
20349 taup1.as_mut_ptr(),
20350 taup2.as_mut_ptr(),
20351 tauq1.as_mut_ptr(),
20352 tauq2.as_mut_ptr(),
20353 work.as_mut_ptr(),
20354 &lwork,
20355 info,
20356 )
20357}
20358
20359#[inline]
20360pub unsafe fn sorbdb(
20361 trans: u8,
20362 signs: u8,
20363 m: i32,
20364 p: i32,
20365 q: &[i32],
20366 x11: &mut [f32],
20367 ldx11: i32,
20368 x12: &mut [f32],
20369 ldx12: i32,
20370 x21: &mut [f32],
20371 ldx21: i32,
20372 x22: &mut [f32],
20373 ldx22: i32,
20374 theta: &mut [f32],
20375 phi: &mut [f32],
20376 taup1: &mut [f32],
20377 taup2: &mut [f32],
20378 tauq1: &mut [f32],
20379 tauq2: &mut [f32],
20380 work: &mut [f32],
20381 lwork: i32,
20382 info: &mut i32,
20383) {
20384 ffi::sorbdb_(
20385 &(trans as c_char),
20386 &(signs as c_char),
20387 &m,
20388 &p,
20389 q.as_ptr(),
20390 x11.as_mut_ptr(),
20391 &ldx11,
20392 x12.as_mut_ptr(),
20393 &ldx12,
20394 x21.as_mut_ptr(),
20395 &ldx21,
20396 x22.as_mut_ptr(),
20397 &ldx22,
20398 theta.as_mut_ptr(),
20399 phi.as_mut_ptr(),
20400 taup1.as_mut_ptr(),
20401 taup2.as_mut_ptr(),
20402 tauq1.as_mut_ptr(),
20403 tauq2.as_mut_ptr(),
20404 work.as_mut_ptr(),
20405 &lwork,
20406 info,
20407 )
20408}
20409
20410#[inline]
20411pub unsafe fn dorcsd(
20412 jobu1: u8,
20413 jobu2: u8,
20414 jobv1t: u8,
20415 jobv2t: u8,
20416 trans: u8,
20417 signs: u8,
20418 m: i32,
20419 p: i32,
20420 q: &[i32],
20421 x11: &mut [f64],
20422 ldx11: i32,
20423 x12: &mut [f64],
20424 ldx12: i32,
20425 x21: &mut [f64],
20426 ldx21: i32,
20427 x22: &mut [f64],
20428 ldx22: i32,
20429 theta: &mut [f64],
20430 u1: &mut [f64],
20431 ldu1: i32,
20432 u2: &mut [f64],
20433 ldu2: i32,
20434 v1t: &mut [f64],
20435 ldv1t: i32,
20436 v2t: &mut [f64],
20437 ldv2t: i32,
20438 work: &mut [f64],
20439 lwork: i32,
20440 iwork: &mut [i32],
20441 info: &mut i32,
20442) {
20443 ffi::dorcsd_(
20444 &(jobu1 as c_char),
20445 &(jobu2 as c_char),
20446 &(jobv1t as c_char),
20447 &(jobv2t as c_char),
20448 &(trans as c_char),
20449 &(signs as c_char),
20450 &m,
20451 &p,
20452 q.as_ptr(),
20453 x11.as_mut_ptr(),
20454 &ldx11,
20455 x12.as_mut_ptr(),
20456 &ldx12,
20457 x21.as_mut_ptr(),
20458 &ldx21,
20459 x22.as_mut_ptr(),
20460 &ldx22,
20461 theta.as_mut_ptr(),
20462 u1.as_mut_ptr(),
20463 &ldu1,
20464 u2.as_mut_ptr(),
20465 &ldu2,
20466 v1t.as_mut_ptr(),
20467 &ldv1t,
20468 v2t.as_mut_ptr(),
20469 &ldv2t,
20470 work.as_mut_ptr(),
20471 &lwork,
20472 iwork.as_mut_ptr(),
20473 info,
20474 )
20475}
20476
20477#[inline]
20478pub unsafe fn sorcsd(
20479 jobu1: u8,
20480 jobu2: u8,
20481 jobv1t: u8,
20482 jobv2t: u8,
20483 trans: u8,
20484 signs: u8,
20485 m: i32,
20486 p: i32,
20487 q: &[i32],
20488 x11: &mut [f32],
20489 ldx11: i32,
20490 x12: &mut [f32],
20491 ldx12: i32,
20492 x21: &mut [f32],
20493 ldx21: i32,
20494 x22: &mut [f32],
20495 ldx22: i32,
20496 theta: &mut [f32],
20497 u1: &mut [f32],
20498 ldu1: i32,
20499 u2: &mut [f32],
20500 ldu2: i32,
20501 v1t: &mut [f32],
20502 ldv1t: i32,
20503 v2t: &mut [f32],
20504 ldv2t: i32,
20505 work: &mut [f32],
20506 lwork: i32,
20507 iwork: &mut [i32],
20508 info: &mut i32,
20509) {
20510 ffi::sorcsd_(
20511 &(jobu1 as c_char),
20512 &(jobu2 as c_char),
20513 &(jobv1t as c_char),
20514 &(jobv2t as c_char),
20515 &(trans as c_char),
20516 &(signs as c_char),
20517 &m,
20518 &p,
20519 q.as_ptr(),
20520 x11.as_mut_ptr(),
20521 &ldx11,
20522 x12.as_mut_ptr(),
20523 &ldx12,
20524 x21.as_mut_ptr(),
20525 &ldx21,
20526 x22.as_mut_ptr(),
20527 &ldx22,
20528 theta.as_mut_ptr(),
20529 u1.as_mut_ptr(),
20530 &ldu1,
20531 u2.as_mut_ptr(),
20532 &ldu2,
20533 v1t.as_mut_ptr(),
20534 &ldv1t,
20535 v2t.as_mut_ptr(),
20536 &ldv2t,
20537 work.as_mut_ptr(),
20538 &lwork,
20539 iwork.as_mut_ptr(),
20540 info,
20541 )
20542}
20543
20544#[inline]
20545pub unsafe fn dorcsd2by1(
20546 jobu1: u8,
20547 jobu2: u8,
20548 jobv1t: u8,
20549 m: i32,
20550 p: i32,
20551 q: &[i32],
20552 x11: &mut [f64],
20553 ldx11: i32,
20554 x21: &mut [f64],
20555 ldx21: i32,
20556 theta: &mut [f64],
20557 u1: &mut [f64],
20558 ldu1: i32,
20559 u2: &mut [f64],
20560 ldu2: i32,
20561 v1t: &mut [f64],
20562 ldv1t: i32,
20563 work: &mut [f64],
20564 lwork: i32,
20565 iwork: &mut [i32],
20566 info: &mut i32,
20567) {
20568 ffi::dorcsd2by1_(
20569 &(jobu1 as c_char),
20570 &(jobu2 as c_char),
20571 &(jobv1t as c_char),
20572 &m,
20573 &p,
20574 q.as_ptr(),
20575 x11.as_mut_ptr(),
20576 &ldx11,
20577 x21.as_mut_ptr(),
20578 &ldx21,
20579 theta.as_mut_ptr(),
20580 u1.as_mut_ptr(),
20581 &ldu1,
20582 u2.as_mut_ptr(),
20583 &ldu2,
20584 v1t.as_mut_ptr(),
20585 &ldv1t,
20586 work.as_mut_ptr(),
20587 &lwork,
20588 iwork.as_mut_ptr(),
20589 info,
20590 )
20591}
20592
20593#[inline]
20594pub unsafe fn sorcsd2by1(
20595 jobu1: u8,
20596 jobu2: u8,
20597 jobv1t: u8,
20598 m: i32,
20599 p: i32,
20600 q: &[i32],
20601 x11: &mut [f32],
20602 ldx11: i32,
20603 x21: &mut [f32],
20604 ldx21: i32,
20605 theta: &mut [f32],
20606 u1: &mut [f32],
20607 ldu1: i32,
20608 u2: &mut [f32],
20609 ldu2: i32,
20610 v1t: &mut [f32],
20611 ldv1t: i32,
20612 work: &mut [f32],
20613 lwork: i32,
20614 iwork: &mut [i32],
20615 info: &mut i32,
20616) {
20617 ffi::sorcsd2by1_(
20618 &(jobu1 as c_char),
20619 &(jobu2 as c_char),
20620 &(jobv1t as c_char),
20621 &m,
20622 &p,
20623 q.as_ptr(),
20624 x11.as_mut_ptr(),
20625 &ldx11,
20626 x21.as_mut_ptr(),
20627 &ldx21,
20628 theta.as_mut_ptr(),
20629 u1.as_mut_ptr(),
20630 &ldu1,
20631 u2.as_mut_ptr(),
20632 &ldu2,
20633 v1t.as_mut_ptr(),
20634 &ldv1t,
20635 work.as_mut_ptr(),
20636 &lwork,
20637 iwork.as_mut_ptr(),
20638 info,
20639 )
20640}
20641
20642#[inline]
20643pub unsafe fn dorgbr(
20644 vect: u8,
20645 m: i32,
20646 n: i32,
20647 k: i32,
20648 a: &mut [f64],
20649 lda: i32,
20650 tau: &[f64],
20651 work: &mut [f64],
20652 lwork: i32,
20653 info: &mut i32,
20654) {
20655 ffi::dorgbr_(
20656 &(vect as c_char),
20657 &m,
20658 &n,
20659 &k,
20660 a.as_mut_ptr(),
20661 &lda,
20662 tau.as_ptr(),
20663 work.as_mut_ptr(),
20664 &lwork,
20665 info,
20666 )
20667}
20668
20669#[inline]
20670pub unsafe fn sorgbr(
20671 vect: u8,
20672 m: i32,
20673 n: i32,
20674 k: i32,
20675 a: &mut [f32],
20676 lda: i32,
20677 tau: &[f32],
20678 work: &mut [f32],
20679 lwork: i32,
20680 info: &mut i32,
20681) {
20682 ffi::sorgbr_(
20683 &(vect as c_char),
20684 &m,
20685 &n,
20686 &k,
20687 a.as_mut_ptr(),
20688 &lda,
20689 tau.as_ptr(),
20690 work.as_mut_ptr(),
20691 &lwork,
20692 info,
20693 )
20694}
20695
20696#[inline]
20697pub unsafe fn dorghr(
20698 n: i32,
20699 ilo: i32,
20700 ihi: i32,
20701 a: &mut [f64],
20702 lda: i32,
20703 tau: &[f64],
20704 work: &mut [f64],
20705 lwork: i32,
20706 info: &mut i32,
20707) {
20708 ffi::dorghr_(
20709 &n,
20710 &ilo,
20711 &ihi,
20712 a.as_mut_ptr(),
20713 &lda,
20714 tau.as_ptr(),
20715 work.as_mut_ptr(),
20716 &lwork,
20717 info,
20718 )
20719}
20720
20721#[inline]
20722pub unsafe fn sorghr(
20723 n: i32,
20724 ilo: i32,
20725 ihi: i32,
20726 a: &mut [f32],
20727 lda: i32,
20728 tau: &[f32],
20729 work: &mut [f32],
20730 lwork: i32,
20731 info: &mut i32,
20732) {
20733 ffi::sorghr_(
20734 &n,
20735 &ilo,
20736 &ihi,
20737 a.as_mut_ptr(),
20738 &lda,
20739 tau.as_ptr(),
20740 work.as_mut_ptr(),
20741 &lwork,
20742 info,
20743 )
20744}
20745
20746#[inline]
20747pub unsafe fn dorglq(
20748 m: i32,
20749 n: i32,
20750 k: i32,
20751 a: &mut [f64],
20752 lda: i32,
20753 tau: &[f64],
20754 work: &mut [f64],
20755 lwork: i32,
20756 info: &mut i32,
20757) {
20758 ffi::dorglq_(
20759 &m,
20760 &n,
20761 &k,
20762 a.as_mut_ptr(),
20763 &lda,
20764 tau.as_ptr(),
20765 work.as_mut_ptr(),
20766 &lwork,
20767 info,
20768 )
20769}
20770
20771#[inline]
20772pub unsafe fn sorglq(
20773 m: i32,
20774 n: i32,
20775 k: i32,
20776 a: &mut [f32],
20777 lda: i32,
20778 tau: &[f32],
20779 work: &mut [f32],
20780 lwork: i32,
20781 info: &mut i32,
20782) {
20783 ffi::sorglq_(
20784 &m,
20785 &n,
20786 &k,
20787 a.as_mut_ptr(),
20788 &lda,
20789 tau.as_ptr(),
20790 work.as_mut_ptr(),
20791 &lwork,
20792 info,
20793 )
20794}
20795
20796#[inline]
20797pub unsafe fn dorgql(
20798 m: i32,
20799 n: i32,
20800 k: i32,
20801 a: &mut [f64],
20802 lda: i32,
20803 tau: &[f64],
20804 work: &mut [f64],
20805 lwork: i32,
20806 info: &mut i32,
20807) {
20808 ffi::dorgql_(
20809 &m,
20810 &n,
20811 &k,
20812 a.as_mut_ptr(),
20813 &lda,
20814 tau.as_ptr(),
20815 work.as_mut_ptr(),
20816 &lwork,
20817 info,
20818 )
20819}
20820
20821#[inline]
20822pub unsafe fn sorgql(
20823 m: i32,
20824 n: i32,
20825 k: i32,
20826 a: &mut [f32],
20827 lda: i32,
20828 tau: &[f32],
20829 work: &mut [f32],
20830 lwork: i32,
20831 info: &mut i32,
20832) {
20833 ffi::sorgql_(
20834 &m,
20835 &n,
20836 &k,
20837 a.as_mut_ptr(),
20838 &lda,
20839 tau.as_ptr(),
20840 work.as_mut_ptr(),
20841 &lwork,
20842 info,
20843 )
20844}
20845
20846#[inline]
20847pub unsafe fn dorgqr(
20848 m: i32,
20849 n: i32,
20850 k: i32,
20851 a: &mut [f64],
20852 lda: i32,
20853 tau: &[f64],
20854 work: &mut [f64],
20855 lwork: i32,
20856 info: &mut i32,
20857) {
20858 ffi::dorgqr_(
20859 &m,
20860 &n,
20861 &k,
20862 a.as_mut_ptr(),
20863 &lda,
20864 tau.as_ptr(),
20865 work.as_mut_ptr(),
20866 &lwork,
20867 info,
20868 )
20869}
20870
20871#[inline]
20872pub unsafe fn sorgqr(
20873 m: i32,
20874 n: i32,
20875 k: i32,
20876 a: &mut [f32],
20877 lda: i32,
20878 tau: &[f32],
20879 work: &mut [f32],
20880 lwork: i32,
20881 info: &mut i32,
20882) {
20883 ffi::sorgqr_(
20884 &m,
20885 &n,
20886 &k,
20887 a.as_mut_ptr(),
20888 &lda,
20889 tau.as_ptr(),
20890 work.as_mut_ptr(),
20891 &lwork,
20892 info,
20893 )
20894}
20895
20896#[inline]
20897pub unsafe fn dorgrq(
20898 m: i32,
20899 n: i32,
20900 k: i32,
20901 a: &mut [f64],
20902 lda: i32,
20903 tau: &[f64],
20904 work: &mut [f64],
20905 lwork: i32,
20906 info: &mut i32,
20907) {
20908 ffi::dorgrq_(
20909 &m,
20910 &n,
20911 &k,
20912 a.as_mut_ptr(),
20913 &lda,
20914 tau.as_ptr(),
20915 work.as_mut_ptr(),
20916 &lwork,
20917 info,
20918 )
20919}
20920
20921#[inline]
20922pub unsafe fn sorgrq(
20923 m: i32,
20924 n: i32,
20925 k: i32,
20926 a: &mut [f32],
20927 lda: i32,
20928 tau: &[f32],
20929 work: &mut [f32],
20930 lwork: i32,
20931 info: &mut i32,
20932) {
20933 ffi::sorgrq_(
20934 &m,
20935 &n,
20936 &k,
20937 a.as_mut_ptr(),
20938 &lda,
20939 tau.as_ptr(),
20940 work.as_mut_ptr(),
20941 &lwork,
20942 info,
20943 )
20944}
20945
20946#[inline]
20947pub unsafe fn dorgtr(
20948 uplo: u8,
20949 n: i32,
20950 a: &mut [f64],
20951 lda: i32,
20952 tau: &[f64],
20953 work: &mut [f64],
20954 lwork: i32,
20955 info: &mut i32,
20956) {
20957 ffi::dorgtr_(
20958 &(uplo as c_char),
20959 &n,
20960 a.as_mut_ptr(),
20961 &lda,
20962 tau.as_ptr(),
20963 work.as_mut_ptr(),
20964 &lwork,
20965 info,
20966 )
20967}
20968
20969#[inline]
20970pub unsafe fn sorgtr(
20971 uplo: u8,
20972 n: i32,
20973 a: &mut [f32],
20974 lda: i32,
20975 tau: &[f32],
20976 work: &mut [f32],
20977 lwork: i32,
20978 info: &mut i32,
20979) {
20980 ffi::sorgtr_(
20981 &(uplo as c_char),
20982 &n,
20983 a.as_mut_ptr(),
20984 &lda,
20985 tau.as_ptr(),
20986 work.as_mut_ptr(),
20987 &lwork,
20988 info,
20989 )
20990}
20991
20992#[inline]
20993pub unsafe fn dorgtsqr_row(
20994 m: i32,
20995 n: i32,
20996 mb: &[i32],
20997 nb: i32,
20998 a: &mut [f64],
20999 lda: i32,
21000 t: &[f64],
21001 ldt: i32,
21002 work: &mut [f64],
21003 lwork: i32,
21004 info: &mut i32,
21005) {
21006 ffi::dorgtsqr_row_(
21007 &m,
21008 &n,
21009 mb.as_ptr(),
21010 &nb,
21011 a.as_mut_ptr(),
21012 &lda,
21013 t.as_ptr(),
21014 &ldt,
21015 work.as_mut_ptr(),
21016 &lwork,
21017 info,
21018 )
21019}
21020
21021#[inline]
21022pub unsafe fn sorgtsqr_row(
21023 m: i32,
21024 n: i32,
21025 mb: &[i32],
21026 nb: i32,
21027 a: &mut [f32],
21028 lda: i32,
21029 t: &[f32],
21030 ldt: i32,
21031 work: &mut [f32],
21032 lwork: i32,
21033 info: &mut i32,
21034) {
21035 ffi::sorgtsqr_row_(
21036 &m,
21037 &n,
21038 mb.as_ptr(),
21039 &nb,
21040 a.as_mut_ptr(),
21041 &lda,
21042 t.as_ptr(),
21043 &ldt,
21044 work.as_mut_ptr(),
21045 &lwork,
21046 info,
21047 )
21048}
21049
21050#[inline]
21051pub unsafe fn dormbr(
21052 vect: u8,
21053 side: u8,
21054 trans: u8,
21055 m: i32,
21056 n: i32,
21057 k: i32,
21058 a: &[f64],
21059 lda: i32,
21060 tau: &[f64],
21061 c: &mut [f64],
21062 ldc: i32,
21063 work: &mut [f64],
21064 lwork: i32,
21065 info: &mut i32,
21066) {
21067 ffi::dormbr_(
21068 &(vect as c_char),
21069 &(side as c_char),
21070 &(trans as c_char),
21071 &m,
21072 &n,
21073 &k,
21074 a.as_ptr(),
21075 &lda,
21076 tau.as_ptr(),
21077 c.as_mut_ptr(),
21078 &ldc,
21079 work.as_mut_ptr(),
21080 &lwork,
21081 info,
21082 )
21083}
21084
21085#[inline]
21086pub unsafe fn sormbr(
21087 vect: u8,
21088 side: u8,
21089 trans: u8,
21090 m: i32,
21091 n: i32,
21092 k: i32,
21093 a: &[f32],
21094 lda: i32,
21095 tau: &[f32],
21096 c: &mut [f32],
21097 ldc: i32,
21098 work: &mut [f32],
21099 lwork: i32,
21100 info: &mut i32,
21101) {
21102 ffi::sormbr_(
21103 &(vect as c_char),
21104 &(side as c_char),
21105 &(trans as c_char),
21106 &m,
21107 &n,
21108 &k,
21109 a.as_ptr(),
21110 &lda,
21111 tau.as_ptr(),
21112 c.as_mut_ptr(),
21113 &ldc,
21114 work.as_mut_ptr(),
21115 &lwork,
21116 info,
21117 )
21118}
21119
21120#[inline]
21121pub unsafe fn dormhr(
21122 side: u8,
21123 trans: u8,
21124 m: i32,
21125 n: i32,
21126 ilo: i32,
21127 ihi: i32,
21128 a: &[f64],
21129 lda: i32,
21130 tau: &[f64],
21131 c: &mut [f64],
21132 ldc: i32,
21133 work: &mut [f64],
21134 lwork: i32,
21135 info: &mut i32,
21136) {
21137 ffi::dormhr_(
21138 &(side as c_char),
21139 &(trans as c_char),
21140 &m,
21141 &n,
21142 &ilo,
21143 &ihi,
21144 a.as_ptr(),
21145 &lda,
21146 tau.as_ptr(),
21147 c.as_mut_ptr(),
21148 &ldc,
21149 work.as_mut_ptr(),
21150 &lwork,
21151 info,
21152 )
21153}
21154
21155#[inline]
21156pub unsafe fn sormhr(
21157 side: u8,
21158 trans: u8,
21159 m: i32,
21160 n: i32,
21161 ilo: i32,
21162 ihi: i32,
21163 a: &[f32],
21164 lda: i32,
21165 tau: &[f32],
21166 c: &mut [f32],
21167 ldc: i32,
21168 work: &mut [f32],
21169 lwork: i32,
21170 info: &mut i32,
21171) {
21172 ffi::sormhr_(
21173 &(side as c_char),
21174 &(trans as c_char),
21175 &m,
21176 &n,
21177 &ilo,
21178 &ihi,
21179 a.as_ptr(),
21180 &lda,
21181 tau.as_ptr(),
21182 c.as_mut_ptr(),
21183 &ldc,
21184 work.as_mut_ptr(),
21185 &lwork,
21186 info,
21187 )
21188}
21189
21190#[inline]
21191pub unsafe fn dormlq(
21192 side: u8,
21193 trans: u8,
21194 m: i32,
21195 n: i32,
21196 k: i32,
21197 a: &[f64],
21198 lda: i32,
21199 tau: &[f64],
21200 c: &mut [f64],
21201 ldc: i32,
21202 work: &mut [f64],
21203 lwork: i32,
21204 info: &mut i32,
21205) {
21206 ffi::dormlq_(
21207 &(side as c_char),
21208 &(trans as c_char),
21209 &m,
21210 &n,
21211 &k,
21212 a.as_ptr(),
21213 &lda,
21214 tau.as_ptr(),
21215 c.as_mut_ptr(),
21216 &ldc,
21217 work.as_mut_ptr(),
21218 &lwork,
21219 info,
21220 )
21221}
21222
21223#[inline]
21224pub unsafe fn sormlq(
21225 side: u8,
21226 trans: u8,
21227 m: i32,
21228 n: i32,
21229 k: i32,
21230 a: &[f32],
21231 lda: i32,
21232 tau: &[f32],
21233 c: &mut [f32],
21234 ldc: i32,
21235 work: &mut [f32],
21236 lwork: i32,
21237 info: &mut i32,
21238) {
21239 ffi::sormlq_(
21240 &(side as c_char),
21241 &(trans as c_char),
21242 &m,
21243 &n,
21244 &k,
21245 a.as_ptr(),
21246 &lda,
21247 tau.as_ptr(),
21248 c.as_mut_ptr(),
21249 &ldc,
21250 work.as_mut_ptr(),
21251 &lwork,
21252 info,
21253 )
21254}
21255
21256#[inline]
21257pub unsafe fn dormql(
21258 side: u8,
21259 trans: u8,
21260 m: i32,
21261 n: i32,
21262 k: i32,
21263 a: &[f64],
21264 lda: i32,
21265 tau: &[f64],
21266 c: &mut [f64],
21267 ldc: i32,
21268 work: &mut [f64],
21269 lwork: i32,
21270 info: &mut i32,
21271) {
21272 ffi::dormql_(
21273 &(side as c_char),
21274 &(trans as c_char),
21275 &m,
21276 &n,
21277 &k,
21278 a.as_ptr(),
21279 &lda,
21280 tau.as_ptr(),
21281 c.as_mut_ptr(),
21282 &ldc,
21283 work.as_mut_ptr(),
21284 &lwork,
21285 info,
21286 )
21287}
21288
21289#[inline]
21290pub unsafe fn sormql(
21291 side: u8,
21292 trans: u8,
21293 m: i32,
21294 n: i32,
21295 k: i32,
21296 a: &[f32],
21297 lda: i32,
21298 tau: &[f32],
21299 c: &mut [f32],
21300 ldc: i32,
21301 work: &mut [f32],
21302 lwork: i32,
21303 info: &mut i32,
21304) {
21305 ffi::sormql_(
21306 &(side as c_char),
21307 &(trans as c_char),
21308 &m,
21309 &n,
21310 &k,
21311 a.as_ptr(),
21312 &lda,
21313 tau.as_ptr(),
21314 c.as_mut_ptr(),
21315 &ldc,
21316 work.as_mut_ptr(),
21317 &lwork,
21318 info,
21319 )
21320}
21321
21322#[inline]
21323pub unsafe fn dormqr(
21324 side: u8,
21325 trans: u8,
21326 m: i32,
21327 n: i32,
21328 k: i32,
21329 a: &[f64],
21330 lda: i32,
21331 tau: &[f64],
21332 c: &mut [f64],
21333 ldc: i32,
21334 work: &mut [f64],
21335 lwork: i32,
21336 info: &mut i32,
21337) {
21338 ffi::dormqr_(
21339 &(side as c_char),
21340 &(trans as c_char),
21341 &m,
21342 &n,
21343 &k,
21344 a.as_ptr(),
21345 &lda,
21346 tau.as_ptr(),
21347 c.as_mut_ptr(),
21348 &ldc,
21349 work.as_mut_ptr(),
21350 &lwork,
21351 info,
21352 )
21353}
21354
21355#[inline]
21356pub unsafe fn sormqr(
21357 side: u8,
21358 trans: u8,
21359 m: i32,
21360 n: i32,
21361 k: i32,
21362 a: &[f32],
21363 lda: i32,
21364 tau: &[f32],
21365 c: &mut [f32],
21366 ldc: i32,
21367 work: &mut [f32],
21368 lwork: i32,
21369 info: &mut i32,
21370) {
21371 ffi::sormqr_(
21372 &(side as c_char),
21373 &(trans as c_char),
21374 &m,
21375 &n,
21376 &k,
21377 a.as_ptr(),
21378 &lda,
21379 tau.as_ptr(),
21380 c.as_mut_ptr(),
21381 &ldc,
21382 work.as_mut_ptr(),
21383 &lwork,
21384 info,
21385 )
21386}
21387
21388#[inline]
21389pub unsafe fn dormrq(
21390 side: u8,
21391 trans: u8,
21392 m: i32,
21393 n: i32,
21394 k: i32,
21395 a: &[f64],
21396 lda: i32,
21397 tau: &[f64],
21398 c: &mut [f64],
21399 ldc: i32,
21400 work: &mut [f64],
21401 lwork: i32,
21402 info: &mut i32,
21403) {
21404 ffi::dormrq_(
21405 &(side as c_char),
21406 &(trans as c_char),
21407 &m,
21408 &n,
21409 &k,
21410 a.as_ptr(),
21411 &lda,
21412 tau.as_ptr(),
21413 c.as_mut_ptr(),
21414 &ldc,
21415 work.as_mut_ptr(),
21416 &lwork,
21417 info,
21418 )
21419}
21420
21421#[inline]
21422pub unsafe fn sormrq(
21423 side: u8,
21424 trans: u8,
21425 m: i32,
21426 n: i32,
21427 k: i32,
21428 a: &[f32],
21429 lda: i32,
21430 tau: &[f32],
21431 c: &mut [f32],
21432 ldc: i32,
21433 work: &mut [f32],
21434 lwork: i32,
21435 info: &mut i32,
21436) {
21437 ffi::sormrq_(
21438 &(side as c_char),
21439 &(trans as c_char),
21440 &m,
21441 &n,
21442 &k,
21443 a.as_ptr(),
21444 &lda,
21445 tau.as_ptr(),
21446 c.as_mut_ptr(),
21447 &ldc,
21448 work.as_mut_ptr(),
21449 &lwork,
21450 info,
21451 )
21452}
21453
21454#[inline]
21455pub unsafe fn dormrz(
21456 side: u8,
21457 trans: u8,
21458 m: i32,
21459 n: i32,
21460 k: i32,
21461 l: i32,
21462 a: &[f64],
21463 lda: i32,
21464 tau: &[f64],
21465 c: &mut [f64],
21466 ldc: i32,
21467 work: &mut [f64],
21468 lwork: i32,
21469 info: &mut i32,
21470) {
21471 ffi::dormrz_(
21472 &(side as c_char),
21473 &(trans as c_char),
21474 &m,
21475 &n,
21476 &k,
21477 &l,
21478 a.as_ptr(),
21479 &lda,
21480 tau.as_ptr(),
21481 c.as_mut_ptr(),
21482 &ldc,
21483 work.as_mut_ptr(),
21484 &lwork,
21485 info,
21486 )
21487}
21488
21489#[inline]
21490pub unsafe fn sormrz(
21491 side: u8,
21492 trans: u8,
21493 m: i32,
21494 n: i32,
21495 k: i32,
21496 l: i32,
21497 a: &[f32],
21498 lda: i32,
21499 tau: &[f32],
21500 c: &mut [f32],
21501 ldc: i32,
21502 work: &mut [f32],
21503 lwork: i32,
21504 info: &mut i32,
21505) {
21506 ffi::sormrz_(
21507 &(side as c_char),
21508 &(trans as c_char),
21509 &m,
21510 &n,
21511 &k,
21512 &l,
21513 a.as_ptr(),
21514 &lda,
21515 tau.as_ptr(),
21516 c.as_mut_ptr(),
21517 &ldc,
21518 work.as_mut_ptr(),
21519 &lwork,
21520 info,
21521 )
21522}
21523
21524#[inline]
21525pub unsafe fn dormtr(
21526 side: u8,
21527 uplo: u8,
21528 trans: u8,
21529 m: i32,
21530 n: i32,
21531 a: &[f64],
21532 lda: i32,
21533 tau: &[f64],
21534 c: &mut [f64],
21535 ldc: i32,
21536 work: &mut [f64],
21537 lwork: i32,
21538 info: &mut i32,
21539) {
21540 ffi::dormtr_(
21541 &(side as c_char),
21542 &(uplo as c_char),
21543 &(trans as c_char),
21544 &m,
21545 &n,
21546 a.as_ptr(),
21547 &lda,
21548 tau.as_ptr(),
21549 c.as_mut_ptr(),
21550 &ldc,
21551 work.as_mut_ptr(),
21552 &lwork,
21553 info,
21554 )
21555}
21556
21557#[inline]
21558pub unsafe fn sormtr(
21559 side: u8,
21560 uplo: u8,
21561 trans: u8,
21562 m: i32,
21563 n: i32,
21564 a: &[f32],
21565 lda: i32,
21566 tau: &[f32],
21567 c: &mut [f32],
21568 ldc: i32,
21569 work: &mut [f32],
21570 lwork: i32,
21571 info: &mut i32,
21572) {
21573 ffi::sormtr_(
21574 &(side as c_char),
21575 &(uplo as c_char),
21576 &(trans as c_char),
21577 &m,
21578 &n,
21579 a.as_ptr(),
21580 &lda,
21581 tau.as_ptr(),
21582 c.as_mut_ptr(),
21583 &ldc,
21584 work.as_mut_ptr(),
21585 &lwork,
21586 info,
21587 )
21588}
21589
21590#[inline]
21591pub unsafe fn cpbcon(
21592 uplo: u8,
21593 n: i32,
21594 kd: i32,
21595 ab: &[c32],
21596 ldab: i32,
21597 anorm: f32,
21598 rcond: &mut f32,
21599 work: &mut [c32],
21600 rwork: &mut [f32],
21601 info: &mut i32,
21602) {
21603 ffi::cpbcon_(
21604 &(uplo as c_char),
21605 &n,
21606 &kd,
21607 ab.as_ptr() as *const _,
21608 &ldab,
21609 &anorm,
21610 rcond,
21611 work.as_mut_ptr() as *mut _,
21612 rwork.as_mut_ptr(),
21613 info,
21614 )
21615}
21616
21617#[inline]
21618pub unsafe fn dpbcon(
21619 uplo: u8,
21620 n: i32,
21621 kd: i32,
21622 ab: &[f64],
21623 ldab: i32,
21624 anorm: f64,
21625 rcond: &mut f64,
21626 work: &mut [f64],
21627 iwork: &mut [i32],
21628 info: &mut i32,
21629) {
21630 ffi::dpbcon_(
21631 &(uplo as c_char),
21632 &n,
21633 &kd,
21634 ab.as_ptr(),
21635 &ldab,
21636 &anorm,
21637 rcond,
21638 work.as_mut_ptr(),
21639 iwork.as_mut_ptr(),
21640 info,
21641 )
21642}
21643
21644#[inline]
21645pub unsafe fn spbcon(
21646 uplo: u8,
21647 n: i32,
21648 kd: i32,
21649 ab: &[f32],
21650 ldab: i32,
21651 anorm: f32,
21652 rcond: &mut f32,
21653 work: &mut [f32],
21654 iwork: &mut [i32],
21655 info: &mut i32,
21656) {
21657 ffi::spbcon_(
21658 &(uplo as c_char),
21659 &n,
21660 &kd,
21661 ab.as_ptr(),
21662 &ldab,
21663 &anorm,
21664 rcond,
21665 work.as_mut_ptr(),
21666 iwork.as_mut_ptr(),
21667 info,
21668 )
21669}
21670
21671#[inline]
21672pub unsafe fn zpbcon(
21673 uplo: u8,
21674 n: i32,
21675 kd: i32,
21676 ab: &[c64],
21677 ldab: i32,
21678 anorm: f64,
21679 rcond: &mut f64,
21680 work: &mut [c64],
21681 rwork: &mut [f64],
21682 info: &mut i32,
21683) {
21684 ffi::zpbcon_(
21685 &(uplo as c_char),
21686 &n,
21687 &kd,
21688 ab.as_ptr() as *const _,
21689 &ldab,
21690 &anorm,
21691 rcond,
21692 work.as_mut_ptr() as *mut _,
21693 rwork.as_mut_ptr(),
21694 info,
21695 )
21696}
21697
21698#[inline]
21699pub unsafe fn cpbequ(
21700 uplo: u8,
21701 n: i32,
21702 kd: i32,
21703 ab: &[c32],
21704 ldab: i32,
21705 s: &mut [f32],
21706 scond: &mut [f32],
21707 amax: &mut f32,
21708 info: &mut i32,
21709) {
21710 ffi::cpbequ_(
21711 &(uplo as c_char),
21712 &n,
21713 &kd,
21714 ab.as_ptr() as *const _,
21715 &ldab,
21716 s.as_mut_ptr(),
21717 scond.as_mut_ptr(),
21718 amax,
21719 info,
21720 )
21721}
21722
21723#[inline]
21724pub unsafe fn dpbequ(
21725 uplo: u8,
21726 n: i32,
21727 kd: i32,
21728 ab: &[f64],
21729 ldab: i32,
21730 s: &mut [f64],
21731 scond: &mut [f64],
21732 amax: &mut f64,
21733 info: &mut i32,
21734) {
21735 ffi::dpbequ_(
21736 &(uplo as c_char),
21737 &n,
21738 &kd,
21739 ab.as_ptr(),
21740 &ldab,
21741 s.as_mut_ptr(),
21742 scond.as_mut_ptr(),
21743 amax,
21744 info,
21745 )
21746}
21747
21748#[inline]
21749pub unsafe fn spbequ(
21750 uplo: u8,
21751 n: i32,
21752 kd: i32,
21753 ab: &[f32],
21754 ldab: i32,
21755 s: &mut [f32],
21756 scond: &mut [f32],
21757 amax: &mut f32,
21758 info: &mut i32,
21759) {
21760 ffi::spbequ_(
21761 &(uplo as c_char),
21762 &n,
21763 &kd,
21764 ab.as_ptr(),
21765 &ldab,
21766 s.as_mut_ptr(),
21767 scond.as_mut_ptr(),
21768 amax,
21769 info,
21770 )
21771}
21772
21773#[inline]
21774pub unsafe fn zpbequ(
21775 uplo: u8,
21776 n: i32,
21777 kd: i32,
21778 ab: &[c64],
21779 ldab: i32,
21780 s: &mut [f64],
21781 scond: &mut [f64],
21782 amax: &mut f64,
21783 info: &mut i32,
21784) {
21785 ffi::zpbequ_(
21786 &(uplo as c_char),
21787 &n,
21788 &kd,
21789 ab.as_ptr() as *const _,
21790 &ldab,
21791 s.as_mut_ptr(),
21792 scond.as_mut_ptr(),
21793 amax,
21794 info,
21795 )
21796}
21797
21798#[inline]
21799pub unsafe fn cpbrfs(
21800 uplo: u8,
21801 n: i32,
21802 kd: i32,
21803 nrhs: i32,
21804 ab: &[c32],
21805 ldab: i32,
21806 afb: &[c32],
21807 ldafb: i32,
21808 b: &[c32],
21809 ldb: i32,
21810 x: &mut [c32],
21811 ldx: i32,
21812 ferr: &mut [f32],
21813 berr: &mut [f32],
21814 work: &mut [c32],
21815 rwork: &mut [f32],
21816 info: &mut i32,
21817) {
21818 ffi::cpbrfs_(
21819 &(uplo as c_char),
21820 &n,
21821 &kd,
21822 &nrhs,
21823 ab.as_ptr() as *const _,
21824 &ldab,
21825 afb.as_ptr() as *const _,
21826 &ldafb,
21827 b.as_ptr() as *const _,
21828 &ldb,
21829 x.as_mut_ptr() as *mut _,
21830 &ldx,
21831 ferr.as_mut_ptr(),
21832 berr.as_mut_ptr(),
21833 work.as_mut_ptr() as *mut _,
21834 rwork.as_mut_ptr(),
21835 info,
21836 )
21837}
21838
21839#[inline]
21840pub unsafe fn dpbrfs(
21841 uplo: u8,
21842 n: i32,
21843 kd: i32,
21844 nrhs: i32,
21845 ab: &[f64],
21846 ldab: i32,
21847 afb: &[f64],
21848 ldafb: i32,
21849 b: &[f64],
21850 ldb: i32,
21851 x: &mut [f64],
21852 ldx: i32,
21853 ferr: &mut [f64],
21854 berr: &mut [f64],
21855 work: &mut [f64],
21856 iwork: &mut [i32],
21857 info: &mut i32,
21858) {
21859 ffi::dpbrfs_(
21860 &(uplo as c_char),
21861 &n,
21862 &kd,
21863 &nrhs,
21864 ab.as_ptr(),
21865 &ldab,
21866 afb.as_ptr(),
21867 &ldafb,
21868 b.as_ptr(),
21869 &ldb,
21870 x.as_mut_ptr(),
21871 &ldx,
21872 ferr.as_mut_ptr(),
21873 berr.as_mut_ptr(),
21874 work.as_mut_ptr(),
21875 iwork.as_mut_ptr(),
21876 info,
21877 )
21878}
21879
21880#[inline]
21881pub unsafe fn spbrfs(
21882 uplo: u8,
21883 n: i32,
21884 kd: i32,
21885 nrhs: i32,
21886 ab: &[f32],
21887 ldab: i32,
21888 afb: &[f32],
21889 ldafb: i32,
21890 b: &[f32],
21891 ldb: i32,
21892 x: &mut [f32],
21893 ldx: i32,
21894 ferr: &mut [f32],
21895 berr: &mut [f32],
21896 work: &mut [f32],
21897 iwork: &mut [i32],
21898 info: &mut i32,
21899) {
21900 ffi::spbrfs_(
21901 &(uplo as c_char),
21902 &n,
21903 &kd,
21904 &nrhs,
21905 ab.as_ptr(),
21906 &ldab,
21907 afb.as_ptr(),
21908 &ldafb,
21909 b.as_ptr(),
21910 &ldb,
21911 x.as_mut_ptr(),
21912 &ldx,
21913 ferr.as_mut_ptr(),
21914 berr.as_mut_ptr(),
21915 work.as_mut_ptr(),
21916 iwork.as_mut_ptr(),
21917 info,
21918 )
21919}
21920
21921#[inline]
21922pub unsafe fn zpbrfs(
21923 uplo: u8,
21924 n: i32,
21925 kd: i32,
21926 nrhs: i32,
21927 ab: &[c64],
21928 ldab: i32,
21929 afb: &[c64],
21930 ldafb: i32,
21931 b: &[c64],
21932 ldb: i32,
21933 x: &mut [c64],
21934 ldx: i32,
21935 ferr: &mut [f64],
21936 berr: &mut [f64],
21937 work: &mut [c64],
21938 rwork: &mut [f64],
21939 info: &mut i32,
21940) {
21941 ffi::zpbrfs_(
21942 &(uplo as c_char),
21943 &n,
21944 &kd,
21945 &nrhs,
21946 ab.as_ptr() as *const _,
21947 &ldab,
21948 afb.as_ptr() as *const _,
21949 &ldafb,
21950 b.as_ptr() as *const _,
21951 &ldb,
21952 x.as_mut_ptr() as *mut _,
21953 &ldx,
21954 ferr.as_mut_ptr(),
21955 berr.as_mut_ptr(),
21956 work.as_mut_ptr() as *mut _,
21957 rwork.as_mut_ptr(),
21958 info,
21959 )
21960}
21961
21962#[inline]
21963pub unsafe fn cpbstf(uplo: u8, n: i32, kd: i32, ab: &mut [c32], ldab: i32, info: &mut i32) {
21964 ffi::cpbstf_(
21965 &(uplo as c_char),
21966 &n,
21967 &kd,
21968 ab.as_mut_ptr() as *mut _,
21969 &ldab,
21970 info,
21971 )
21972}
21973
21974#[inline]
21975pub unsafe fn dpbstf(uplo: u8, n: i32, kd: i32, ab: &mut [f64], ldab: i32, info: &mut i32) {
21976 ffi::dpbstf_(&(uplo as c_char), &n, &kd, ab.as_mut_ptr(), &ldab, info)
21977}
21978
21979#[inline]
21980pub unsafe fn spbstf(uplo: u8, n: i32, kd: i32, ab: &mut [f32], ldab: i32, info: &mut i32) {
21981 ffi::spbstf_(&(uplo as c_char), &n, &kd, ab.as_mut_ptr(), &ldab, info)
21982}
21983
21984#[inline]
21985pub unsafe fn zpbstf(uplo: u8, n: i32, kd: i32, ab: &mut [c64], ldab: i32, info: &mut i32) {
21986 ffi::zpbstf_(
21987 &(uplo as c_char),
21988 &n,
21989 &kd,
21990 ab.as_mut_ptr() as *mut _,
21991 &ldab,
21992 info,
21993 )
21994}
21995
21996#[inline]
21997pub unsafe fn cpbsv(
21998 uplo: u8,
21999 n: i32,
22000 kd: i32,
22001 nrhs: i32,
22002 ab: &mut [c32],
22003 ldab: i32,
22004 b: &mut [c32],
22005 ldb: i32,
22006 info: &mut i32,
22007) {
22008 ffi::cpbsv_(
22009 &(uplo as c_char),
22010 &n,
22011 &kd,
22012 &nrhs,
22013 ab.as_mut_ptr() as *mut _,
22014 &ldab,
22015 b.as_mut_ptr() as *mut _,
22016 &ldb,
22017 info,
22018 )
22019}
22020
22021#[inline]
22022pub unsafe fn dpbsv(
22023 uplo: u8,
22024 n: i32,
22025 kd: i32,
22026 nrhs: i32,
22027 ab: &mut [f64],
22028 ldab: i32,
22029 b: &mut [f64],
22030 ldb: i32,
22031 info: &mut i32,
22032) {
22033 ffi::dpbsv_(
22034 &(uplo as c_char),
22035 &n,
22036 &kd,
22037 &nrhs,
22038 ab.as_mut_ptr(),
22039 &ldab,
22040 b.as_mut_ptr(),
22041 &ldb,
22042 info,
22043 )
22044}
22045
22046#[inline]
22047pub unsafe fn spbsv(
22048 uplo: u8,
22049 n: i32,
22050 kd: i32,
22051 nrhs: i32,
22052 ab: &mut [f32],
22053 ldab: i32,
22054 b: &mut [f32],
22055 ldb: i32,
22056 info: &mut i32,
22057) {
22058 ffi::spbsv_(
22059 &(uplo as c_char),
22060 &n,
22061 &kd,
22062 &nrhs,
22063 ab.as_mut_ptr(),
22064 &ldab,
22065 b.as_mut_ptr(),
22066 &ldb,
22067 info,
22068 )
22069}
22070
22071#[inline]
22072pub unsafe fn zpbsv(
22073 uplo: u8,
22074 n: i32,
22075 kd: i32,
22076 nrhs: i32,
22077 ab: &mut [c64],
22078 ldab: i32,
22079 b: &mut [c64],
22080 ldb: i32,
22081 info: &mut i32,
22082) {
22083 ffi::zpbsv_(
22084 &(uplo as c_char),
22085 &n,
22086 &kd,
22087 &nrhs,
22088 ab.as_mut_ptr() as *mut _,
22089 &ldab,
22090 b.as_mut_ptr() as *mut _,
22091 &ldb,
22092 info,
22093 )
22094}
22095
22096#[inline]
22097pub unsafe fn cpbsvx(
22098 fact: u8,
22099 uplo: u8,
22100 n: i32,
22101 kd: i32,
22102 nrhs: i32,
22103 ab: &mut [c32],
22104 ldab: i32,
22105 afb: &mut [c32],
22106 ldafb: i32,
22107 equed: &mut u8,
22108 s: &mut [f32],
22109 b: &mut [c32],
22110 ldb: i32,
22111 x: &mut [c32],
22112 ldx: i32,
22113 rcond: &mut f32,
22114 ferr: &mut [f32],
22115 berr: &mut [f32],
22116 work: &mut [c32],
22117 rwork: &mut [f32],
22118 info: &mut i32,
22119) {
22120 ffi::cpbsvx_(
22121 &(fact as c_char),
22122 &(uplo as c_char),
22123 &n,
22124 &kd,
22125 &nrhs,
22126 ab.as_mut_ptr() as *mut _,
22127 &ldab,
22128 afb.as_mut_ptr() as *mut _,
22129 &ldafb,
22130 equed as *mut _ as *mut _,
22131 s.as_mut_ptr(),
22132 b.as_mut_ptr() as *mut _,
22133 &ldb,
22134 x.as_mut_ptr() as *mut _,
22135 &ldx,
22136 rcond,
22137 ferr.as_mut_ptr(),
22138 berr.as_mut_ptr(),
22139 work.as_mut_ptr() as *mut _,
22140 rwork.as_mut_ptr(),
22141 info,
22142 )
22143}
22144
22145#[inline]
22146pub unsafe fn dpbsvx(
22147 fact: u8,
22148 uplo: u8,
22149 n: i32,
22150 kd: i32,
22151 nrhs: i32,
22152 ab: &mut [f64],
22153 ldab: i32,
22154 afb: &mut [f64],
22155 ldafb: i32,
22156 equed: &mut u8,
22157 s: &mut [f64],
22158 b: &mut [f64],
22159 ldb: i32,
22160 x: &mut [f64],
22161 ldx: i32,
22162 rcond: &mut f64,
22163 ferr: &mut [f64],
22164 berr: &mut [f64],
22165 work: &mut [f64],
22166 iwork: &mut [i32],
22167 info: &mut i32,
22168) {
22169 ffi::dpbsvx_(
22170 &(fact as c_char),
22171 &(uplo as c_char),
22172 &n,
22173 &kd,
22174 &nrhs,
22175 ab.as_mut_ptr(),
22176 &ldab,
22177 afb.as_mut_ptr(),
22178 &ldafb,
22179 equed as *mut _ as *mut _,
22180 s.as_mut_ptr(),
22181 b.as_mut_ptr(),
22182 &ldb,
22183 x.as_mut_ptr(),
22184 &ldx,
22185 rcond,
22186 ferr.as_mut_ptr(),
22187 berr.as_mut_ptr(),
22188 work.as_mut_ptr(),
22189 iwork.as_mut_ptr(),
22190 info,
22191 )
22192}
22193
22194#[inline]
22195pub unsafe fn spbsvx(
22196 fact: u8,
22197 uplo: u8,
22198 n: i32,
22199 kd: i32,
22200 nrhs: i32,
22201 ab: &mut [f32],
22202 ldab: i32,
22203 afb: &mut [f32],
22204 ldafb: i32,
22205 equed: &mut u8,
22206 s: &mut [f32],
22207 b: &mut [f32],
22208 ldb: i32,
22209 x: &mut [f32],
22210 ldx: i32,
22211 rcond: &mut f32,
22212 ferr: &mut [f32],
22213 berr: &mut [f32],
22214 work: &mut [f32],
22215 iwork: &mut [i32],
22216 info: &mut i32,
22217) {
22218 ffi::spbsvx_(
22219 &(fact as c_char),
22220 &(uplo as c_char),
22221 &n,
22222 &kd,
22223 &nrhs,
22224 ab.as_mut_ptr(),
22225 &ldab,
22226 afb.as_mut_ptr(),
22227 &ldafb,
22228 equed as *mut _ as *mut _,
22229 s.as_mut_ptr(),
22230 b.as_mut_ptr(),
22231 &ldb,
22232 x.as_mut_ptr(),
22233 &ldx,
22234 rcond,
22235 ferr.as_mut_ptr(),
22236 berr.as_mut_ptr(),
22237 work.as_mut_ptr(),
22238 iwork.as_mut_ptr(),
22239 info,
22240 )
22241}
22242
22243#[inline]
22244pub unsafe fn zpbsvx(
22245 fact: u8,
22246 uplo: u8,
22247 n: i32,
22248 kd: i32,
22249 nrhs: i32,
22250 ab: &mut [c64],
22251 ldab: i32,
22252 afb: &mut [c64],
22253 ldafb: i32,
22254 equed: &mut u8,
22255 s: &mut [f64],
22256 b: &mut [c64],
22257 ldb: i32,
22258 x: &mut [c64],
22259 ldx: i32,
22260 rcond: &mut f64,
22261 ferr: &mut [f64],
22262 berr: &mut [f64],
22263 work: &mut [c64],
22264 rwork: &mut [f64],
22265 info: &mut i32,
22266) {
22267 ffi::zpbsvx_(
22268 &(fact as c_char),
22269 &(uplo as c_char),
22270 &n,
22271 &kd,
22272 &nrhs,
22273 ab.as_mut_ptr() as *mut _,
22274 &ldab,
22275 afb.as_mut_ptr() as *mut _,
22276 &ldafb,
22277 equed as *mut _ as *mut _,
22278 s.as_mut_ptr(),
22279 b.as_mut_ptr() as *mut _,
22280 &ldb,
22281 x.as_mut_ptr() as *mut _,
22282 &ldx,
22283 rcond,
22284 ferr.as_mut_ptr(),
22285 berr.as_mut_ptr(),
22286 work.as_mut_ptr() as *mut _,
22287 rwork.as_mut_ptr(),
22288 info,
22289 )
22290}
22291
22292#[inline]
22293pub unsafe fn cpbtrf(uplo: u8, n: i32, kd: i32, ab: &mut [c32], ldab: i32, info: &mut i32) {
22294 ffi::cpbtrf_(
22295 &(uplo as c_char),
22296 &n,
22297 &kd,
22298 ab.as_mut_ptr() as *mut _,
22299 &ldab,
22300 info,
22301 )
22302}
22303
22304#[inline]
22305pub unsafe fn dpbtrf(uplo: u8, n: i32, kd: i32, ab: &mut [f64], ldab: i32, info: &mut i32) {
22306 ffi::dpbtrf_(&(uplo as c_char), &n, &kd, ab.as_mut_ptr(), &ldab, info)
22307}
22308
22309#[inline]
22310pub unsafe fn spbtrf(uplo: u8, n: i32, kd: i32, ab: &mut [f32], ldab: i32, info: &mut i32) {
22311 ffi::spbtrf_(&(uplo as c_char), &n, &kd, ab.as_mut_ptr(), &ldab, info)
22312}
22313
22314#[inline]
22315pub unsafe fn zpbtrf(uplo: u8, n: i32, kd: i32, ab: &mut [c64], ldab: i32, info: &mut i32) {
22316 ffi::zpbtrf_(
22317 &(uplo as c_char),
22318 &n,
22319 &kd,
22320 ab.as_mut_ptr() as *mut _,
22321 &ldab,
22322 info,
22323 )
22324}
22325
22326#[inline]
22327pub unsafe fn cpbtrs(
22328 uplo: u8,
22329 n: i32,
22330 kd: i32,
22331 nrhs: i32,
22332 ab: &[c32],
22333 ldab: i32,
22334 b: &mut [c32],
22335 ldb: i32,
22336 info: &mut i32,
22337) {
22338 ffi::cpbtrs_(
22339 &(uplo as c_char),
22340 &n,
22341 &kd,
22342 &nrhs,
22343 ab.as_ptr() as *const _,
22344 &ldab,
22345 b.as_mut_ptr() as *mut _,
22346 &ldb,
22347 info,
22348 )
22349}
22350
22351#[inline]
22352pub unsafe fn dpbtrs(
22353 uplo: u8,
22354 n: i32,
22355 kd: i32,
22356 nrhs: i32,
22357 ab: &[f64],
22358 ldab: i32,
22359 b: &mut [f64],
22360 ldb: i32,
22361 info: &mut i32,
22362) {
22363 ffi::dpbtrs_(
22364 &(uplo as c_char),
22365 &n,
22366 &kd,
22367 &nrhs,
22368 ab.as_ptr(),
22369 &ldab,
22370 b.as_mut_ptr(),
22371 &ldb,
22372 info,
22373 )
22374}
22375
22376#[inline]
22377pub unsafe fn spbtrs(
22378 uplo: u8,
22379 n: i32,
22380 kd: i32,
22381 nrhs: i32,
22382 ab: &[f32],
22383 ldab: i32,
22384 b: &mut [f32],
22385 ldb: i32,
22386 info: &mut i32,
22387) {
22388 ffi::spbtrs_(
22389 &(uplo as c_char),
22390 &n,
22391 &kd,
22392 &nrhs,
22393 ab.as_ptr(),
22394 &ldab,
22395 b.as_mut_ptr(),
22396 &ldb,
22397 info,
22398 )
22399}
22400
22401#[inline]
22402pub unsafe fn zpbtrs(
22403 uplo: u8,
22404 n: i32,
22405 kd: i32,
22406 nrhs: i32,
22407 ab: &[c64],
22408 ldab: i32,
22409 b: &mut [c64],
22410 ldb: i32,
22411 info: &mut i32,
22412) {
22413 ffi::zpbtrs_(
22414 &(uplo as c_char),
22415 &n,
22416 &kd,
22417 &nrhs,
22418 ab.as_ptr() as *const _,
22419 &ldab,
22420 b.as_mut_ptr() as *mut _,
22421 &ldb,
22422 info,
22423 )
22424}
22425
22426#[inline]
22427pub unsafe fn cpftrf(transr: u8, uplo: u8, n: i32, a: &mut [c32], info: &mut i32) {
22428 ffi::cpftrf_(
22429 &(transr as c_char),
22430 &(uplo as c_char),
22431 &n,
22432 a.as_mut_ptr() as *mut _,
22433 info,
22434 )
22435}
22436
22437#[inline]
22438pub unsafe fn dpftrf(transr: u8, uplo: u8, n: i32, a: &mut [f64], info: &mut i32) {
22439 ffi::dpftrf_(
22440 &(transr as c_char),
22441 &(uplo as c_char),
22442 &n,
22443 a.as_mut_ptr(),
22444 info,
22445 )
22446}
22447
22448#[inline]
22449pub unsafe fn spftrf(transr: u8, uplo: u8, n: i32, a: &mut [f32], info: &mut i32) {
22450 ffi::spftrf_(
22451 &(transr as c_char),
22452 &(uplo as c_char),
22453 &n,
22454 a.as_mut_ptr(),
22455 info,
22456 )
22457}
22458
22459#[inline]
22460pub unsafe fn zpftrf(transr: u8, uplo: u8, n: i32, a: &mut [c64], info: &mut i32) {
22461 ffi::zpftrf_(
22462 &(transr as c_char),
22463 &(uplo as c_char),
22464 &n,
22465 a.as_mut_ptr() as *mut _,
22466 info,
22467 )
22468}
22469
22470#[inline]
22471pub unsafe fn cpftri(transr: u8, uplo: u8, n: i32, a: &mut [c32], info: &mut i32) {
22472 ffi::cpftri_(
22473 &(transr as c_char),
22474 &(uplo as c_char),
22475 &n,
22476 a.as_mut_ptr() as *mut _,
22477 info,
22478 )
22479}
22480
22481#[inline]
22482pub unsafe fn dpftri(transr: u8, uplo: u8, n: i32, a: &mut [f64], info: &mut i32) {
22483 ffi::dpftri_(
22484 &(transr as c_char),
22485 &(uplo as c_char),
22486 &n,
22487 a.as_mut_ptr(),
22488 info,
22489 )
22490}
22491
22492#[inline]
22493pub unsafe fn spftri(transr: u8, uplo: u8, n: i32, a: &mut [f32], info: &mut i32) {
22494 ffi::spftri_(
22495 &(transr as c_char),
22496 &(uplo as c_char),
22497 &n,
22498 a.as_mut_ptr(),
22499 info,
22500 )
22501}
22502
22503#[inline]
22504pub unsafe fn zpftri(transr: u8, uplo: u8, n: i32, a: &mut [c64], info: &mut i32) {
22505 ffi::zpftri_(
22506 &(transr as c_char),
22507 &(uplo as c_char),
22508 &n,
22509 a.as_mut_ptr() as *mut _,
22510 info,
22511 )
22512}
22513
22514#[inline]
22515pub unsafe fn cpftrs(
22516 transr: u8,
22517 uplo: u8,
22518 n: i32,
22519 nrhs: i32,
22520 a: &[c32],
22521 b: &mut [c32],
22522 ldb: i32,
22523 info: &mut i32,
22524) {
22525 ffi::cpftrs_(
22526 &(transr as c_char),
22527 &(uplo as c_char),
22528 &n,
22529 &nrhs,
22530 a.as_ptr() as *const _,
22531 b.as_mut_ptr() as *mut _,
22532 &ldb,
22533 info,
22534 )
22535}
22536
22537#[inline]
22538pub unsafe fn dpftrs(
22539 transr: u8,
22540 uplo: u8,
22541 n: i32,
22542 nrhs: i32,
22543 a: &[f64],
22544 b: &mut [f64],
22545 ldb: i32,
22546 info: &mut i32,
22547) {
22548 ffi::dpftrs_(
22549 &(transr as c_char),
22550 &(uplo as c_char),
22551 &n,
22552 &nrhs,
22553 a.as_ptr(),
22554 b.as_mut_ptr(),
22555 &ldb,
22556 info,
22557 )
22558}
22559
22560#[inline]
22561pub unsafe fn spftrs(
22562 transr: u8,
22563 uplo: u8,
22564 n: i32,
22565 nrhs: i32,
22566 a: &[f32],
22567 b: &mut [f32],
22568 ldb: i32,
22569 info: &mut i32,
22570) {
22571 ffi::spftrs_(
22572 &(transr as c_char),
22573 &(uplo as c_char),
22574 &n,
22575 &nrhs,
22576 a.as_ptr(),
22577 b.as_mut_ptr(),
22578 &ldb,
22579 info,
22580 )
22581}
22582
22583#[inline]
22584pub unsafe fn zpftrs(
22585 transr: u8,
22586 uplo: u8,
22587 n: i32,
22588 nrhs: i32,
22589 a: &[c64],
22590 b: &mut [c64],
22591 ldb: i32,
22592 info: &mut i32,
22593) {
22594 ffi::zpftrs_(
22595 &(transr as c_char),
22596 &(uplo as c_char),
22597 &n,
22598 &nrhs,
22599 a.as_ptr() as *const _,
22600 b.as_mut_ptr() as *mut _,
22601 &ldb,
22602 info,
22603 )
22604}
22605
22606#[inline]
22607pub unsafe fn cpocon(
22608 uplo: u8,
22609 n: i32,
22610 a: &[c32],
22611 lda: i32,
22612 anorm: f32,
22613 rcond: &mut f32,
22614 work: &mut [c32],
22615 rwork: &mut [f32],
22616 info: &mut i32,
22617) {
22618 ffi::cpocon_(
22619 &(uplo as c_char),
22620 &n,
22621 a.as_ptr() as *const _,
22622 &lda,
22623 &anorm,
22624 rcond,
22625 work.as_mut_ptr() as *mut _,
22626 rwork.as_mut_ptr(),
22627 info,
22628 )
22629}
22630
22631#[inline]
22632pub unsafe fn dpocon(
22633 uplo: u8,
22634 n: i32,
22635 a: &[f64],
22636 lda: i32,
22637 anorm: f64,
22638 rcond: &mut f64,
22639 work: &mut [f64],
22640 iwork: &mut [i32],
22641 info: &mut i32,
22642) {
22643 ffi::dpocon_(
22644 &(uplo as c_char),
22645 &n,
22646 a.as_ptr(),
22647 &lda,
22648 &anorm,
22649 rcond,
22650 work.as_mut_ptr(),
22651 iwork.as_mut_ptr(),
22652 info,
22653 )
22654}
22655
22656#[inline]
22657pub unsafe fn spocon(
22658 uplo: u8,
22659 n: i32,
22660 a: &[f32],
22661 lda: i32,
22662 anorm: f32,
22663 rcond: &mut f32,
22664 work: &mut [f32],
22665 iwork: &mut [i32],
22666 info: &mut i32,
22667) {
22668 ffi::spocon_(
22669 &(uplo as c_char),
22670 &n,
22671 a.as_ptr(),
22672 &lda,
22673 &anorm,
22674 rcond,
22675 work.as_mut_ptr(),
22676 iwork.as_mut_ptr(),
22677 info,
22678 )
22679}
22680
22681#[inline]
22682pub unsafe fn zpocon(
22683 uplo: u8,
22684 n: i32,
22685 a: &[c64],
22686 lda: i32,
22687 anorm: f64,
22688 rcond: &mut f64,
22689 work: &mut [c64],
22690 rwork: &mut [f64],
22691 info: &mut i32,
22692) {
22693 ffi::zpocon_(
22694 &(uplo as c_char),
22695 &n,
22696 a.as_ptr() as *const _,
22697 &lda,
22698 &anorm,
22699 rcond,
22700 work.as_mut_ptr() as *mut _,
22701 rwork.as_mut_ptr(),
22702 info,
22703 )
22704}
22705
22706#[inline]
22707pub unsafe fn cpoequ(
22708 n: i32,
22709 a: &[c32],
22710 lda: i32,
22711 s: &mut [f32],
22712 scond: &mut [f32],
22713 amax: &mut f32,
22714 info: &mut i32,
22715) {
22716 ffi::cpoequ_(
22717 &n,
22718 a.as_ptr() as *const _,
22719 &lda,
22720 s.as_mut_ptr(),
22721 scond.as_mut_ptr(),
22722 amax,
22723 info,
22724 )
22725}
22726
22727#[inline]
22728pub unsafe fn dpoequ(
22729 n: i32,
22730 a: &[f64],
22731 lda: i32,
22732 s: &mut [f64],
22733 scond: &mut [f64],
22734 amax: &mut f64,
22735 info: &mut i32,
22736) {
22737 ffi::dpoequ_(
22738 &n,
22739 a.as_ptr(),
22740 &lda,
22741 s.as_mut_ptr(),
22742 scond.as_mut_ptr(),
22743 amax,
22744 info,
22745 )
22746}
22747
22748#[inline]
22749pub unsafe fn spoequ(
22750 n: i32,
22751 a: &[f32],
22752 lda: i32,
22753 s: &mut [f32],
22754 scond: &mut [f32],
22755 amax: &mut f32,
22756 info: &mut i32,
22757) {
22758 ffi::spoequ_(
22759 &n,
22760 a.as_ptr(),
22761 &lda,
22762 s.as_mut_ptr(),
22763 scond.as_mut_ptr(),
22764 amax,
22765 info,
22766 )
22767}
22768
22769#[inline]
22770pub unsafe fn zpoequ(
22771 n: i32,
22772 a: &[c64],
22773 lda: i32,
22774 s: &mut [f64],
22775 scond: &mut [f64],
22776 amax: &mut f64,
22777 info: &mut i32,
22778) {
22779 ffi::zpoequ_(
22780 &n,
22781 a.as_ptr() as *const _,
22782 &lda,
22783 s.as_mut_ptr(),
22784 scond.as_mut_ptr(),
22785 amax,
22786 info,
22787 )
22788}
22789
22790#[inline]
22791pub unsafe fn cpoequb(
22792 n: i32,
22793 a: &[c32],
22794 lda: i32,
22795 s: &mut [f32],
22796 scond: &mut [f32],
22797 amax: &mut f32,
22798 info: &mut i32,
22799) {
22800 ffi::cpoequb_(
22801 &n,
22802 a.as_ptr() as *const _,
22803 &lda,
22804 s.as_mut_ptr(),
22805 scond.as_mut_ptr(),
22806 amax,
22807 info,
22808 )
22809}
22810
22811#[inline]
22812pub unsafe fn dpoequb(
22813 n: i32,
22814 a: &[f64],
22815 lda: i32,
22816 s: &mut [f64],
22817 scond: &mut [f64],
22818 amax: &mut f64,
22819 info: &mut i32,
22820) {
22821 ffi::dpoequb_(
22822 &n,
22823 a.as_ptr(),
22824 &lda,
22825 s.as_mut_ptr(),
22826 scond.as_mut_ptr(),
22827 amax,
22828 info,
22829 )
22830}
22831
22832#[inline]
22833pub unsafe fn spoequb(
22834 n: i32,
22835 a: &[f32],
22836 lda: i32,
22837 s: &mut [f32],
22838 scond: &mut [f32],
22839 amax: &mut f32,
22840 info: &mut i32,
22841) {
22842 ffi::spoequb_(
22843 &n,
22844 a.as_ptr(),
22845 &lda,
22846 s.as_mut_ptr(),
22847 scond.as_mut_ptr(),
22848 amax,
22849 info,
22850 )
22851}
22852
22853#[inline]
22854pub unsafe fn zpoequb(
22855 n: i32,
22856 a: &[c64],
22857 lda: i32,
22858 s: &mut [f64],
22859 scond: &mut [f64],
22860 amax: &mut f64,
22861 info: &mut i32,
22862) {
22863 ffi::zpoequb_(
22864 &n,
22865 a.as_ptr() as *const _,
22866 &lda,
22867 s.as_mut_ptr(),
22868 scond.as_mut_ptr(),
22869 amax,
22870 info,
22871 )
22872}
22873
22874#[inline]
22875pub unsafe fn cporfs(
22876 uplo: u8,
22877 n: i32,
22878 nrhs: i32,
22879 a: &[c32],
22880 lda: i32,
22881 af: &[c32],
22882 ldaf: i32,
22883 b: &[c32],
22884 ldb: i32,
22885 x: &mut [c32],
22886 ldx: i32,
22887 ferr: &mut [f32],
22888 berr: &mut [f32],
22889 work: &mut [c32],
22890 rwork: &mut [f32],
22891 info: &mut i32,
22892) {
22893 ffi::cporfs_(
22894 &(uplo as c_char),
22895 &n,
22896 &nrhs,
22897 a.as_ptr() as *const _,
22898 &lda,
22899 af.as_ptr() as *const _,
22900 &ldaf,
22901 b.as_ptr() as *const _,
22902 &ldb,
22903 x.as_mut_ptr() as *mut _,
22904 &ldx,
22905 ferr.as_mut_ptr(),
22906 berr.as_mut_ptr(),
22907 work.as_mut_ptr() as *mut _,
22908 rwork.as_mut_ptr(),
22909 info,
22910 )
22911}
22912
22913#[inline]
22914pub unsafe fn dporfs(
22915 uplo: u8,
22916 n: i32,
22917 nrhs: i32,
22918 a: &[f64],
22919 lda: i32,
22920 af: &[f64],
22921 ldaf: i32,
22922 b: &[f64],
22923 ldb: i32,
22924 x: &mut [f64],
22925 ldx: i32,
22926 ferr: &mut [f64],
22927 berr: &mut [f64],
22928 work: &mut [f64],
22929 iwork: &mut [i32],
22930 info: &mut i32,
22931) {
22932 ffi::dporfs_(
22933 &(uplo as c_char),
22934 &n,
22935 &nrhs,
22936 a.as_ptr(),
22937 &lda,
22938 af.as_ptr(),
22939 &ldaf,
22940 b.as_ptr(),
22941 &ldb,
22942 x.as_mut_ptr(),
22943 &ldx,
22944 ferr.as_mut_ptr(),
22945 berr.as_mut_ptr(),
22946 work.as_mut_ptr(),
22947 iwork.as_mut_ptr(),
22948 info,
22949 )
22950}
22951
22952#[inline]
22953pub unsafe fn sporfs(
22954 uplo: u8,
22955 n: i32,
22956 nrhs: i32,
22957 a: &[f32],
22958 lda: i32,
22959 af: &[f32],
22960 ldaf: i32,
22961 b: &[f32],
22962 ldb: i32,
22963 x: &mut [f32],
22964 ldx: i32,
22965 ferr: &mut [f32],
22966 berr: &mut [f32],
22967 work: &mut [f32],
22968 iwork: &mut [i32],
22969 info: &mut i32,
22970) {
22971 ffi::sporfs_(
22972 &(uplo as c_char),
22973 &n,
22974 &nrhs,
22975 a.as_ptr(),
22976 &lda,
22977 af.as_ptr(),
22978 &ldaf,
22979 b.as_ptr(),
22980 &ldb,
22981 x.as_mut_ptr(),
22982 &ldx,
22983 ferr.as_mut_ptr(),
22984 berr.as_mut_ptr(),
22985 work.as_mut_ptr(),
22986 iwork.as_mut_ptr(),
22987 info,
22988 )
22989}
22990
22991#[inline]
22992pub unsafe fn zporfs(
22993 uplo: u8,
22994 n: i32,
22995 nrhs: i32,
22996 a: &[c64],
22997 lda: i32,
22998 af: &[c64],
22999 ldaf: i32,
23000 b: &[c64],
23001 ldb: i32,
23002 x: &mut [c64],
23003 ldx: i32,
23004 ferr: &mut [f64],
23005 berr: &mut [f64],
23006 work: &mut [c64],
23007 rwork: &mut [f64],
23008 info: &mut i32,
23009) {
23010 ffi::zporfs_(
23011 &(uplo as c_char),
23012 &n,
23013 &nrhs,
23014 a.as_ptr() as *const _,
23015 &lda,
23016 af.as_ptr() as *const _,
23017 &ldaf,
23018 b.as_ptr() as *const _,
23019 &ldb,
23020 x.as_mut_ptr() as *mut _,
23021 &ldx,
23022 ferr.as_mut_ptr(),
23023 berr.as_mut_ptr(),
23024 work.as_mut_ptr() as *mut _,
23025 rwork.as_mut_ptr(),
23026 info,
23027 )
23028}
23029
23030#[inline]
23031pub unsafe fn cporfsx(
23032 uplo: u8,
23033 equed: u8,
23034 n: i32,
23035 nrhs: i32,
23036 a: &[c32],
23037 lda: i32,
23038 af: &[c32],
23039 ldaf: i32,
23040 s: &mut [f32],
23041 b: &[c32],
23042 ldb: i32,
23043 x: &mut [c32],
23044 ldx: i32,
23045 rcond: &mut f32,
23046 berr: &mut [f32],
23047 n_err_bnds: i32,
23048 err_bnds_norm: &mut [f32],
23049 err_bnds_comp: &mut [f32],
23050 nparams: &[i32],
23051 params: &mut [f32],
23052 work: &mut [c32],
23053 rwork: &mut [f32],
23054 info: &mut i32,
23055) {
23056 ffi::cporfsx_(
23057 &(uplo as c_char),
23058 &(equed as c_char),
23059 &n,
23060 &nrhs,
23061 a.as_ptr() as *const _,
23062 &lda,
23063 af.as_ptr() as *const _,
23064 &ldaf,
23065 s.as_mut_ptr(),
23066 b.as_ptr() as *const _,
23067 &ldb,
23068 x.as_mut_ptr() as *mut _,
23069 &ldx,
23070 rcond,
23071 berr.as_mut_ptr(),
23072 &n_err_bnds,
23073 err_bnds_norm.as_mut_ptr(),
23074 err_bnds_comp.as_mut_ptr(),
23075 nparams.as_ptr(),
23076 params.as_mut_ptr(),
23077 work.as_mut_ptr() as *mut _,
23078 rwork.as_mut_ptr(),
23079 info,
23080 )
23081}
23082
23083#[inline]
23084pub unsafe fn dporfsx(
23085 uplo: u8,
23086 equed: u8,
23087 n: i32,
23088 nrhs: i32,
23089 a: &[f64],
23090 lda: i32,
23091 af: &[f64],
23092 ldaf: i32,
23093 s: &mut [f64],
23094 b: &[f64],
23095 ldb: i32,
23096 x: &mut [f64],
23097 ldx: i32,
23098 rcond: &mut f64,
23099 berr: &mut [f64],
23100 n_err_bnds: i32,
23101 err_bnds_norm: &mut [f64],
23102 err_bnds_comp: &mut [f64],
23103 nparams: &[i32],
23104 params: &mut [f64],
23105 work: &mut [f64],
23106 iwork: &mut [i32],
23107 info: &mut i32,
23108) {
23109 ffi::dporfsx_(
23110 &(uplo as c_char),
23111 &(equed as c_char),
23112 &n,
23113 &nrhs,
23114 a.as_ptr(),
23115 &lda,
23116 af.as_ptr(),
23117 &ldaf,
23118 s.as_mut_ptr(),
23119 b.as_ptr(),
23120 &ldb,
23121 x.as_mut_ptr(),
23122 &ldx,
23123 rcond,
23124 berr.as_mut_ptr(),
23125 &n_err_bnds,
23126 err_bnds_norm.as_mut_ptr(),
23127 err_bnds_comp.as_mut_ptr(),
23128 nparams.as_ptr(),
23129 params.as_mut_ptr(),
23130 work.as_mut_ptr(),
23131 iwork.as_mut_ptr(),
23132 info,
23133 )
23134}
23135
23136#[inline]
23137pub unsafe fn sporfsx(
23138 uplo: u8,
23139 equed: u8,
23140 n: i32,
23141 nrhs: i32,
23142 a: &[f32],
23143 lda: i32,
23144 af: &[f32],
23145 ldaf: i32,
23146 s: &mut [f32],
23147 b: &[f32],
23148 ldb: i32,
23149 x: &mut [f32],
23150 ldx: i32,
23151 rcond: &mut f32,
23152 berr: &mut [f32],
23153 n_err_bnds: i32,
23154 err_bnds_norm: &mut [f32],
23155 err_bnds_comp: &mut [f32],
23156 nparams: &[i32],
23157 params: &mut [f32],
23158 work: &mut [f32],
23159 iwork: &mut [i32],
23160 info: &mut i32,
23161) {
23162 ffi::sporfsx_(
23163 &(uplo as c_char),
23164 &(equed as c_char),
23165 &n,
23166 &nrhs,
23167 a.as_ptr(),
23168 &lda,
23169 af.as_ptr(),
23170 &ldaf,
23171 s.as_mut_ptr(),
23172 b.as_ptr(),
23173 &ldb,
23174 x.as_mut_ptr(),
23175 &ldx,
23176 rcond,
23177 berr.as_mut_ptr(),
23178 &n_err_bnds,
23179 err_bnds_norm.as_mut_ptr(),
23180 err_bnds_comp.as_mut_ptr(),
23181 nparams.as_ptr(),
23182 params.as_mut_ptr(),
23183 work.as_mut_ptr(),
23184 iwork.as_mut_ptr(),
23185 info,
23186 )
23187}
23188
23189#[inline]
23190pub unsafe fn zporfsx(
23191 uplo: u8,
23192 equed: u8,
23193 n: i32,
23194 nrhs: i32,
23195 a: &[c64],
23196 lda: i32,
23197 af: &[c64],
23198 ldaf: i32,
23199 s: &mut [f64],
23200 b: &[c64],
23201 ldb: i32,
23202 x: &mut [c64],
23203 ldx: i32,
23204 rcond: &mut f64,
23205 berr: &mut [f64],
23206 n_err_bnds: i32,
23207 err_bnds_norm: &mut [f64],
23208 err_bnds_comp: &mut [f64],
23209 nparams: &[i32],
23210 params: &mut [f64],
23211 work: &mut [c64],
23212 rwork: &mut [f64],
23213 info: &mut i32,
23214) {
23215 ffi::zporfsx_(
23216 &(uplo as c_char),
23217 &(equed as c_char),
23218 &n,
23219 &nrhs,
23220 a.as_ptr() as *const _,
23221 &lda,
23222 af.as_ptr() as *const _,
23223 &ldaf,
23224 s.as_mut_ptr(),
23225 b.as_ptr() as *const _,
23226 &ldb,
23227 x.as_mut_ptr() as *mut _,
23228 &ldx,
23229 rcond,
23230 berr.as_mut_ptr(),
23231 &n_err_bnds,
23232 err_bnds_norm.as_mut_ptr(),
23233 err_bnds_comp.as_mut_ptr(),
23234 nparams.as_ptr(),
23235 params.as_mut_ptr(),
23236 work.as_mut_ptr() as *mut _,
23237 rwork.as_mut_ptr(),
23238 info,
23239 )
23240}
23241
23242#[inline]
23243pub unsafe fn cposv(
23244 uplo: u8,
23245 n: i32,
23246 nrhs: i32,
23247 a: &mut [c32],
23248 lda: i32,
23249 b: &mut [c32],
23250 ldb: i32,
23251 info: &mut i32,
23252) {
23253 ffi::cposv_(
23254 &(uplo as c_char),
23255 &n,
23256 &nrhs,
23257 a.as_mut_ptr() as *mut _,
23258 &lda,
23259 b.as_mut_ptr() as *mut _,
23260 &ldb,
23261 info,
23262 )
23263}
23264
23265#[inline]
23266pub unsafe fn dposv(
23267 uplo: u8,
23268 n: i32,
23269 nrhs: i32,
23270 a: &mut [f64],
23271 lda: i32,
23272 b: &mut [f64],
23273 ldb: i32,
23274 info: &mut i32,
23275) {
23276 ffi::dposv_(
23277 &(uplo as c_char),
23278 &n,
23279 &nrhs,
23280 a.as_mut_ptr(),
23281 &lda,
23282 b.as_mut_ptr(),
23283 &ldb,
23284 info,
23285 )
23286}
23287
23288#[inline]
23289pub unsafe fn sposv(
23290 uplo: u8,
23291 n: i32,
23292 nrhs: i32,
23293 a: &mut [f32],
23294 lda: i32,
23295 b: &mut [f32],
23296 ldb: i32,
23297 info: &mut i32,
23298) {
23299 ffi::sposv_(
23300 &(uplo as c_char),
23301 &n,
23302 &nrhs,
23303 a.as_mut_ptr(),
23304 &lda,
23305 b.as_mut_ptr(),
23306 &ldb,
23307 info,
23308 )
23309}
23310
23311#[inline]
23312pub unsafe fn zposv(
23313 uplo: u8,
23314 n: i32,
23315 nrhs: i32,
23316 a: &mut [c64],
23317 lda: i32,
23318 b: &mut [c64],
23319 ldb: i32,
23320 info: &mut i32,
23321) {
23322 ffi::zposv_(
23323 &(uplo as c_char),
23324 &n,
23325 &nrhs,
23326 a.as_mut_ptr() as *mut _,
23327 &lda,
23328 b.as_mut_ptr() as *mut _,
23329 &ldb,
23330 info,
23331 )
23332}
23333
23334#[inline]
23335pub unsafe fn dsposv(
23336 uplo: u8,
23337 n: i32,
23338 nrhs: i32,
23339 a: &mut [f64],
23340 lda: i32,
23341 b: &[f64],
23342 ldb: i32,
23343 x: &mut [f64],
23344 ldx: i32,
23345 work: &mut [f64],
23346 swork: &mut [f32],
23347 iter: &mut i32,
23348 info: &mut i32,
23349) {
23350 ffi::dsposv_(
23351 &(uplo as c_char),
23352 &n,
23353 &nrhs,
23354 a.as_mut_ptr(),
23355 &lda,
23356 b.as_ptr(),
23357 &ldb,
23358 x.as_mut_ptr(),
23359 &ldx,
23360 work.as_mut_ptr(),
23361 swork.as_mut_ptr(),
23362 iter,
23363 info,
23364 )
23365}
23366
23367#[inline]
23368pub unsafe fn zcposv(
23369 uplo: u8,
23370 n: i32,
23371 nrhs: i32,
23372 a: &mut [c64],
23373 lda: i32,
23374 b: &[c64],
23375 ldb: i32,
23376 x: &mut [c64],
23377 ldx: i32,
23378 work: &mut [c64],
23379 swork: &mut [c32],
23380 rwork: &mut [f64],
23381 iter: &mut i32,
23382 info: &mut i32,
23383) {
23384 ffi::zcposv_(
23385 &(uplo as c_char),
23386 &n,
23387 &nrhs,
23388 a.as_mut_ptr() as *mut _,
23389 &lda,
23390 b.as_ptr() as *const _,
23391 &ldb,
23392 x.as_mut_ptr() as *mut _,
23393 &ldx,
23394 work.as_mut_ptr() as *mut _,
23395 swork.as_mut_ptr() as *mut _,
23396 rwork.as_mut_ptr(),
23397 iter,
23398 info,
23399 )
23400}
23401
23402#[inline]
23403pub unsafe fn cposvx(
23404 fact: u8,
23405 uplo: u8,
23406 n: i32,
23407 nrhs: i32,
23408 a: &mut [c32],
23409 lda: i32,
23410 af: &mut [c32],
23411 ldaf: i32,
23412 equed: &mut u8,
23413 s: &mut [f32],
23414 b: &mut [c32],
23415 ldb: i32,
23416 x: &mut [c32],
23417 ldx: i32,
23418 rcond: &mut f32,
23419 ferr: &mut [f32],
23420 berr: &mut [f32],
23421 work: &mut [c32],
23422 rwork: &mut [f32],
23423 info: &mut i32,
23424) {
23425 ffi::cposvx_(
23426 &(fact as c_char),
23427 &(uplo as c_char),
23428 &n,
23429 &nrhs,
23430 a.as_mut_ptr() as *mut _,
23431 &lda,
23432 af.as_mut_ptr() as *mut _,
23433 &ldaf,
23434 equed as *mut _ as *mut _,
23435 s.as_mut_ptr(),
23436 b.as_mut_ptr() as *mut _,
23437 &ldb,
23438 x.as_mut_ptr() as *mut _,
23439 &ldx,
23440 rcond,
23441 ferr.as_mut_ptr(),
23442 berr.as_mut_ptr(),
23443 work.as_mut_ptr() as *mut _,
23444 rwork.as_mut_ptr(),
23445 info,
23446 )
23447}
23448
23449#[inline]
23450pub unsafe fn dposvx(
23451 fact: u8,
23452 uplo: u8,
23453 n: i32,
23454 nrhs: i32,
23455 a: &mut [f64],
23456 lda: i32,
23457 af: &mut [f64],
23458 ldaf: i32,
23459 equed: &mut u8,
23460 s: &mut [f64],
23461 b: &mut [f64],
23462 ldb: i32,
23463 x: &mut [f64],
23464 ldx: i32,
23465 rcond: &mut f64,
23466 ferr: &mut [f64],
23467 berr: &mut [f64],
23468 work: &mut [f64],
23469 iwork: &mut [i32],
23470 info: &mut i32,
23471) {
23472 ffi::dposvx_(
23473 &(fact as c_char),
23474 &(uplo as c_char),
23475 &n,
23476 &nrhs,
23477 a.as_mut_ptr(),
23478 &lda,
23479 af.as_mut_ptr(),
23480 &ldaf,
23481 equed as *mut _ as *mut _,
23482 s.as_mut_ptr(),
23483 b.as_mut_ptr(),
23484 &ldb,
23485 x.as_mut_ptr(),
23486 &ldx,
23487 rcond,
23488 ferr.as_mut_ptr(),
23489 berr.as_mut_ptr(),
23490 work.as_mut_ptr(),
23491 iwork.as_mut_ptr(),
23492 info,
23493 )
23494}
23495
23496#[inline]
23497pub unsafe fn sposvx(
23498 fact: u8,
23499 uplo: u8,
23500 n: i32,
23501 nrhs: i32,
23502 a: &mut [f32],
23503 lda: i32,
23504 af: &mut [f32],
23505 ldaf: i32,
23506 equed: &mut u8,
23507 s: &mut [f32],
23508 b: &mut [f32],
23509 ldb: i32,
23510 x: &mut [f32],
23511 ldx: i32,
23512 rcond: &mut f32,
23513 ferr: &mut [f32],
23514 berr: &mut [f32],
23515 work: &mut [f32],
23516 iwork: &mut [i32],
23517 info: &mut i32,
23518) {
23519 ffi::sposvx_(
23520 &(fact as c_char),
23521 &(uplo as c_char),
23522 &n,
23523 &nrhs,
23524 a.as_mut_ptr(),
23525 &lda,
23526 af.as_mut_ptr(),
23527 &ldaf,
23528 equed as *mut _ as *mut _,
23529 s.as_mut_ptr(),
23530 b.as_mut_ptr(),
23531 &ldb,
23532 x.as_mut_ptr(),
23533 &ldx,
23534 rcond,
23535 ferr.as_mut_ptr(),
23536 berr.as_mut_ptr(),
23537 work.as_mut_ptr(),
23538 iwork.as_mut_ptr(),
23539 info,
23540 )
23541}
23542
23543#[inline]
23544pub unsafe fn zposvx(
23545 fact: u8,
23546 uplo: u8,
23547 n: i32,
23548 nrhs: i32,
23549 a: &mut [c64],
23550 lda: i32,
23551 af: &mut [c64],
23552 ldaf: i32,
23553 equed: &mut u8,
23554 s: &mut [f64],
23555 b: &mut [c64],
23556 ldb: i32,
23557 x: &mut [c64],
23558 ldx: i32,
23559 rcond: &mut f64,
23560 ferr: &mut [f64],
23561 berr: &mut [f64],
23562 work: &mut [c64],
23563 rwork: &mut [f64],
23564 info: &mut i32,
23565) {
23566 ffi::zposvx_(
23567 &(fact as c_char),
23568 &(uplo as c_char),
23569 &n,
23570 &nrhs,
23571 a.as_mut_ptr() as *mut _,
23572 &lda,
23573 af.as_mut_ptr() as *mut _,
23574 &ldaf,
23575 equed as *mut _ as *mut _,
23576 s.as_mut_ptr(),
23577 b.as_mut_ptr() as *mut _,
23578 &ldb,
23579 x.as_mut_ptr() as *mut _,
23580 &ldx,
23581 rcond,
23582 ferr.as_mut_ptr(),
23583 berr.as_mut_ptr(),
23584 work.as_mut_ptr() as *mut _,
23585 rwork.as_mut_ptr(),
23586 info,
23587 )
23588}
23589
23590#[inline]
23591pub unsafe fn cposvxx(
23592 fact: u8,
23593 uplo: u8,
23594 n: i32,
23595 nrhs: i32,
23596 a: &mut [c32],
23597 lda: i32,
23598 af: &mut [c32],
23599 ldaf: i32,
23600 equed: &mut u8,
23601 s: &mut [f32],
23602 b: &mut [c32],
23603 ldb: i32,
23604 x: &mut [c32],
23605 ldx: i32,
23606 rcond: &mut f32,
23607 rpvgrw: &mut f32,
23608 berr: &mut [f32],
23609 n_err_bnds: i32,
23610 err_bnds_norm: &mut [f32],
23611 err_bnds_comp: &mut [f32],
23612 nparams: &[i32],
23613 params: &mut [f32],
23614 work: &mut [c32],
23615 rwork: &mut [f32],
23616 info: &mut i32,
23617) {
23618 ffi::cposvxx_(
23619 &(fact as c_char),
23620 &(uplo as c_char),
23621 &n,
23622 &nrhs,
23623 a.as_mut_ptr() as *mut _,
23624 &lda,
23625 af.as_mut_ptr() as *mut _,
23626 &ldaf,
23627 equed as *mut _ as *mut _,
23628 s.as_mut_ptr(),
23629 b.as_mut_ptr() as *mut _,
23630 &ldb,
23631 x.as_mut_ptr() as *mut _,
23632 &ldx,
23633 rcond,
23634 rpvgrw,
23635 berr.as_mut_ptr(),
23636 &n_err_bnds,
23637 err_bnds_norm.as_mut_ptr(),
23638 err_bnds_comp.as_mut_ptr(),
23639 nparams.as_ptr(),
23640 params.as_mut_ptr(),
23641 work.as_mut_ptr() as *mut _,
23642 rwork.as_mut_ptr(),
23643 info,
23644 )
23645}
23646
23647#[inline]
23648pub unsafe fn dposvxx(
23649 fact: u8,
23650 uplo: u8,
23651 n: i32,
23652 nrhs: i32,
23653 a: &mut [f64],
23654 lda: i32,
23655 af: &mut [f64],
23656 ldaf: i32,
23657 equed: &mut u8,
23658 s: &mut [f64],
23659 b: &mut [f64],
23660 ldb: i32,
23661 x: &mut [f64],
23662 ldx: i32,
23663 rcond: &mut f64,
23664 rpvgrw: &mut f64,
23665 berr: &mut [f64],
23666 n_err_bnds: i32,
23667 err_bnds_norm: &mut [f64],
23668 err_bnds_comp: &mut [f64],
23669 nparams: &[i32],
23670 params: &mut [f64],
23671 work: &mut [f64],
23672 iwork: &mut [i32],
23673 info: &mut i32,
23674) {
23675 ffi::dposvxx_(
23676 &(fact as c_char),
23677 &(uplo as c_char),
23678 &n,
23679 &nrhs,
23680 a.as_mut_ptr(),
23681 &lda,
23682 af.as_mut_ptr(),
23683 &ldaf,
23684 equed as *mut _ as *mut _,
23685 s.as_mut_ptr(),
23686 b.as_mut_ptr(),
23687 &ldb,
23688 x.as_mut_ptr(),
23689 &ldx,
23690 rcond,
23691 rpvgrw,
23692 berr.as_mut_ptr(),
23693 &n_err_bnds,
23694 err_bnds_norm.as_mut_ptr(),
23695 err_bnds_comp.as_mut_ptr(),
23696 nparams.as_ptr(),
23697 params.as_mut_ptr(),
23698 work.as_mut_ptr(),
23699 iwork.as_mut_ptr(),
23700 info,
23701 )
23702}
23703
23704#[inline]
23705pub unsafe fn sposvxx(
23706 fact: u8,
23707 uplo: u8,
23708 n: i32,
23709 nrhs: i32,
23710 a: &mut [f32],
23711 lda: i32,
23712 af: &mut [f32],
23713 ldaf: i32,
23714 equed: &mut u8,
23715 s: &mut [f32],
23716 b: &mut [f32],
23717 ldb: i32,
23718 x: &mut [f32],
23719 ldx: i32,
23720 rcond: &mut f32,
23721 rpvgrw: &mut f32,
23722 berr: &mut [f32],
23723 n_err_bnds: i32,
23724 err_bnds_norm: &mut [f32],
23725 err_bnds_comp: &mut [f32],
23726 nparams: &[i32],
23727 params: &mut [f32],
23728 work: &mut [f32],
23729 iwork: &mut [i32],
23730 info: &mut i32,
23731) {
23732 ffi::sposvxx_(
23733 &(fact as c_char),
23734 &(uplo as c_char),
23735 &n,
23736 &nrhs,
23737 a.as_mut_ptr(),
23738 &lda,
23739 af.as_mut_ptr(),
23740 &ldaf,
23741 equed as *mut _ as *mut _,
23742 s.as_mut_ptr(),
23743 b.as_mut_ptr(),
23744 &ldb,
23745 x.as_mut_ptr(),
23746 &ldx,
23747 rcond,
23748 rpvgrw,
23749 berr.as_mut_ptr(),
23750 &n_err_bnds,
23751 err_bnds_norm.as_mut_ptr(),
23752 err_bnds_comp.as_mut_ptr(),
23753 nparams.as_ptr(),
23754 params.as_mut_ptr(),
23755 work.as_mut_ptr(),
23756 iwork.as_mut_ptr(),
23757 info,
23758 )
23759}
23760
23761#[inline]
23762pub unsafe fn zposvxx(
23763 fact: u8,
23764 uplo: u8,
23765 n: i32,
23766 nrhs: i32,
23767 a: &mut [c64],
23768 lda: i32,
23769 af: &mut [c64],
23770 ldaf: i32,
23771 equed: &mut u8,
23772 s: &mut [f64],
23773 b: &mut [c64],
23774 ldb: i32,
23775 x: &mut [c64],
23776 ldx: i32,
23777 rcond: &mut f64,
23778 rpvgrw: &mut f64,
23779 berr: &mut [f64],
23780 n_err_bnds: i32,
23781 err_bnds_norm: &mut [f64],
23782 err_bnds_comp: &mut [f64],
23783 nparams: &[i32],
23784 params: &mut [f64],
23785 work: &mut [c64],
23786 rwork: &mut [f64],
23787 info: &mut i32,
23788) {
23789 ffi::zposvxx_(
23790 &(fact as c_char),
23791 &(uplo as c_char),
23792 &n,
23793 &nrhs,
23794 a.as_mut_ptr() as *mut _,
23795 &lda,
23796 af.as_mut_ptr() as *mut _,
23797 &ldaf,
23798 equed as *mut _ as *mut _,
23799 s.as_mut_ptr(),
23800 b.as_mut_ptr() as *mut _,
23801 &ldb,
23802 x.as_mut_ptr() as *mut _,
23803 &ldx,
23804 rcond,
23805 rpvgrw,
23806 berr.as_mut_ptr(),
23807 &n_err_bnds,
23808 err_bnds_norm.as_mut_ptr(),
23809 err_bnds_comp.as_mut_ptr(),
23810 nparams.as_ptr(),
23811 params.as_mut_ptr(),
23812 work.as_mut_ptr() as *mut _,
23813 rwork.as_mut_ptr(),
23814 info,
23815 )
23816}
23817
23818#[inline]
23819pub unsafe fn cpotf2(uplo: u8, n: i32, a: &mut [c32], lda: i32, info: &mut i32) {
23820 ffi::cpotf2_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23821}
23822
23823#[inline]
23824pub unsafe fn dpotf2(uplo: u8, n: i32, a: &mut [f64], lda: i32, info: &mut i32) {
23825 ffi::dpotf2_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23826}
23827
23828#[inline]
23829pub unsafe fn spotf2(uplo: u8, n: i32, a: &mut [f32], lda: i32, info: &mut i32) {
23830 ffi::spotf2_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23831}
23832
23833#[inline]
23834pub unsafe fn zpotf2(uplo: u8, n: i32, a: &mut [c64], lda: i32, info: &mut i32) {
23835 ffi::zpotf2_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23836}
23837
23838#[inline]
23839pub unsafe fn cpotrf(uplo: u8, n: i32, a: &mut [c32], lda: i32, info: &mut i32) {
23840 ffi::cpotrf_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23841}
23842
23843#[inline]
23844pub unsafe fn dpotrf(uplo: u8, n: i32, a: &mut [f64], lda: i32, info: &mut i32) {
23845 ffi::dpotrf_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23846}
23847
23848#[inline]
23849pub unsafe fn spotrf(uplo: u8, n: i32, a: &mut [f32], lda: i32, info: &mut i32) {
23850 ffi::spotrf_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23851}
23852
23853#[inline]
23854pub unsafe fn zpotrf(uplo: u8, n: i32, a: &mut [c64], lda: i32, info: &mut i32) {
23855 ffi::zpotrf_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23856}
23857
23858#[inline]
23859pub unsafe fn cpotrf2(uplo: u8, n: i32, a: &mut [c32], lda: i32, info: &mut i32) {
23860 ffi::cpotrf2_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23861}
23862
23863#[inline]
23864pub unsafe fn dpotrf2(uplo: u8, n: i32, a: &mut [f64], lda: i32, info: &mut i32) {
23865 ffi::dpotrf2_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23866}
23867
23868#[inline]
23869pub unsafe fn spotrf2(uplo: u8, n: i32, a: &mut [f32], lda: i32, info: &mut i32) {
23870 ffi::spotrf2_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23871}
23872
23873#[inline]
23874pub unsafe fn zpotrf2(uplo: u8, n: i32, a: &mut [c64], lda: i32, info: &mut i32) {
23875 ffi::zpotrf2_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23876}
23877
23878#[inline]
23879pub unsafe fn cpotri(uplo: u8, n: i32, a: &mut [c32], lda: i32, info: &mut i32) {
23880 ffi::cpotri_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23881}
23882
23883#[inline]
23884pub unsafe fn dpotri(uplo: u8, n: i32, a: &mut [f64], lda: i32, info: &mut i32) {
23885 ffi::dpotri_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23886}
23887
23888#[inline]
23889pub unsafe fn spotri(uplo: u8, n: i32, a: &mut [f32], lda: i32, info: &mut i32) {
23890 ffi::spotri_(&(uplo as c_char), &n, a.as_mut_ptr(), &lda, info)
23891}
23892
23893#[inline]
23894pub unsafe fn zpotri(uplo: u8, n: i32, a: &mut [c64], lda: i32, info: &mut i32) {
23895 ffi::zpotri_(&(uplo as c_char), &n, a.as_mut_ptr() as *mut _, &lda, info)
23896}
23897
23898#[inline]
23899pub unsafe fn cpotrs(
23900 uplo: u8,
23901 n: i32,
23902 nrhs: i32,
23903 a: &[c32],
23904 lda: i32,
23905 b: &mut [c32],
23906 ldb: i32,
23907 info: &mut i32,
23908) {
23909 ffi::cpotrs_(
23910 &(uplo as c_char),
23911 &n,
23912 &nrhs,
23913 a.as_ptr() as *const _,
23914 &lda,
23915 b.as_mut_ptr() as *mut _,
23916 &ldb,
23917 info,
23918 )
23919}
23920
23921#[inline]
23922pub unsafe fn dpotrs(
23923 uplo: u8,
23924 n: i32,
23925 nrhs: i32,
23926 a: &[f64],
23927 lda: i32,
23928 b: &mut [f64],
23929 ldb: i32,
23930 info: &mut i32,
23931) {
23932 ffi::dpotrs_(
23933 &(uplo as c_char),
23934 &n,
23935 &nrhs,
23936 a.as_ptr(),
23937 &lda,
23938 b.as_mut_ptr(),
23939 &ldb,
23940 info,
23941 )
23942}
23943
23944#[inline]
23945pub unsafe fn spotrs(
23946 uplo: u8,
23947 n: i32,
23948 nrhs: i32,
23949 a: &[f32],
23950 lda: i32,
23951 b: &mut [f32],
23952 ldb: i32,
23953 info: &mut i32,
23954) {
23955 ffi::spotrs_(
23956 &(uplo as c_char),
23957 &n,
23958 &nrhs,
23959 a.as_ptr(),
23960 &lda,
23961 b.as_mut_ptr(),
23962 &ldb,
23963 info,
23964 )
23965}
23966
23967#[inline]
23968pub unsafe fn zpotrs(
23969 uplo: u8,
23970 n: i32,
23971 nrhs: i32,
23972 a: &[c64],
23973 lda: i32,
23974 b: &mut [c64],
23975 ldb: i32,
23976 info: &mut i32,
23977) {
23978 ffi::zpotrs_(
23979 &(uplo as c_char),
23980 &n,
23981 &nrhs,
23982 a.as_ptr() as *const _,
23983 &lda,
23984 b.as_mut_ptr() as *mut _,
23985 &ldb,
23986 info,
23987 )
23988}
23989
23990#[inline]
23991pub unsafe fn cppcon(
23992 uplo: u8,
23993 n: i32,
23994 ap: &[c32],
23995 anorm: f32,
23996 rcond: &mut f32,
23997 work: &mut [c32],
23998 rwork: &mut [f32],
23999 info: &mut i32,
24000) {
24001 ffi::cppcon_(
24002 &(uplo as c_char),
24003 &n,
24004 ap.as_ptr() as *const _,
24005 &anorm,
24006 rcond,
24007 work.as_mut_ptr() as *mut _,
24008 rwork.as_mut_ptr(),
24009 info,
24010 )
24011}
24012
24013#[inline]
24014pub unsafe fn dppcon(
24015 uplo: u8,
24016 n: i32,
24017 ap: &[f64],
24018 anorm: f64,
24019 rcond: &mut f64,
24020 work: &mut [f64],
24021 iwork: &mut [i32],
24022 info: &mut i32,
24023) {
24024 ffi::dppcon_(
24025 &(uplo as c_char),
24026 &n,
24027 ap.as_ptr(),
24028 &anorm,
24029 rcond,
24030 work.as_mut_ptr(),
24031 iwork.as_mut_ptr(),
24032 info,
24033 )
24034}
24035
24036#[inline]
24037pub unsafe fn sppcon(
24038 uplo: u8,
24039 n: i32,
24040 ap: &[f32],
24041 anorm: f32,
24042 rcond: &mut f32,
24043 work: &mut [f32],
24044 iwork: &mut [i32],
24045 info: &mut i32,
24046) {
24047 ffi::sppcon_(
24048 &(uplo as c_char),
24049 &n,
24050 ap.as_ptr(),
24051 &anorm,
24052 rcond,
24053 work.as_mut_ptr(),
24054 iwork.as_mut_ptr(),
24055 info,
24056 )
24057}
24058
24059#[inline]
24060pub unsafe fn zppcon(
24061 uplo: u8,
24062 n: i32,
24063 ap: &[c64],
24064 anorm: f64,
24065 rcond: &mut f64,
24066 work: &mut [c64],
24067 rwork: &mut [f64],
24068 info: &mut i32,
24069) {
24070 ffi::zppcon_(
24071 &(uplo as c_char),
24072 &n,
24073 ap.as_ptr() as *const _,
24074 &anorm,
24075 rcond,
24076 work.as_mut_ptr() as *mut _,
24077 rwork.as_mut_ptr(),
24078 info,
24079 )
24080}
24081
24082#[inline]
24083pub unsafe fn cppequ(
24084 uplo: u8,
24085 n: i32,
24086 ap: &[c32],
24087 s: &mut [f32],
24088 scond: &mut [f32],
24089 amax: &mut f32,
24090 info: &mut i32,
24091) {
24092 ffi::cppequ_(
24093 &(uplo as c_char),
24094 &n,
24095 ap.as_ptr() as *const _,
24096 s.as_mut_ptr(),
24097 scond.as_mut_ptr(),
24098 amax,
24099 info,
24100 )
24101}
24102
24103#[inline]
24104pub unsafe fn dppequ(
24105 uplo: u8,
24106 n: i32,
24107 ap: &[f64],
24108 s: &mut [f64],
24109 scond: &mut [f64],
24110 amax: &mut f64,
24111 info: &mut i32,
24112) {
24113 ffi::dppequ_(
24114 &(uplo as c_char),
24115 &n,
24116 ap.as_ptr(),
24117 s.as_mut_ptr(),
24118 scond.as_mut_ptr(),
24119 amax,
24120 info,
24121 )
24122}
24123
24124#[inline]
24125pub unsafe fn sppequ(
24126 uplo: u8,
24127 n: i32,
24128 ap: &[f32],
24129 s: &mut [f32],
24130 scond: &mut [f32],
24131 amax: &mut f32,
24132 info: &mut i32,
24133) {
24134 ffi::sppequ_(
24135 &(uplo as c_char),
24136 &n,
24137 ap.as_ptr(),
24138 s.as_mut_ptr(),
24139 scond.as_mut_ptr(),
24140 amax,
24141 info,
24142 )
24143}
24144
24145#[inline]
24146pub unsafe fn zppequ(
24147 uplo: u8,
24148 n: i32,
24149 ap: &[c64],
24150 s: &mut [f64],
24151 scond: &mut [f64],
24152 amax: &mut f64,
24153 info: &mut i32,
24154) {
24155 ffi::zppequ_(
24156 &(uplo as c_char),
24157 &n,
24158 ap.as_ptr() as *const _,
24159 s.as_mut_ptr(),
24160 scond.as_mut_ptr(),
24161 amax,
24162 info,
24163 )
24164}
24165
24166#[inline]
24167pub unsafe fn cpprfs(
24168 uplo: u8,
24169 n: i32,
24170 nrhs: i32,
24171 ap: &[c32],
24172 afp: &[c32],
24173 b: &[c32],
24174 ldb: i32,
24175 x: &mut [c32],
24176 ldx: i32,
24177 ferr: &mut [f32],
24178 berr: &mut [f32],
24179 work: &mut [c32],
24180 rwork: &mut [f32],
24181 info: &mut i32,
24182) {
24183 ffi::cpprfs_(
24184 &(uplo as c_char),
24185 &n,
24186 &nrhs,
24187 ap.as_ptr() as *const _,
24188 afp.as_ptr() as *const _,
24189 b.as_ptr() as *const _,
24190 &ldb,
24191 x.as_mut_ptr() as *mut _,
24192 &ldx,
24193 ferr.as_mut_ptr(),
24194 berr.as_mut_ptr(),
24195 work.as_mut_ptr() as *mut _,
24196 rwork.as_mut_ptr(),
24197 info,
24198 )
24199}
24200
24201#[inline]
24202pub unsafe fn dpprfs(
24203 uplo: u8,
24204 n: i32,
24205 nrhs: i32,
24206 ap: &[f64],
24207 afp: &[f64],
24208 b: &[f64],
24209 ldb: i32,
24210 x: &mut [f64],
24211 ldx: i32,
24212 ferr: &mut [f64],
24213 berr: &mut [f64],
24214 work: &mut [f64],
24215 iwork: &mut [i32],
24216 info: &mut i32,
24217) {
24218 ffi::dpprfs_(
24219 &(uplo as c_char),
24220 &n,
24221 &nrhs,
24222 ap.as_ptr(),
24223 afp.as_ptr(),
24224 b.as_ptr(),
24225 &ldb,
24226 x.as_mut_ptr(),
24227 &ldx,
24228 ferr.as_mut_ptr(),
24229 berr.as_mut_ptr(),
24230 work.as_mut_ptr(),
24231 iwork.as_mut_ptr(),
24232 info,
24233 )
24234}
24235
24236#[inline]
24237pub unsafe fn spprfs(
24238 uplo: u8,
24239 n: i32,
24240 nrhs: i32,
24241 ap: &[f32],
24242 afp: &[f32],
24243 b: &[f32],
24244 ldb: i32,
24245 x: &mut [f32],
24246 ldx: i32,
24247 ferr: &mut [f32],
24248 berr: &mut [f32],
24249 work: &mut [f32],
24250 iwork: &mut [i32],
24251 info: &mut i32,
24252) {
24253 ffi::spprfs_(
24254 &(uplo as c_char),
24255 &n,
24256 &nrhs,
24257 ap.as_ptr(),
24258 afp.as_ptr(),
24259 b.as_ptr(),
24260 &ldb,
24261 x.as_mut_ptr(),
24262 &ldx,
24263 ferr.as_mut_ptr(),
24264 berr.as_mut_ptr(),
24265 work.as_mut_ptr(),
24266 iwork.as_mut_ptr(),
24267 info,
24268 )
24269}
24270
24271#[inline]
24272pub unsafe fn zpprfs(
24273 uplo: u8,
24274 n: i32,
24275 nrhs: i32,
24276 ap: &[c64],
24277 afp: &[c64],
24278 b: &[c64],
24279 ldb: i32,
24280 x: &mut [c64],
24281 ldx: i32,
24282 ferr: &mut [f64],
24283 berr: &mut [f64],
24284 work: &mut [c64],
24285 rwork: &mut [f64],
24286 info: &mut i32,
24287) {
24288 ffi::zpprfs_(
24289 &(uplo as c_char),
24290 &n,
24291 &nrhs,
24292 ap.as_ptr() as *const _,
24293 afp.as_ptr() as *const _,
24294 b.as_ptr() as *const _,
24295 &ldb,
24296 x.as_mut_ptr() as *mut _,
24297 &ldx,
24298 ferr.as_mut_ptr(),
24299 berr.as_mut_ptr(),
24300 work.as_mut_ptr() as *mut _,
24301 rwork.as_mut_ptr(),
24302 info,
24303 )
24304}
24305
24306#[inline]
24307pub unsafe fn cppsv(
24308 uplo: u8,
24309 n: i32,
24310 nrhs: i32,
24311 ap: &mut [c32],
24312 b: &mut [c32],
24313 ldb: i32,
24314 info: &mut i32,
24315) {
24316 ffi::cppsv_(
24317 &(uplo as c_char),
24318 &n,
24319 &nrhs,
24320 ap.as_mut_ptr() as *mut _,
24321 b.as_mut_ptr() as *mut _,
24322 &ldb,
24323 info,
24324 )
24325}
24326
24327#[inline]
24328pub unsafe fn dppsv(
24329 uplo: u8,
24330 n: i32,
24331 nrhs: i32,
24332 ap: &mut [f64],
24333 b: &mut [f64],
24334 ldb: i32,
24335 info: &mut i32,
24336) {
24337 ffi::dppsv_(
24338 &(uplo as c_char),
24339 &n,
24340 &nrhs,
24341 ap.as_mut_ptr(),
24342 b.as_mut_ptr(),
24343 &ldb,
24344 info,
24345 )
24346}
24347
24348#[inline]
24349pub unsafe fn sppsv(
24350 uplo: u8,
24351 n: i32,
24352 nrhs: i32,
24353 ap: &mut [f32],
24354 b: &mut [f32],
24355 ldb: i32,
24356 info: &mut i32,
24357) {
24358 ffi::sppsv_(
24359 &(uplo as c_char),
24360 &n,
24361 &nrhs,
24362 ap.as_mut_ptr(),
24363 b.as_mut_ptr(),
24364 &ldb,
24365 info,
24366 )
24367}
24368
24369#[inline]
24370pub unsafe fn zppsv(
24371 uplo: u8,
24372 n: i32,
24373 nrhs: i32,
24374 ap: &mut [c64],
24375 b: &mut [c64],
24376 ldb: i32,
24377 info: &mut i32,
24378) {
24379 ffi::zppsv_(
24380 &(uplo as c_char),
24381 &n,
24382 &nrhs,
24383 ap.as_mut_ptr() as *mut _,
24384 b.as_mut_ptr() as *mut _,
24385 &ldb,
24386 info,
24387 )
24388}
24389
24390#[inline]
24391pub unsafe fn cppsvx(
24392 fact: u8,
24393 uplo: u8,
24394 n: i32,
24395 nrhs: i32,
24396 ap: &mut [c32],
24397 afp: &mut [c32],
24398 equed: &mut u8,
24399 s: &mut [f32],
24400 b: &mut [c32],
24401 ldb: i32,
24402 x: &mut [c32],
24403 ldx: i32,
24404 rcond: &mut f32,
24405 ferr: &mut [f32],
24406 berr: &mut [f32],
24407 work: &mut [c32],
24408 rwork: &mut [f32],
24409 info: &mut i32,
24410) {
24411 ffi::cppsvx_(
24412 &(fact as c_char),
24413 &(uplo as c_char),
24414 &n,
24415 &nrhs,
24416 ap.as_mut_ptr() as *mut _,
24417 afp.as_mut_ptr() as *mut _,
24418 equed as *mut _ as *mut _,
24419 s.as_mut_ptr(),
24420 b.as_mut_ptr() as *mut _,
24421 &ldb,
24422 x.as_mut_ptr() as *mut _,
24423 &ldx,
24424 rcond,
24425 ferr.as_mut_ptr(),
24426 berr.as_mut_ptr(),
24427 work.as_mut_ptr() as *mut _,
24428 rwork.as_mut_ptr(),
24429 info,
24430 )
24431}
24432
24433#[inline]
24434pub unsafe fn dppsvx(
24435 fact: u8,
24436 uplo: u8,
24437 n: i32,
24438 nrhs: i32,
24439 ap: &mut [f64],
24440 afp: &mut [f64],
24441 equed: &mut u8,
24442 s: &mut [f64],
24443 b: &mut [f64],
24444 ldb: i32,
24445 x: &mut [f64],
24446 ldx: i32,
24447 rcond: &mut f64,
24448 ferr: &mut [f64],
24449 berr: &mut [f64],
24450 work: &mut [f64],
24451 iwork: &mut [i32],
24452 info: &mut i32,
24453) {
24454 ffi::dppsvx_(
24455 &(fact as c_char),
24456 &(uplo as c_char),
24457 &n,
24458 &nrhs,
24459 ap.as_mut_ptr(),
24460 afp.as_mut_ptr(),
24461 equed as *mut _ as *mut _,
24462 s.as_mut_ptr(),
24463 b.as_mut_ptr(),
24464 &ldb,
24465 x.as_mut_ptr(),
24466 &ldx,
24467 rcond,
24468 ferr.as_mut_ptr(),
24469 berr.as_mut_ptr(),
24470 work.as_mut_ptr(),
24471 iwork.as_mut_ptr(),
24472 info,
24473 )
24474}
24475
24476#[inline]
24477pub unsafe fn sppsvx(
24478 fact: u8,
24479 uplo: u8,
24480 n: i32,
24481 nrhs: i32,
24482 ap: &mut [f32],
24483 afp: &mut [f32],
24484 equed: &mut u8,
24485 s: &mut [f32],
24486 b: &mut [f32],
24487 ldb: i32,
24488 x: &mut [f32],
24489 ldx: i32,
24490 rcond: &mut f32,
24491 ferr: &mut [f32],
24492 berr: &mut [f32],
24493 work: &mut [f32],
24494 iwork: &mut [i32],
24495 info: &mut i32,
24496) {
24497 ffi::sppsvx_(
24498 &(fact as c_char),
24499 &(uplo as c_char),
24500 &n,
24501 &nrhs,
24502 ap.as_mut_ptr(),
24503 afp.as_mut_ptr(),
24504 equed as *mut _ as *mut _,
24505 s.as_mut_ptr(),
24506 b.as_mut_ptr(),
24507 &ldb,
24508 x.as_mut_ptr(),
24509 &ldx,
24510 rcond,
24511 ferr.as_mut_ptr(),
24512 berr.as_mut_ptr(),
24513 work.as_mut_ptr(),
24514 iwork.as_mut_ptr(),
24515 info,
24516 )
24517}
24518
24519#[inline]
24520pub unsafe fn zppsvx(
24521 fact: u8,
24522 uplo: u8,
24523 n: i32,
24524 nrhs: i32,
24525 ap: &mut [c64],
24526 afp: &mut [c64],
24527 equed: &mut u8,
24528 s: &mut [f64],
24529 b: &mut [c64],
24530 ldb: i32,
24531 x: &mut [c64],
24532 ldx: i32,
24533 rcond: &mut f64,
24534 ferr: &mut [f64],
24535 berr: &mut [f64],
24536 work: &mut [c64],
24537 rwork: &mut [f64],
24538 info: &mut i32,
24539) {
24540 ffi::zppsvx_(
24541 &(fact as c_char),
24542 &(uplo as c_char),
24543 &n,
24544 &nrhs,
24545 ap.as_mut_ptr() as *mut _,
24546 afp.as_mut_ptr() as *mut _,
24547 equed as *mut _ as *mut _,
24548 s.as_mut_ptr(),
24549 b.as_mut_ptr() as *mut _,
24550 &ldb,
24551 x.as_mut_ptr() as *mut _,
24552 &ldx,
24553 rcond,
24554 ferr.as_mut_ptr(),
24555 berr.as_mut_ptr(),
24556 work.as_mut_ptr() as *mut _,
24557 rwork.as_mut_ptr(),
24558 info,
24559 )
24560}
24561
24562#[inline]
24563pub unsafe fn cpptrf(uplo: u8, n: i32, ap: &mut [c32], info: &mut i32) {
24564 ffi::cpptrf_(&(uplo as c_char), &n, ap.as_mut_ptr() as *mut _, info)
24565}
24566
24567#[inline]
24568pub unsafe fn dpptrf(uplo: u8, n: i32, ap: &mut [f64], info: &mut i32) {
24569 ffi::dpptrf_(&(uplo as c_char), &n, ap.as_mut_ptr(), info)
24570}
24571
24572#[inline]
24573pub unsafe fn spptrf(uplo: u8, n: i32, ap: &mut [f32], info: &mut i32) {
24574 ffi::spptrf_(&(uplo as c_char), &n, ap.as_mut_ptr(), info)
24575}
24576
24577#[inline]
24578pub unsafe fn zpptrf(uplo: u8, n: i32, ap: &mut [c64], info: &mut i32) {
24579 ffi::zpptrf_(&(uplo as c_char), &n, ap.as_mut_ptr() as *mut _, info)
24580}
24581
24582#[inline]
24583pub unsafe fn cpptri(uplo: u8, n: i32, ap: &mut [c32], info: &mut i32) {
24584 ffi::cpptri_(&(uplo as c_char), &n, ap.as_mut_ptr() as *mut _, info)
24585}
24586
24587#[inline]
24588pub unsafe fn dpptri(uplo: u8, n: i32, ap: &mut [f64], info: &mut i32) {
24589 ffi::dpptri_(&(uplo as c_char), &n, ap.as_mut_ptr(), info)
24590}
24591
24592#[inline]
24593pub unsafe fn spptri(uplo: u8, n: i32, ap: &mut [f32], info: &mut i32) {
24594 ffi::spptri_(&(uplo as c_char), &n, ap.as_mut_ptr(), info)
24595}
24596
24597#[inline]
24598pub unsafe fn zpptri(uplo: u8, n: i32, ap: &mut [c64], info: &mut i32) {
24599 ffi::zpptri_(&(uplo as c_char), &n, ap.as_mut_ptr() as *mut _, info)
24600}
24601
24602#[inline]
24603pub unsafe fn cpptrs(
24604 uplo: u8,
24605 n: i32,
24606 nrhs: i32,
24607 ap: &[c32],
24608 b: &mut [c32],
24609 ldb: i32,
24610 info: &mut i32,
24611) {
24612 ffi::cpptrs_(
24613 &(uplo as c_char),
24614 &n,
24615 &nrhs,
24616 ap.as_ptr() as *const _,
24617 b.as_mut_ptr() as *mut _,
24618 &ldb,
24619 info,
24620 )
24621}
24622
24623#[inline]
24624pub unsafe fn dpptrs(
24625 uplo: u8,
24626 n: i32,
24627 nrhs: i32,
24628 ap: &[f64],
24629 b: &mut [f64],
24630 ldb: i32,
24631 info: &mut i32,
24632) {
24633 ffi::dpptrs_(
24634 &(uplo as c_char),
24635 &n,
24636 &nrhs,
24637 ap.as_ptr(),
24638 b.as_mut_ptr(),
24639 &ldb,
24640 info,
24641 )
24642}
24643
24644#[inline]
24645pub unsafe fn spptrs(
24646 uplo: u8,
24647 n: i32,
24648 nrhs: i32,
24649 ap: &[f32],
24650 b: &mut [f32],
24651 ldb: i32,
24652 info: &mut i32,
24653) {
24654 ffi::spptrs_(
24655 &(uplo as c_char),
24656 &n,
24657 &nrhs,
24658 ap.as_ptr(),
24659 b.as_mut_ptr(),
24660 &ldb,
24661 info,
24662 )
24663}
24664
24665#[inline]
24666pub unsafe fn zpptrs(
24667 uplo: u8,
24668 n: i32,
24669 nrhs: i32,
24670 ap: &[c64],
24671 b: &mut [c64],
24672 ldb: i32,
24673 info: &mut i32,
24674) {
24675 ffi::zpptrs_(
24676 &(uplo as c_char),
24677 &n,
24678 &nrhs,
24679 ap.as_ptr() as *const _,
24680 b.as_mut_ptr() as *mut _,
24681 &ldb,
24682 info,
24683 )
24684}
24685
24686#[inline]
24687pub unsafe fn cpstrf(
24688 uplo: u8,
24689 n: i32,
24690 a: &mut [c32],
24691 lda: i32,
24692 piv: &mut [i32],
24693 rank: &mut i32,
24694 tol: f32,
24695 work: &mut [f32],
24696 info: &mut i32,
24697) {
24698 ffi::cpstrf_(
24699 &(uplo as c_char),
24700 &n,
24701 a.as_mut_ptr() as *mut _,
24702 &lda,
24703 piv.as_mut_ptr(),
24704 rank,
24705 &tol,
24706 work.as_mut_ptr(),
24707 info,
24708 )
24709}
24710
24711#[inline]
24712pub unsafe fn dpstrf(
24713 uplo: u8,
24714 n: i32,
24715 a: &mut [f64],
24716 lda: i32,
24717 piv: &mut [i32],
24718 rank: &mut i32,
24719 tol: f64,
24720 work: &mut [f64],
24721 info: &mut i32,
24722) {
24723 ffi::dpstrf_(
24724 &(uplo as c_char),
24725 &n,
24726 a.as_mut_ptr(),
24727 &lda,
24728 piv.as_mut_ptr(),
24729 rank,
24730 &tol,
24731 work.as_mut_ptr(),
24732 info,
24733 )
24734}
24735
24736#[inline]
24737pub unsafe fn spstrf(
24738 uplo: u8,
24739 n: i32,
24740 a: &mut [f32],
24741 lda: i32,
24742 piv: &mut [i32],
24743 rank: &mut i32,
24744 tol: f32,
24745 work: &mut [f32],
24746 info: &mut i32,
24747) {
24748 ffi::spstrf_(
24749 &(uplo as c_char),
24750 &n,
24751 a.as_mut_ptr(),
24752 &lda,
24753 piv.as_mut_ptr(),
24754 rank,
24755 &tol,
24756 work.as_mut_ptr(),
24757 info,
24758 )
24759}
24760
24761#[inline]
24762pub unsafe fn zpstrf(
24763 uplo: u8,
24764 n: i32,
24765 a: &mut [c64],
24766 lda: i32,
24767 piv: &mut [i32],
24768 rank: &mut i32,
24769 tol: f64,
24770 work: &mut [f64],
24771 info: &mut i32,
24772) {
24773 ffi::zpstrf_(
24774 &(uplo as c_char),
24775 &n,
24776 a.as_mut_ptr() as *mut _,
24777 &lda,
24778 piv.as_mut_ptr(),
24779 rank,
24780 &tol,
24781 work.as_mut_ptr(),
24782 info,
24783 )
24784}
24785
24786#[inline]
24787pub unsafe fn cptcon(
24788 n: i32,
24789 d: &[f32],
24790 e: &[c32],
24791 anorm: f32,
24792 rcond: &mut f32,
24793 rwork: &mut [f32],
24794 info: &mut i32,
24795) {
24796 ffi::cptcon_(
24797 &n,
24798 d.as_ptr(),
24799 e.as_ptr() as *const _,
24800 &anorm,
24801 rcond,
24802 rwork.as_mut_ptr(),
24803 info,
24804 )
24805}
24806
24807#[inline]
24808pub unsafe fn dptcon(
24809 n: i32,
24810 d: &[f64],
24811 e: &[f64],
24812 anorm: f64,
24813 rcond: &mut f64,
24814 work: &mut [f64],
24815 info: &mut i32,
24816) {
24817 ffi::dptcon_(
24818 &n,
24819 d.as_ptr(),
24820 e.as_ptr(),
24821 &anorm,
24822 rcond,
24823 work.as_mut_ptr(),
24824 info,
24825 )
24826}
24827
24828#[inline]
24829pub unsafe fn sptcon(
24830 n: i32,
24831 d: &[f32],
24832 e: &[f32],
24833 anorm: f32,
24834 rcond: &mut f32,
24835 work: &mut [f32],
24836 info: &mut i32,
24837) {
24838 ffi::sptcon_(
24839 &n,
24840 d.as_ptr(),
24841 e.as_ptr(),
24842 &anorm,
24843 rcond,
24844 work.as_mut_ptr(),
24845 info,
24846 )
24847}
24848
24849#[inline]
24850pub unsafe fn zptcon(
24851 n: i32,
24852 d: &[f64],
24853 e: &[c64],
24854 anorm: f64,
24855 rcond: &mut f64,
24856 rwork: &mut [f64],
24857 info: &mut i32,
24858) {
24859 ffi::zptcon_(
24860 &n,
24861 d.as_ptr(),
24862 e.as_ptr() as *const _,
24863 &anorm,
24864 rcond,
24865 rwork.as_mut_ptr(),
24866 info,
24867 )
24868}
24869
24870#[inline]
24871pub unsafe fn cpteqr(
24872 compz: u8,
24873 n: i32,
24874 d: &mut [f32],
24875 e: &mut [f32],
24876 z: &mut [c32],
24877 ldz: i32,
24878 work: &mut [f32],
24879 info: &mut i32,
24880) {
24881 ffi::cpteqr_(
24882 &(compz as c_char),
24883 &n,
24884 d.as_mut_ptr(),
24885 e.as_mut_ptr(),
24886 z.as_mut_ptr() as *mut _,
24887 &ldz,
24888 work.as_mut_ptr(),
24889 info,
24890 )
24891}
24892
24893#[inline]
24894pub unsafe fn dpteqr(
24895 compz: u8,
24896 n: i32,
24897 d: &mut [f64],
24898 e: &mut [f64],
24899 z: &mut [f64],
24900 ldz: i32,
24901 work: &mut [f64],
24902 info: &mut i32,
24903) {
24904 ffi::dpteqr_(
24905 &(compz as c_char),
24906 &n,
24907 d.as_mut_ptr(),
24908 e.as_mut_ptr(),
24909 z.as_mut_ptr(),
24910 &ldz,
24911 work.as_mut_ptr(),
24912 info,
24913 )
24914}
24915
24916#[inline]
24917pub unsafe fn spteqr(
24918 compz: u8,
24919 n: i32,
24920 d: &mut [f32],
24921 e: &mut [f32],
24922 z: &mut [f32],
24923 ldz: i32,
24924 work: &mut [f32],
24925 info: &mut i32,
24926) {
24927 ffi::spteqr_(
24928 &(compz as c_char),
24929 &n,
24930 d.as_mut_ptr(),
24931 e.as_mut_ptr(),
24932 z.as_mut_ptr(),
24933 &ldz,
24934 work.as_mut_ptr(),
24935 info,
24936 )
24937}
24938
24939#[inline]
24940pub unsafe fn zpteqr(
24941 compz: u8,
24942 n: i32,
24943 d: &mut [f64],
24944 e: &mut [f64],
24945 z: &mut [c64],
24946 ldz: i32,
24947 work: &mut [f64],
24948 info: &mut i32,
24949) {
24950 ffi::zpteqr_(
24951 &(compz as c_char),
24952 &n,
24953 d.as_mut_ptr(),
24954 e.as_mut_ptr(),
24955 z.as_mut_ptr() as *mut _,
24956 &ldz,
24957 work.as_mut_ptr(),
24958 info,
24959 )
24960}
24961
24962#[inline]
24963pub unsafe fn cptrfs(
24964 uplo: u8,
24965 n: i32,
24966 nrhs: i32,
24967 d: &[f32],
24968 e: &[c32],
24969 df: &[f32],
24970 ef: &[c32],
24971 b: &[c32],
24972 ldb: i32,
24973 x: &mut [c32],
24974 ldx: i32,
24975 ferr: &mut [f32],
24976 berr: &mut [f32],
24977 work: &mut [c32],
24978 rwork: &mut [f32],
24979 info: &mut i32,
24980) {
24981 ffi::cptrfs_(
24982 &(uplo as c_char),
24983 &n,
24984 &nrhs,
24985 d.as_ptr(),
24986 e.as_ptr() as *const _,
24987 df.as_ptr(),
24988 ef.as_ptr() as *const _,
24989 b.as_ptr() as *const _,
24990 &ldb,
24991 x.as_mut_ptr() as *mut _,
24992 &ldx,
24993 ferr.as_mut_ptr(),
24994 berr.as_mut_ptr(),
24995 work.as_mut_ptr() as *mut _,
24996 rwork.as_mut_ptr(),
24997 info,
24998 )
24999}
25000
25001#[inline]
25002pub unsafe fn dptrfs(
25003 n: i32,
25004 nrhs: i32,
25005 d: &[f64],
25006 e: &[f64],
25007 df: &[f64],
25008 ef: &[f64],
25009 b: &[f64],
25010 ldb: i32,
25011 x: &mut [f64],
25012 ldx: i32,
25013 ferr: &mut [f64],
25014 berr: &mut [f64],
25015 work: &mut [f64],
25016 info: &mut i32,
25017) {
25018 ffi::dptrfs_(
25019 &n,
25020 &nrhs,
25021 d.as_ptr(),
25022 e.as_ptr(),
25023 df.as_ptr(),
25024 ef.as_ptr(),
25025 b.as_ptr(),
25026 &ldb,
25027 x.as_mut_ptr(),
25028 &ldx,
25029 ferr.as_mut_ptr(),
25030 berr.as_mut_ptr(),
25031 work.as_mut_ptr(),
25032 info,
25033 )
25034}
25035
25036#[inline]
25037pub unsafe fn sptrfs(
25038 n: i32,
25039 nrhs: i32,
25040 d: &[f32],
25041 e: &[f32],
25042 df: &[f32],
25043 ef: &[f32],
25044 b: &[f32],
25045 ldb: i32,
25046 x: &mut [f32],
25047 ldx: i32,
25048 ferr: &mut [f32],
25049 berr: &mut [f32],
25050 work: &mut [f32],
25051 info: &mut i32,
25052) {
25053 ffi::sptrfs_(
25054 &n,
25055 &nrhs,
25056 d.as_ptr(),
25057 e.as_ptr(),
25058 df.as_ptr(),
25059 ef.as_ptr(),
25060 b.as_ptr(),
25061 &ldb,
25062 x.as_mut_ptr(),
25063 &ldx,
25064 ferr.as_mut_ptr(),
25065 berr.as_mut_ptr(),
25066 work.as_mut_ptr(),
25067 info,
25068 )
25069}
25070
25071#[inline]
25072pub unsafe fn zptrfs(
25073 uplo: u8,
25074 n: i32,
25075 nrhs: i32,
25076 d: &[f64],
25077 e: &[c64],
25078 df: &[f64],
25079 ef: &[c64],
25080 b: &[c64],
25081 ldb: i32,
25082 x: &mut [c64],
25083 ldx: i32,
25084 ferr: &mut [f64],
25085 berr: &mut [f64],
25086 work: &mut [c64],
25087 rwork: &mut [f64],
25088 info: &mut i32,
25089) {
25090 ffi::zptrfs_(
25091 &(uplo as c_char),
25092 &n,
25093 &nrhs,
25094 d.as_ptr(),
25095 e.as_ptr() as *const _,
25096 df.as_ptr(),
25097 ef.as_ptr() as *const _,
25098 b.as_ptr() as *const _,
25099 &ldb,
25100 x.as_mut_ptr() as *mut _,
25101 &ldx,
25102 ferr.as_mut_ptr(),
25103 berr.as_mut_ptr(),
25104 work.as_mut_ptr() as *mut _,
25105 rwork.as_mut_ptr(),
25106 info,
25107 )
25108}
25109
25110#[inline]
25111pub unsafe fn cptsv(
25112 n: i32,
25113 nrhs: i32,
25114 d: &mut [f32],
25115 e: &mut [c32],
25116 b: &mut [c32],
25117 ldb: i32,
25118 info: &mut i32,
25119) {
25120 ffi::cptsv_(
25121 &n,
25122 &nrhs,
25123 d.as_mut_ptr(),
25124 e.as_mut_ptr() as *mut _,
25125 b.as_mut_ptr() as *mut _,
25126 &ldb,
25127 info,
25128 )
25129}
25130
25131#[inline]
25132pub unsafe fn dptsv(
25133 n: i32,
25134 nrhs: i32,
25135 d: &mut [f64],
25136 e: &mut [f64],
25137 b: &mut [f64],
25138 ldb: i32,
25139 info: &mut i32,
25140) {
25141 ffi::dptsv_(
25142 &n,
25143 &nrhs,
25144 d.as_mut_ptr(),
25145 e.as_mut_ptr(),
25146 b.as_mut_ptr(),
25147 &ldb,
25148 info,
25149 )
25150}
25151
25152#[inline]
25153pub unsafe fn sptsv(
25154 n: i32,
25155 nrhs: i32,
25156 d: &mut [f32],
25157 e: &mut [f32],
25158 b: &mut [f32],
25159 ldb: i32,
25160 info: &mut i32,
25161) {
25162 ffi::sptsv_(
25163 &n,
25164 &nrhs,
25165 d.as_mut_ptr(),
25166 e.as_mut_ptr(),
25167 b.as_mut_ptr(),
25168 &ldb,
25169 info,
25170 )
25171}
25172
25173#[inline]
25174pub unsafe fn zptsv(
25175 n: i32,
25176 nrhs: i32,
25177 d: &mut [f64],
25178 e: &mut [c64],
25179 b: &mut [c64],
25180 ldb: i32,
25181 info: &mut i32,
25182) {
25183 ffi::zptsv_(
25184 &n,
25185 &nrhs,
25186 d.as_mut_ptr(),
25187 e.as_mut_ptr() as *mut _,
25188 b.as_mut_ptr() as *mut _,
25189 &ldb,
25190 info,
25191 )
25192}
25193
25194#[inline]
25195pub unsafe fn cptsvx(
25196 fact: u8,
25197 n: i32,
25198 nrhs: i32,
25199 d: &[f32],
25200 e: &[c32],
25201 df: &mut [f32],
25202 ef: &mut [c32],
25203 b: &[c32],
25204 ldb: i32,
25205 x: &mut [c32],
25206 ldx: i32,
25207 rcond: &mut f32,
25208 ferr: &mut [f32],
25209 berr: &mut [f32],
25210 work: &mut [c32],
25211 rwork: &mut [f32],
25212 info: &mut i32,
25213) {
25214 ffi::cptsvx_(
25215 &(fact as c_char),
25216 &n,
25217 &nrhs,
25218 d.as_ptr(),
25219 e.as_ptr() as *const _,
25220 df.as_mut_ptr(),
25221 ef.as_mut_ptr() as *mut _,
25222 b.as_ptr() as *const _,
25223 &ldb,
25224 x.as_mut_ptr() as *mut _,
25225 &ldx,
25226 rcond,
25227 ferr.as_mut_ptr(),
25228 berr.as_mut_ptr(),
25229 work.as_mut_ptr() as *mut _,
25230 rwork.as_mut_ptr(),
25231 info,
25232 )
25233}
25234
25235#[inline]
25236pub unsafe fn dptsvx(
25237 fact: u8,
25238 n: i32,
25239 nrhs: i32,
25240 d: &[f64],
25241 e: &[f64],
25242 df: &mut [f64],
25243 ef: &mut [f64],
25244 b: &[f64],
25245 ldb: i32,
25246 x: &mut [f64],
25247 ldx: i32,
25248 rcond: &mut f64,
25249 ferr: &mut [f64],
25250 berr: &mut [f64],
25251 work: &mut [f64],
25252 info: &mut i32,
25253) {
25254 ffi::dptsvx_(
25255 &(fact as c_char),
25256 &n,
25257 &nrhs,
25258 d.as_ptr(),
25259 e.as_ptr(),
25260 df.as_mut_ptr(),
25261 ef.as_mut_ptr(),
25262 b.as_ptr(),
25263 &ldb,
25264 x.as_mut_ptr(),
25265 &ldx,
25266 rcond,
25267 ferr.as_mut_ptr(),
25268 berr.as_mut_ptr(),
25269 work.as_mut_ptr(),
25270 info,
25271 )
25272}
25273
25274#[inline]
25275pub unsafe fn sptsvx(
25276 fact: u8,
25277 n: i32,
25278 nrhs: i32,
25279 d: &[f32],
25280 e: &[f32],
25281 df: &mut [f32],
25282 ef: &mut [f32],
25283 b: &[f32],
25284 ldb: i32,
25285 x: &mut [f32],
25286 ldx: i32,
25287 rcond: &mut f32,
25288 ferr: &mut [f32],
25289 berr: &mut [f32],
25290 work: &mut [f32],
25291 info: &mut i32,
25292) {
25293 ffi::sptsvx_(
25294 &(fact as c_char),
25295 &n,
25296 &nrhs,
25297 d.as_ptr(),
25298 e.as_ptr(),
25299 df.as_mut_ptr(),
25300 ef.as_mut_ptr(),
25301 b.as_ptr(),
25302 &ldb,
25303 x.as_mut_ptr(),
25304 &ldx,
25305 rcond,
25306 ferr.as_mut_ptr(),
25307 berr.as_mut_ptr(),
25308 work.as_mut_ptr(),
25309 info,
25310 )
25311}
25312
25313#[inline]
25314pub unsafe fn zptsvx(
25315 fact: u8,
25316 n: i32,
25317 nrhs: i32,
25318 d: &[f64],
25319 e: &[c64],
25320 df: &mut [f64],
25321 ef: &mut [c64],
25322 b: &[c64],
25323 ldb: i32,
25324 x: &mut [c64],
25325 ldx: i32,
25326 rcond: &mut f64,
25327 ferr: &mut [f64],
25328 berr: &mut [f64],
25329 work: &mut [c64],
25330 rwork: &mut [f64],
25331 info: &mut i32,
25332) {
25333 ffi::zptsvx_(
25334 &(fact as c_char),
25335 &n,
25336 &nrhs,
25337 d.as_ptr(),
25338 e.as_ptr() as *const _,
25339 df.as_mut_ptr(),
25340 ef.as_mut_ptr() as *mut _,
25341 b.as_ptr() as *const _,
25342 &ldb,
25343 x.as_mut_ptr() as *mut _,
25344 &ldx,
25345 rcond,
25346 ferr.as_mut_ptr(),
25347 berr.as_mut_ptr(),
25348 work.as_mut_ptr() as *mut _,
25349 rwork.as_mut_ptr(),
25350 info,
25351 )
25352}
25353
25354#[inline]
25355pub unsafe fn cpttrf(n: i32, d: &mut [f32], e: &mut [c32], info: &mut i32) {
25356 ffi::cpttrf_(&n, d.as_mut_ptr(), e.as_mut_ptr() as *mut _, info)
25357}
25358
25359#[inline]
25360pub unsafe fn dpttrf(n: i32, d: &mut [f64], e: &mut [f64], info: &mut i32) {
25361 ffi::dpttrf_(&n, d.as_mut_ptr(), e.as_mut_ptr(), info)
25362}
25363
25364#[inline]
25365pub unsafe fn spttrf(n: i32, d: &mut [f32], e: &mut [f32], info: &mut i32) {
25366 ffi::spttrf_(&n, d.as_mut_ptr(), e.as_mut_ptr(), info)
25367}
25368
25369#[inline]
25370pub unsafe fn zpttrf(n: i32, d: &mut [f64], e: &mut [c64], info: &mut i32) {
25371 ffi::zpttrf_(&n, d.as_mut_ptr(), e.as_mut_ptr() as *mut _, info)
25372}
25373
25374#[inline]
25375pub unsafe fn cpttrs(
25376 uplo: u8,
25377 n: i32,
25378 nrhs: i32,
25379 d: &[f32],
25380 e: &[c32],
25381 b: &mut [c32],
25382 ldb: i32,
25383 info: &mut i32,
25384) {
25385 ffi::cpttrs_(
25386 &(uplo as c_char),
25387 &n,
25388 &nrhs,
25389 d.as_ptr(),
25390 e.as_ptr() as *const _,
25391 b.as_mut_ptr() as *mut _,
25392 &ldb,
25393 info,
25394 )
25395}
25396
25397#[inline]
25398pub unsafe fn dpttrs(
25399 n: i32,
25400 nrhs: i32,
25401 d: &[f64],
25402 e: &[f64],
25403 b: &mut [f64],
25404 ldb: i32,
25405 info: &mut i32,
25406) {
25407 ffi::dpttrs_(
25408 &n,
25409 &nrhs,
25410 d.as_ptr(),
25411 e.as_ptr(),
25412 b.as_mut_ptr(),
25413 &ldb,
25414 info,
25415 )
25416}
25417
25418#[inline]
25419pub unsafe fn spttrs(
25420 n: i32,
25421 nrhs: i32,
25422 d: &[f32],
25423 e: &[f32],
25424 b: &mut [f32],
25425 ldb: i32,
25426 info: &mut i32,
25427) {
25428 ffi::spttrs_(
25429 &n,
25430 &nrhs,
25431 d.as_ptr(),
25432 e.as_ptr(),
25433 b.as_mut_ptr(),
25434 &ldb,
25435 info,
25436 )
25437}
25438
25439#[inline]
25440pub unsafe fn zpttrs(
25441 uplo: u8,
25442 n: i32,
25443 nrhs: i32,
25444 d: &[f64],
25445 e: &[c64],
25446 b: &mut [c64],
25447 ldb: i32,
25448 info: &mut i32,
25449) {
25450 ffi::zpttrs_(
25451 &(uplo as c_char),
25452 &n,
25453 &nrhs,
25454 d.as_ptr(),
25455 e.as_ptr() as *const _,
25456 b.as_mut_ptr() as *mut _,
25457 &ldb,
25458 info,
25459 )
25460}
25461
25462#[inline]
25463pub unsafe fn dsbev(
25464 jobz: u8,
25465 uplo: u8,
25466 n: i32,
25467 kd: i32,
25468 ab: &mut [f64],
25469 ldab: i32,
25470 w: &mut [f64],
25471 z: &mut [f64],
25472 ldz: i32,
25473 work: &mut [f64],
25474 info: &mut i32,
25475) {
25476 ffi::dsbev_(
25477 &(jobz as c_char),
25478 &(uplo as c_char),
25479 &n,
25480 &kd,
25481 ab.as_mut_ptr(),
25482 &ldab,
25483 w.as_mut_ptr(),
25484 z.as_mut_ptr(),
25485 &ldz,
25486 work.as_mut_ptr(),
25487 info,
25488 )
25489}
25490
25491#[inline]
25492pub unsafe fn ssbev(
25493 jobz: u8,
25494 uplo: u8,
25495 n: i32,
25496 kd: i32,
25497 ab: &mut [f32],
25498 ldab: i32,
25499 w: &mut [f32],
25500 z: &mut [f32],
25501 ldz: i32,
25502 work: &mut [f32],
25503 info: &mut i32,
25504) {
25505 ffi::ssbev_(
25506 &(jobz as c_char),
25507 &(uplo as c_char),
25508 &n,
25509 &kd,
25510 ab.as_mut_ptr(),
25511 &ldab,
25512 w.as_mut_ptr(),
25513 z.as_mut_ptr(),
25514 &ldz,
25515 work.as_mut_ptr(),
25516 info,
25517 )
25518}
25519
25520#[inline]
25521pub unsafe fn dsbev_2stage(
25522 jobz: u8,
25523 uplo: u8,
25524 n: i32,
25525 kd: i32,
25526 ab: &mut [f64],
25527 ldab: i32,
25528 w: &mut [f64],
25529 z: &mut [f64],
25530 ldz: i32,
25531 work: &mut [f64],
25532 lwork: i32,
25533 info: &mut i32,
25534) {
25535 ffi::dsbev_2stage_(
25536 &(jobz as c_char),
25537 &(uplo as c_char),
25538 &n,
25539 &kd,
25540 ab.as_mut_ptr(),
25541 &ldab,
25542 w.as_mut_ptr(),
25543 z.as_mut_ptr(),
25544 &ldz,
25545 work.as_mut_ptr(),
25546 &lwork,
25547 info,
25548 )
25549}
25550
25551#[inline]
25552pub unsafe fn ssbev_2stage(
25553 jobz: u8,
25554 uplo: u8,
25555 n: i32,
25556 kd: i32,
25557 ab: &mut [f32],
25558 ldab: i32,
25559 w: &mut [f32],
25560 z: &mut [f32],
25561 ldz: i32,
25562 work: &mut [f32],
25563 lwork: i32,
25564 info: &mut i32,
25565) {
25566 ffi::ssbev_2stage_(
25567 &(jobz as c_char),
25568 &(uplo as c_char),
25569 &n,
25570 &kd,
25571 ab.as_mut_ptr(),
25572 &ldab,
25573 w.as_mut_ptr(),
25574 z.as_mut_ptr(),
25575 &ldz,
25576 work.as_mut_ptr(),
25577 &lwork,
25578 info,
25579 )
25580}
25581
25582#[inline]
25583pub unsafe fn dsbevd(
25584 jobz: u8,
25585 uplo: u8,
25586 n: i32,
25587 kd: i32,
25588 ab: &mut [f64],
25589 ldab: i32,
25590 w: &mut [f64],
25591 z: &mut [f64],
25592 ldz: i32,
25593 work: &mut [f64],
25594 lwork: i32,
25595 iwork: &mut [i32],
25596 liwork: i32,
25597 info: &mut i32,
25598) {
25599 ffi::dsbevd_(
25600 &(jobz as c_char),
25601 &(uplo as c_char),
25602 &n,
25603 &kd,
25604 ab.as_mut_ptr(),
25605 &ldab,
25606 w.as_mut_ptr(),
25607 z.as_mut_ptr(),
25608 &ldz,
25609 work.as_mut_ptr(),
25610 &lwork,
25611 iwork.as_mut_ptr(),
25612 &liwork,
25613 info,
25614 )
25615}
25616
25617#[inline]
25618pub unsafe fn ssbevd(
25619 jobz: u8,
25620 uplo: u8,
25621 n: i32,
25622 kd: i32,
25623 ab: &mut [f32],
25624 ldab: i32,
25625 w: &mut [f32],
25626 z: &mut [f32],
25627 ldz: i32,
25628 work: &mut [f32],
25629 lwork: i32,
25630 iwork: &mut [i32],
25631 liwork: i32,
25632 info: &mut i32,
25633) {
25634 ffi::ssbevd_(
25635 &(jobz as c_char),
25636 &(uplo as c_char),
25637 &n,
25638 &kd,
25639 ab.as_mut_ptr(),
25640 &ldab,
25641 w.as_mut_ptr(),
25642 z.as_mut_ptr(),
25643 &ldz,
25644 work.as_mut_ptr(),
25645 &lwork,
25646 iwork.as_mut_ptr(),
25647 &liwork,
25648 info,
25649 )
25650}
25651
25652#[inline]
25653pub unsafe fn dsbevd_2stage(
25654 jobz: u8,
25655 uplo: u8,
25656 n: i32,
25657 kd: i32,
25658 ab: &mut [f64],
25659 ldab: i32,
25660 w: &mut [f64],
25661 z: &mut [f64],
25662 ldz: i32,
25663 work: &mut [f64],
25664 lwork: i32,
25665 iwork: &mut [i32],
25666 liwork: i32,
25667 info: &mut i32,
25668) {
25669 ffi::dsbevd_2stage_(
25670 &(jobz as c_char),
25671 &(uplo as c_char),
25672 &n,
25673 &kd,
25674 ab.as_mut_ptr(),
25675 &ldab,
25676 w.as_mut_ptr(),
25677 z.as_mut_ptr(),
25678 &ldz,
25679 work.as_mut_ptr(),
25680 &lwork,
25681 iwork.as_mut_ptr(),
25682 &liwork,
25683 info,
25684 )
25685}
25686
25687#[inline]
25688pub unsafe fn ssbevd_2stage(
25689 jobz: u8,
25690 uplo: u8,
25691 n: i32,
25692 kd: i32,
25693 ab: &mut [f32],
25694 ldab: i32,
25695 w: &mut [f32],
25696 z: &mut [f32],
25697 ldz: i32,
25698 work: &mut [f32],
25699 lwork: i32,
25700 iwork: &mut [i32],
25701 liwork: i32,
25702 info: &mut i32,
25703) {
25704 ffi::ssbevd_2stage_(
25705 &(jobz as c_char),
25706 &(uplo as c_char),
25707 &n,
25708 &kd,
25709 ab.as_mut_ptr(),
25710 &ldab,
25711 w.as_mut_ptr(),
25712 z.as_mut_ptr(),
25713 &ldz,
25714 work.as_mut_ptr(),
25715 &lwork,
25716 iwork.as_mut_ptr(),
25717 &liwork,
25718 info,
25719 )
25720}
25721
25722#[inline]
25723pub unsafe fn dsbevx(
25724 jobz: u8,
25725 range: u8,
25726 uplo: u8,
25727 n: i32,
25728 kd: i32,
25729 ab: &mut [f64],
25730 ldab: i32,
25731 q: &mut [f64],
25732 ldq: i32,
25733 vl: f64,
25734 vu: f64,
25735 il: i32,
25736 iu: i32,
25737 abstol: f64,
25738 m: &mut i32,
25739 w: &mut [f64],
25740 z: &mut [f64],
25741 ldz: i32,
25742 work: &mut [f64],
25743 iwork: &mut [i32],
25744 ifail: &mut [i32],
25745 info: &mut i32,
25746) {
25747 ffi::dsbevx_(
25748 &(jobz as c_char),
25749 &(range as c_char),
25750 &(uplo as c_char),
25751 &n,
25752 &kd,
25753 ab.as_mut_ptr(),
25754 &ldab,
25755 q.as_mut_ptr(),
25756 &ldq,
25757 &vl,
25758 &vu,
25759 &il,
25760 &iu,
25761 &abstol,
25762 m,
25763 w.as_mut_ptr(),
25764 z.as_mut_ptr(),
25765 &ldz,
25766 work.as_mut_ptr(),
25767 iwork.as_mut_ptr(),
25768 ifail.as_mut_ptr(),
25769 info,
25770 )
25771}
25772
25773#[inline]
25774pub unsafe fn ssbevx(
25775 jobz: u8,
25776 range: u8,
25777 uplo: u8,
25778 n: i32,
25779 kd: i32,
25780 ab: &mut [f32],
25781 ldab: i32,
25782 q: &mut [f32],
25783 ldq: i32,
25784 vl: f32,
25785 vu: f32,
25786 il: i32,
25787 iu: i32,
25788 abstol: f32,
25789 m: &mut i32,
25790 w: &mut [f32],
25791 z: &mut [f32],
25792 ldz: i32,
25793 work: &mut [f32],
25794 iwork: &mut [i32],
25795 ifail: &mut [i32],
25796 info: &mut i32,
25797) {
25798 ffi::ssbevx_(
25799 &(jobz as c_char),
25800 &(range as c_char),
25801 &(uplo as c_char),
25802 &n,
25803 &kd,
25804 ab.as_mut_ptr(),
25805 &ldab,
25806 q.as_mut_ptr(),
25807 &ldq,
25808 &vl,
25809 &vu,
25810 &il,
25811 &iu,
25812 &abstol,
25813 m,
25814 w.as_mut_ptr(),
25815 z.as_mut_ptr(),
25816 &ldz,
25817 work.as_mut_ptr(),
25818 iwork.as_mut_ptr(),
25819 ifail.as_mut_ptr(),
25820 info,
25821 )
25822}
25823
25824#[inline]
25825pub unsafe fn dsbevx_2stage(
25826 jobz: u8,
25827 range: u8,
25828 uplo: u8,
25829 n: i32,
25830 kd: i32,
25831 ab: &mut [f64],
25832 ldab: i32,
25833 q: &mut [f64],
25834 ldq: i32,
25835 vl: f64,
25836 vu: f64,
25837 il: i32,
25838 iu: i32,
25839 abstol: f64,
25840 m: &mut i32,
25841 w: &mut [f64],
25842 z: &mut [f64],
25843 ldz: i32,
25844 work: &mut [f64],
25845 lwork: i32,
25846 iwork: &mut [i32],
25847 ifail: &mut [i32],
25848 info: &mut i32,
25849) {
25850 ffi::dsbevx_2stage_(
25851 &(jobz as c_char),
25852 &(range as c_char),
25853 &(uplo as c_char),
25854 &n,
25855 &kd,
25856 ab.as_mut_ptr(),
25857 &ldab,
25858 q.as_mut_ptr(),
25859 &ldq,
25860 &vl,
25861 &vu,
25862 &il,
25863 &iu,
25864 &abstol,
25865 m,
25866 w.as_mut_ptr(),
25867 z.as_mut_ptr(),
25868 &ldz,
25869 work.as_mut_ptr(),
25870 &lwork,
25871 iwork.as_mut_ptr(),
25872 ifail.as_mut_ptr(),
25873 info,
25874 )
25875}
25876
25877#[inline]
25878pub unsafe fn ssbevx_2stage(
25879 jobz: u8,
25880 range: u8,
25881 uplo: u8,
25882 n: i32,
25883 kd: i32,
25884 ab: &mut [f32],
25885 ldab: i32,
25886 q: &mut [f32],
25887 ldq: i32,
25888 vl: f32,
25889 vu: f32,
25890 il: i32,
25891 iu: i32,
25892 abstol: f32,
25893 m: &mut i32,
25894 w: &mut [f32],
25895 z: &mut [f32],
25896 ldz: i32,
25897 work: &mut [f32],
25898 lwork: i32,
25899 iwork: &mut [i32],
25900 ifail: &mut [i32],
25901 info: &mut i32,
25902) {
25903 ffi::ssbevx_2stage_(
25904 &(jobz as c_char),
25905 &(range as c_char),
25906 &(uplo as c_char),
25907 &n,
25908 &kd,
25909 ab.as_mut_ptr(),
25910 &ldab,
25911 q.as_mut_ptr(),
25912 &ldq,
25913 &vl,
25914 &vu,
25915 &il,
25916 &iu,
25917 &abstol,
25918 m,
25919 w.as_mut_ptr(),
25920 z.as_mut_ptr(),
25921 &ldz,
25922 work.as_mut_ptr(),
25923 &lwork,
25924 iwork.as_mut_ptr(),
25925 ifail.as_mut_ptr(),
25926 info,
25927 )
25928}
25929
25930#[inline]
25931pub unsafe fn dsbgst(
25932 vect: u8,
25933 uplo: u8,
25934 n: i32,
25935 ka: i32,
25936 kb: i32,
25937 ab: &mut [f64],
25938 ldab: i32,
25939 bb: &[f64],
25940 ldbb: i32,
25941 x: &mut [f64],
25942 ldx: i32,
25943 work: &mut [f64],
25944 info: &mut i32,
25945) {
25946 ffi::dsbgst_(
25947 &(vect as c_char),
25948 &(uplo as c_char),
25949 &n,
25950 &ka,
25951 &kb,
25952 ab.as_mut_ptr(),
25953 &ldab,
25954 bb.as_ptr(),
25955 &ldbb,
25956 x.as_mut_ptr(),
25957 &ldx,
25958 work.as_mut_ptr(),
25959 info,
25960 )
25961}
25962
25963#[inline]
25964pub unsafe fn ssbgst(
25965 vect: u8,
25966 uplo: u8,
25967 n: i32,
25968 ka: i32,
25969 kb: i32,
25970 ab: &mut [f32],
25971 ldab: i32,
25972 bb: &[f32],
25973 ldbb: i32,
25974 x: &mut [f32],
25975 ldx: i32,
25976 work: &mut [f32],
25977 info: &mut i32,
25978) {
25979 ffi::ssbgst_(
25980 &(vect as c_char),
25981 &(uplo as c_char),
25982 &n,
25983 &ka,
25984 &kb,
25985 ab.as_mut_ptr(),
25986 &ldab,
25987 bb.as_ptr(),
25988 &ldbb,
25989 x.as_mut_ptr(),
25990 &ldx,
25991 work.as_mut_ptr(),
25992 info,
25993 )
25994}
25995
25996#[inline]
25997pub unsafe fn dsbgv(
25998 jobz: u8,
25999 uplo: u8,
26000 n: i32,
26001 ka: i32,
26002 kb: i32,
26003 ab: &mut [f64],
26004 ldab: i32,
26005 bb: &mut [f64],
26006 ldbb: i32,
26007 w: &mut [f64],
26008 z: &mut [f64],
26009 ldz: i32,
26010 work: &mut [f64],
26011 info: &mut i32,
26012) {
26013 ffi::dsbgv_(
26014 &(jobz as c_char),
26015 &(uplo as c_char),
26016 &n,
26017 &ka,
26018 &kb,
26019 ab.as_mut_ptr(),
26020 &ldab,
26021 bb.as_mut_ptr(),
26022 &ldbb,
26023 w.as_mut_ptr(),
26024 z.as_mut_ptr(),
26025 &ldz,
26026 work.as_mut_ptr(),
26027 info,
26028 )
26029}
26030
26031#[inline]
26032pub unsafe fn ssbgv(
26033 jobz: u8,
26034 uplo: u8,
26035 n: i32,
26036 ka: i32,
26037 kb: i32,
26038 ab: &mut [f32],
26039 ldab: i32,
26040 bb: &mut [f32],
26041 ldbb: i32,
26042 w: &mut [f32],
26043 z: &mut [f32],
26044 ldz: i32,
26045 work: &mut [f32],
26046 info: &mut i32,
26047) {
26048 ffi::ssbgv_(
26049 &(jobz as c_char),
26050 &(uplo as c_char),
26051 &n,
26052 &ka,
26053 &kb,
26054 ab.as_mut_ptr(),
26055 &ldab,
26056 bb.as_mut_ptr(),
26057 &ldbb,
26058 w.as_mut_ptr(),
26059 z.as_mut_ptr(),
26060 &ldz,
26061 work.as_mut_ptr(),
26062 info,
26063 )
26064}
26065
26066#[inline]
26067pub unsafe fn dsbgvd(
26068 jobz: u8,
26069 uplo: u8,
26070 n: i32,
26071 ka: i32,
26072 kb: i32,
26073 ab: &mut [f64],
26074 ldab: i32,
26075 bb: &mut [f64],
26076 ldbb: i32,
26077 w: &mut [f64],
26078 z: &mut [f64],
26079 ldz: i32,
26080 work: &mut [f64],
26081 lwork: i32,
26082 iwork: &mut [i32],
26083 liwork: i32,
26084 info: &mut i32,
26085) {
26086 ffi::dsbgvd_(
26087 &(jobz as c_char),
26088 &(uplo as c_char),
26089 &n,
26090 &ka,
26091 &kb,
26092 ab.as_mut_ptr(),
26093 &ldab,
26094 bb.as_mut_ptr(),
26095 &ldbb,
26096 w.as_mut_ptr(),
26097 z.as_mut_ptr(),
26098 &ldz,
26099 work.as_mut_ptr(),
26100 &lwork,
26101 iwork.as_mut_ptr(),
26102 &liwork,
26103 info,
26104 )
26105}
26106
26107#[inline]
26108pub unsafe fn ssbgvd(
26109 jobz: u8,
26110 uplo: u8,
26111 n: i32,
26112 ka: i32,
26113 kb: i32,
26114 ab: &mut [f32],
26115 ldab: i32,
26116 bb: &mut [f32],
26117 ldbb: i32,
26118 w: &mut [f32],
26119 z: &mut [f32],
26120 ldz: i32,
26121 work: &mut [f32],
26122 lwork: i32,
26123 iwork: &mut [i32],
26124 liwork: i32,
26125 info: &mut i32,
26126) {
26127 ffi::ssbgvd_(
26128 &(jobz as c_char),
26129 &(uplo as c_char),
26130 &n,
26131 &ka,
26132 &kb,
26133 ab.as_mut_ptr(),
26134 &ldab,
26135 bb.as_mut_ptr(),
26136 &ldbb,
26137 w.as_mut_ptr(),
26138 z.as_mut_ptr(),
26139 &ldz,
26140 work.as_mut_ptr(),
26141 &lwork,
26142 iwork.as_mut_ptr(),
26143 &liwork,
26144 info,
26145 )
26146}
26147
26148#[inline]
26149pub unsafe fn dsbgvx(
26150 jobz: u8,
26151 range: u8,
26152 uplo: u8,
26153 n: i32,
26154 ka: i32,
26155 kb: i32,
26156 ab: &mut [f64],
26157 ldab: i32,
26158 bb: &mut [f64],
26159 ldbb: i32,
26160 q: &mut [f64],
26161 ldq: i32,
26162 vl: f64,
26163 vu: f64,
26164 il: i32,
26165 iu: i32,
26166 abstol: f64,
26167 m: &mut i32,
26168 w: &mut [f64],
26169 z: &mut [f64],
26170 ldz: i32,
26171 work: &mut [f64],
26172 iwork: &mut [i32],
26173 ifail: &mut [i32],
26174 info: &mut i32,
26175) {
26176 ffi::dsbgvx_(
26177 &(jobz as c_char),
26178 &(range as c_char),
26179 &(uplo as c_char),
26180 &n,
26181 &ka,
26182 &kb,
26183 ab.as_mut_ptr(),
26184 &ldab,
26185 bb.as_mut_ptr(),
26186 &ldbb,
26187 q.as_mut_ptr(),
26188 &ldq,
26189 &vl,
26190 &vu,
26191 &il,
26192 &iu,
26193 &abstol,
26194 m,
26195 w.as_mut_ptr(),
26196 z.as_mut_ptr(),
26197 &ldz,
26198 work.as_mut_ptr(),
26199 iwork.as_mut_ptr(),
26200 ifail.as_mut_ptr(),
26201 info,
26202 )
26203}
26204
26205#[inline]
26206pub unsafe fn ssbgvx(
26207 jobz: u8,
26208 range: u8,
26209 uplo: u8,
26210 n: i32,
26211 ka: i32,
26212 kb: i32,
26213 ab: &mut [f32],
26214 ldab: i32,
26215 bb: &mut [f32],
26216 ldbb: i32,
26217 q: &mut [f32],
26218 ldq: i32,
26219 vl: f32,
26220 vu: f32,
26221 il: i32,
26222 iu: i32,
26223 abstol: f32,
26224 m: &mut i32,
26225 w: &mut [f32],
26226 z: &mut [f32],
26227 ldz: i32,
26228 work: &mut [f32],
26229 iwork: &mut [i32],
26230 ifail: &mut [i32],
26231 info: &mut i32,
26232) {
26233 ffi::ssbgvx_(
26234 &(jobz as c_char),
26235 &(range as c_char),
26236 &(uplo as c_char),
26237 &n,
26238 &ka,
26239 &kb,
26240 ab.as_mut_ptr(),
26241 &ldab,
26242 bb.as_mut_ptr(),
26243 &ldbb,
26244 q.as_mut_ptr(),
26245 &ldq,
26246 &vl,
26247 &vu,
26248 &il,
26249 &iu,
26250 &abstol,
26251 m,
26252 w.as_mut_ptr(),
26253 z.as_mut_ptr(),
26254 &ldz,
26255 work.as_mut_ptr(),
26256 iwork.as_mut_ptr(),
26257 ifail.as_mut_ptr(),
26258 info,
26259 )
26260}
26261
26262#[inline]
26263pub unsafe fn dsbtrd(
26264 vect: u8,
26265 uplo: u8,
26266 n: i32,
26267 kd: i32,
26268 ab: &mut [f64],
26269 ldab: i32,
26270 d: &mut [f64],
26271 e: &mut [f64],
26272 q: &mut [f64],
26273 ldq: i32,
26274 work: &mut [f64],
26275 info: &mut i32,
26276) {
26277 ffi::dsbtrd_(
26278 &(vect as c_char),
26279 &(uplo as c_char),
26280 &n,
26281 &kd,
26282 ab.as_mut_ptr(),
26283 &ldab,
26284 d.as_mut_ptr(),
26285 e.as_mut_ptr(),
26286 q.as_mut_ptr(),
26287 &ldq,
26288 work.as_mut_ptr(),
26289 info,
26290 )
26291}
26292
26293#[inline]
26294pub unsafe fn ssbtrd(
26295 vect: u8,
26296 uplo: u8,
26297 n: i32,
26298 kd: i32,
26299 ab: &mut [f32],
26300 ldab: i32,
26301 d: &mut [f32],
26302 e: &mut [f32],
26303 q: &mut [f32],
26304 ldq: i32,
26305 work: &mut [f32],
26306 info: &mut i32,
26307) {
26308 ffi::ssbtrd_(
26309 &(vect as c_char),
26310 &(uplo as c_char),
26311 &n,
26312 &kd,
26313 ab.as_mut_ptr(),
26314 &ldab,
26315 d.as_mut_ptr(),
26316 e.as_mut_ptr(),
26317 q.as_mut_ptr(),
26318 &ldq,
26319 work.as_mut_ptr(),
26320 info,
26321 )
26322}
26323
26324#[inline]
26325pub unsafe fn dsfrk(
26326 transr: u8,
26327 uplo: u8,
26328 trans: u8,
26329 n: i32,
26330 k: i32,
26331 alpha: &[f64],
26332 a: &[f64],
26333 lda: i32,
26334 beta: &[f64],
26335 c: &mut [f64],
26336) {
26337 ffi::dsfrk_(
26338 &(transr as c_char),
26339 &(uplo as c_char),
26340 &(trans as c_char),
26341 &n,
26342 &k,
26343 alpha.as_ptr(),
26344 a.as_ptr(),
26345 &lda,
26346 beta.as_ptr(),
26347 c.as_mut_ptr(),
26348 )
26349}
26350
26351#[inline]
26352pub unsafe fn ssfrk(
26353 transr: u8,
26354 uplo: u8,
26355 trans: u8,
26356 n: i32,
26357 k: i32,
26358 alpha: &[f32],
26359 a: &[f32],
26360 lda: i32,
26361 beta: &[f32],
26362 c: &mut [f32],
26363) {
26364 ffi::ssfrk_(
26365 &(transr as c_char),
26366 &(uplo as c_char),
26367 &(trans as c_char),
26368 &n,
26369 &k,
26370 alpha.as_ptr(),
26371 a.as_ptr(),
26372 &lda,
26373 beta.as_ptr(),
26374 c.as_mut_ptr(),
26375 )
26376}
26377
26378#[inline]
26379pub unsafe fn cspcon(
26380 uplo: u8,
26381 n: i32,
26382 ap: &[c32],
26383 ipiv: &[i32],
26384 anorm: f32,
26385 rcond: &mut f32,
26386 work: &mut [c32],
26387 info: &mut i32,
26388) {
26389 ffi::cspcon_(
26390 &(uplo as c_char),
26391 &n,
26392 ap.as_ptr() as *const _,
26393 ipiv.as_ptr(),
26394 &anorm,
26395 rcond,
26396 work.as_mut_ptr() as *mut _,
26397 info,
26398 )
26399}
26400
26401#[inline]
26402pub unsafe fn dspcon(
26403 uplo: u8,
26404 n: i32,
26405 ap: &[f64],
26406 ipiv: &[i32],
26407 anorm: f64,
26408 rcond: &mut f64,
26409 work: &mut [f64],
26410 iwork: &mut [i32],
26411 info: &mut i32,
26412) {
26413 ffi::dspcon_(
26414 &(uplo as c_char),
26415 &n,
26416 ap.as_ptr(),
26417 ipiv.as_ptr(),
26418 &anorm,
26419 rcond,
26420 work.as_mut_ptr(),
26421 iwork.as_mut_ptr(),
26422 info,
26423 )
26424}
26425
26426#[inline]
26427pub unsafe fn sspcon(
26428 uplo: u8,
26429 n: i32,
26430 ap: &[f32],
26431 ipiv: &[i32],
26432 anorm: f32,
26433 rcond: &mut f32,
26434 work: &mut [f32],
26435 iwork: &mut [i32],
26436 info: &mut i32,
26437) {
26438 ffi::sspcon_(
26439 &(uplo as c_char),
26440 &n,
26441 ap.as_ptr(),
26442 ipiv.as_ptr(),
26443 &anorm,
26444 rcond,
26445 work.as_mut_ptr(),
26446 iwork.as_mut_ptr(),
26447 info,
26448 )
26449}
26450
26451#[inline]
26452pub unsafe fn zspcon(
26453 uplo: u8,
26454 n: i32,
26455 ap: &[c64],
26456 ipiv: &[i32],
26457 anorm: f64,
26458 rcond: &mut f64,
26459 work: &mut [c64],
26460 info: &mut i32,
26461) {
26462 ffi::zspcon_(
26463 &(uplo as c_char),
26464 &n,
26465 ap.as_ptr() as *const _,
26466 ipiv.as_ptr(),
26467 &anorm,
26468 rcond,
26469 work.as_mut_ptr() as *mut _,
26470 info,
26471 )
26472}
26473
26474#[inline]
26475pub unsafe fn dspev(
26476 jobz: u8,
26477 uplo: u8,
26478 n: i32,
26479 ap: &mut [f64],
26480 w: &mut [f64],
26481 z: &mut [f64],
26482 ldz: i32,
26483 work: &mut [f64],
26484 info: &mut i32,
26485) {
26486 ffi::dspev_(
26487 &(jobz as c_char),
26488 &(uplo as c_char),
26489 &n,
26490 ap.as_mut_ptr(),
26491 w.as_mut_ptr(),
26492 z.as_mut_ptr(),
26493 &ldz,
26494 work.as_mut_ptr(),
26495 info,
26496 )
26497}
26498
26499#[inline]
26500pub unsafe fn sspev(
26501 jobz: u8,
26502 uplo: u8,
26503 n: i32,
26504 ap: &mut [f32],
26505 w: &mut [f32],
26506 z: &mut [f32],
26507 ldz: i32,
26508 work: &mut [f32],
26509 info: &mut i32,
26510) {
26511 ffi::sspev_(
26512 &(jobz as c_char),
26513 &(uplo as c_char),
26514 &n,
26515 ap.as_mut_ptr(),
26516 w.as_mut_ptr(),
26517 z.as_mut_ptr(),
26518 &ldz,
26519 work.as_mut_ptr(),
26520 info,
26521 )
26522}
26523
26524#[inline]
26525pub unsafe fn dspevd(
26526 jobz: u8,
26527 uplo: u8,
26528 n: i32,
26529 ap: &mut [f64],
26530 w: &mut [f64],
26531 z: &mut [f64],
26532 ldz: i32,
26533 work: &mut [f64],
26534 lwork: i32,
26535 iwork: &mut [i32],
26536 liwork: i32,
26537 info: &mut i32,
26538) {
26539 ffi::dspevd_(
26540 &(jobz as c_char),
26541 &(uplo as c_char),
26542 &n,
26543 ap.as_mut_ptr(),
26544 w.as_mut_ptr(),
26545 z.as_mut_ptr(),
26546 &ldz,
26547 work.as_mut_ptr(),
26548 &lwork,
26549 iwork.as_mut_ptr(),
26550 &liwork,
26551 info,
26552 )
26553}
26554
26555#[inline]
26556pub unsafe fn sspevd(
26557 jobz: u8,
26558 uplo: u8,
26559 n: i32,
26560 ap: &mut [f32],
26561 w: &mut [f32],
26562 z: &mut [f32],
26563 ldz: i32,
26564 work: &mut [f32],
26565 lwork: i32,
26566 iwork: &mut [i32],
26567 liwork: i32,
26568 info: &mut i32,
26569) {
26570 ffi::sspevd_(
26571 &(jobz as c_char),
26572 &(uplo as c_char),
26573 &n,
26574 ap.as_mut_ptr(),
26575 w.as_mut_ptr(),
26576 z.as_mut_ptr(),
26577 &ldz,
26578 work.as_mut_ptr(),
26579 &lwork,
26580 iwork.as_mut_ptr(),
26581 &liwork,
26582 info,
26583 )
26584}
26585
26586#[inline]
26587pub unsafe fn dspevx(
26588 jobz: u8,
26589 range: u8,
26590 uplo: u8,
26591 n: i32,
26592 ap: &mut [f64],
26593 vl: f64,
26594 vu: f64,
26595 il: i32,
26596 iu: i32,
26597 abstol: f64,
26598 m: &mut i32,
26599 w: &mut [f64],
26600 z: &mut [f64],
26601 ldz: i32,
26602 work: &mut [f64],
26603 iwork: &mut [i32],
26604 ifail: &mut [i32],
26605 info: &mut i32,
26606) {
26607 ffi::dspevx_(
26608 &(jobz as c_char),
26609 &(range as c_char),
26610 &(uplo as c_char),
26611 &n,
26612 ap.as_mut_ptr(),
26613 &vl,
26614 &vu,
26615 &il,
26616 &iu,
26617 &abstol,
26618 m,
26619 w.as_mut_ptr(),
26620 z.as_mut_ptr(),
26621 &ldz,
26622 work.as_mut_ptr(),
26623 iwork.as_mut_ptr(),
26624 ifail.as_mut_ptr(),
26625 info,
26626 )
26627}
26628
26629#[inline]
26630pub unsafe fn sspevx(
26631 jobz: u8,
26632 range: u8,
26633 uplo: u8,
26634 n: i32,
26635 ap: &mut [f32],
26636 vl: f32,
26637 vu: f32,
26638 il: i32,
26639 iu: i32,
26640 abstol: f32,
26641 m: &mut i32,
26642 w: &mut [f32],
26643 z: &mut [f32],
26644 ldz: i32,
26645 work: &mut [f32],
26646 iwork: &mut [i32],
26647 ifail: &mut [i32],
26648 info: &mut i32,
26649) {
26650 ffi::sspevx_(
26651 &(jobz as c_char),
26652 &(range as c_char),
26653 &(uplo as c_char),
26654 &n,
26655 ap.as_mut_ptr(),
26656 &vl,
26657 &vu,
26658 &il,
26659 &iu,
26660 &abstol,
26661 m,
26662 w.as_mut_ptr(),
26663 z.as_mut_ptr(),
26664 &ldz,
26665 work.as_mut_ptr(),
26666 iwork.as_mut_ptr(),
26667 ifail.as_mut_ptr(),
26668 info,
26669 )
26670}
26671
26672#[inline]
26673pub unsafe fn dspgst(itype: &[i32], uplo: u8, n: i32, ap: &mut [f64], bp: &[f64], info: &mut i32) {
26674 ffi::dspgst_(
26675 itype.as_ptr(),
26676 &(uplo as c_char),
26677 &n,
26678 ap.as_mut_ptr(),
26679 bp.as_ptr(),
26680 info,
26681 )
26682}
26683
26684#[inline]
26685pub unsafe fn sspgst(itype: &[i32], uplo: u8, n: i32, ap: &mut [f32], bp: &[f32], info: &mut i32) {
26686 ffi::sspgst_(
26687 itype.as_ptr(),
26688 &(uplo as c_char),
26689 &n,
26690 ap.as_mut_ptr(),
26691 bp.as_ptr(),
26692 info,
26693 )
26694}
26695
26696#[inline]
26697pub unsafe fn dspgv(
26698 itype: &[i32],
26699 jobz: u8,
26700 uplo: u8,
26701 n: i32,
26702 ap: &mut [f64],
26703 bp: &mut [f64],
26704 w: &mut [f64],
26705 z: &mut [f64],
26706 ldz: i32,
26707 work: &mut [f64],
26708 info: &mut i32,
26709) {
26710 ffi::dspgv_(
26711 itype.as_ptr(),
26712 &(jobz as c_char),
26713 &(uplo as c_char),
26714 &n,
26715 ap.as_mut_ptr(),
26716 bp.as_mut_ptr(),
26717 w.as_mut_ptr(),
26718 z.as_mut_ptr(),
26719 &ldz,
26720 work.as_mut_ptr(),
26721 info,
26722 )
26723}
26724
26725#[inline]
26726pub unsafe fn sspgv(
26727 itype: &[i32],
26728 jobz: u8,
26729 uplo: u8,
26730 n: i32,
26731 ap: &mut [f32],
26732 bp: &mut [f32],
26733 w: &mut [f32],
26734 z: &mut [f32],
26735 ldz: i32,
26736 work: &mut [f32],
26737 info: &mut i32,
26738) {
26739 ffi::sspgv_(
26740 itype.as_ptr(),
26741 &(jobz as c_char),
26742 &(uplo as c_char),
26743 &n,
26744 ap.as_mut_ptr(),
26745 bp.as_mut_ptr(),
26746 w.as_mut_ptr(),
26747 z.as_mut_ptr(),
26748 &ldz,
26749 work.as_mut_ptr(),
26750 info,
26751 )
26752}
26753
26754#[inline]
26755pub unsafe fn dspgvd(
26756 itype: &[i32],
26757 jobz: u8,
26758 uplo: u8,
26759 n: i32,
26760 ap: &mut [f64],
26761 bp: &mut [f64],
26762 w: &mut [f64],
26763 z: &mut [f64],
26764 ldz: i32,
26765 work: &mut [f64],
26766 lwork: i32,
26767 iwork: &mut [i32],
26768 liwork: i32,
26769 info: &mut i32,
26770) {
26771 ffi::dspgvd_(
26772 itype.as_ptr(),
26773 &(jobz as c_char),
26774 &(uplo as c_char),
26775 &n,
26776 ap.as_mut_ptr(),
26777 bp.as_mut_ptr(),
26778 w.as_mut_ptr(),
26779 z.as_mut_ptr(),
26780 &ldz,
26781 work.as_mut_ptr(),
26782 &lwork,
26783 iwork.as_mut_ptr(),
26784 &liwork,
26785 info,
26786 )
26787}
26788
26789#[inline]
26790pub unsafe fn sspgvd(
26791 itype: &[i32],
26792 jobz: u8,
26793 uplo: u8,
26794 n: i32,
26795 ap: &mut [f32],
26796 bp: &mut [f32],
26797 w: &mut [f32],
26798 z: &mut [f32],
26799 ldz: i32,
26800 work: &mut [f32],
26801 lwork: i32,
26802 iwork: &mut [i32],
26803 liwork: i32,
26804 info: &mut i32,
26805) {
26806 ffi::sspgvd_(
26807 itype.as_ptr(),
26808 &(jobz as c_char),
26809 &(uplo as c_char),
26810 &n,
26811 ap.as_mut_ptr(),
26812 bp.as_mut_ptr(),
26813 w.as_mut_ptr(),
26814 z.as_mut_ptr(),
26815 &ldz,
26816 work.as_mut_ptr(),
26817 &lwork,
26818 iwork.as_mut_ptr(),
26819 &liwork,
26820 info,
26821 )
26822}
26823
26824#[inline]
26825pub unsafe fn dspgvx(
26826 itype: &[i32],
26827 jobz: u8,
26828 range: u8,
26829 uplo: u8,
26830 n: i32,
26831 ap: &mut [f64],
26832 bp: &mut [f64],
26833 vl: f64,
26834 vu: f64,
26835 il: i32,
26836 iu: i32,
26837 abstol: f64,
26838 m: &mut i32,
26839 w: &mut [f64],
26840 z: &mut [f64],
26841 ldz: i32,
26842 work: &mut [f64],
26843 iwork: &mut [i32],
26844 ifail: &mut [i32],
26845 info: &mut i32,
26846) {
26847 ffi::dspgvx_(
26848 itype.as_ptr(),
26849 &(jobz as c_char),
26850 &(range as c_char),
26851 &(uplo as c_char),
26852 &n,
26853 ap.as_mut_ptr(),
26854 bp.as_mut_ptr(),
26855 &vl,
26856 &vu,
26857 &il,
26858 &iu,
26859 &abstol,
26860 m,
26861 w.as_mut_ptr(),
26862 z.as_mut_ptr(),
26863 &ldz,
26864 work.as_mut_ptr(),
26865 iwork.as_mut_ptr(),
26866 ifail.as_mut_ptr(),
26867 info,
26868 )
26869}
26870
26871#[inline]
26872pub unsafe fn sspgvx(
26873 itype: &[i32],
26874 jobz: u8,
26875 range: u8,
26876 uplo: u8,
26877 n: i32,
26878 ap: &mut [f32],
26879 bp: &mut [f32],
26880 vl: f32,
26881 vu: f32,
26882 il: i32,
26883 iu: i32,
26884 abstol: f32,
26885 m: &mut i32,
26886 w: &mut [f32],
26887 z: &mut [f32],
26888 ldz: i32,
26889 work: &mut [f32],
26890 iwork: &mut [i32],
26891 ifail: &mut [i32],
26892 info: &mut i32,
26893) {
26894 ffi::sspgvx_(
26895 itype.as_ptr(),
26896 &(jobz as c_char),
26897 &(range as c_char),
26898 &(uplo as c_char),
26899 &n,
26900 ap.as_mut_ptr(),
26901 bp.as_mut_ptr(),
26902 &vl,
26903 &vu,
26904 &il,
26905 &iu,
26906 &abstol,
26907 m,
26908 w.as_mut_ptr(),
26909 z.as_mut_ptr(),
26910 &ldz,
26911 work.as_mut_ptr(),
26912 iwork.as_mut_ptr(),
26913 ifail.as_mut_ptr(),
26914 info,
26915 )
26916}
26917
26918#[inline]
26919pub unsafe fn csprfs(
26920 uplo: u8,
26921 n: i32,
26922 nrhs: i32,
26923 ap: &[c32],
26924 afp: &[c32],
26925 ipiv: &[i32],
26926 b: &[c32],
26927 ldb: i32,
26928 x: &mut [c32],
26929 ldx: i32,
26930 ferr: &mut [f32],
26931 berr: &mut [f32],
26932 work: &mut [c32],
26933 rwork: &mut [f32],
26934 info: &mut i32,
26935) {
26936 ffi::csprfs_(
26937 &(uplo as c_char),
26938 &n,
26939 &nrhs,
26940 ap.as_ptr() as *const _,
26941 afp.as_ptr() as *const _,
26942 ipiv.as_ptr(),
26943 b.as_ptr() as *const _,
26944 &ldb,
26945 x.as_mut_ptr() as *mut _,
26946 &ldx,
26947 ferr.as_mut_ptr(),
26948 berr.as_mut_ptr(),
26949 work.as_mut_ptr() as *mut _,
26950 rwork.as_mut_ptr(),
26951 info,
26952 )
26953}
26954
26955#[inline]
26956pub unsafe fn dsprfs(
26957 uplo: u8,
26958 n: i32,
26959 nrhs: i32,
26960 ap: &[f64],
26961 afp: &[f64],
26962 ipiv: &[i32],
26963 b: &[f64],
26964 ldb: i32,
26965 x: &mut [f64],
26966 ldx: i32,
26967 ferr: &mut [f64],
26968 berr: &mut [f64],
26969 work: &mut [f64],
26970 iwork: &mut [i32],
26971 info: &mut i32,
26972) {
26973 ffi::dsprfs_(
26974 &(uplo as c_char),
26975 &n,
26976 &nrhs,
26977 ap.as_ptr(),
26978 afp.as_ptr(),
26979 ipiv.as_ptr(),
26980 b.as_ptr(),
26981 &ldb,
26982 x.as_mut_ptr(),
26983 &ldx,
26984 ferr.as_mut_ptr(),
26985 berr.as_mut_ptr(),
26986 work.as_mut_ptr(),
26987 iwork.as_mut_ptr(),
26988 info,
26989 )
26990}
26991
26992#[inline]
26993pub unsafe fn ssprfs(
26994 uplo: u8,
26995 n: i32,
26996 nrhs: i32,
26997 ap: &[f32],
26998 afp: &[f32],
26999 ipiv: &[i32],
27000 b: &[f32],
27001 ldb: i32,
27002 x: &mut [f32],
27003 ldx: i32,
27004 ferr: &mut [f32],
27005 berr: &mut [f32],
27006 work: &mut [f32],
27007 iwork: &mut [i32],
27008 info: &mut i32,
27009) {
27010 ffi::ssprfs_(
27011 &(uplo as c_char),
27012 &n,
27013 &nrhs,
27014 ap.as_ptr(),
27015 afp.as_ptr(),
27016 ipiv.as_ptr(),
27017 b.as_ptr(),
27018 &ldb,
27019 x.as_mut_ptr(),
27020 &ldx,
27021 ferr.as_mut_ptr(),
27022 berr.as_mut_ptr(),
27023 work.as_mut_ptr(),
27024 iwork.as_mut_ptr(),
27025 info,
27026 )
27027}
27028
27029#[inline]
27030pub unsafe fn zsprfs(
27031 uplo: u8,
27032 n: i32,
27033 nrhs: i32,
27034 ap: &[c64],
27035 afp: &[c64],
27036 ipiv: &[i32],
27037 b: &[c64],
27038 ldb: i32,
27039 x: &mut [c64],
27040 ldx: i32,
27041 ferr: &mut [f64],
27042 berr: &mut [f64],
27043 work: &mut [c64],
27044 rwork: &mut [f64],
27045 info: &mut i32,
27046) {
27047 ffi::zsprfs_(
27048 &(uplo as c_char),
27049 &n,
27050 &nrhs,
27051 ap.as_ptr() as *const _,
27052 afp.as_ptr() as *const _,
27053 ipiv.as_ptr(),
27054 b.as_ptr() as *const _,
27055 &ldb,
27056 x.as_mut_ptr() as *mut _,
27057 &ldx,
27058 ferr.as_mut_ptr(),
27059 berr.as_mut_ptr(),
27060 work.as_mut_ptr() as *mut _,
27061 rwork.as_mut_ptr(),
27062 info,
27063 )
27064}
27065
27066#[inline]
27067pub unsafe fn cspsv(
27068 uplo: u8,
27069 n: i32,
27070 nrhs: i32,
27071 ap: &mut [c32],
27072 ipiv: &mut [i32],
27073 b: &mut [c32],
27074 ldb: i32,
27075 info: &mut i32,
27076) {
27077 ffi::cspsv_(
27078 &(uplo as c_char),
27079 &n,
27080 &nrhs,
27081 ap.as_mut_ptr() as *mut _,
27082 ipiv.as_mut_ptr(),
27083 b.as_mut_ptr() as *mut _,
27084 &ldb,
27085 info,
27086 )
27087}
27088
27089#[inline]
27090pub unsafe fn dspsv(
27091 uplo: u8,
27092 n: i32,
27093 nrhs: i32,
27094 ap: &mut [f64],
27095 ipiv: &mut [i32],
27096 b: &mut [f64],
27097 ldb: i32,
27098 info: &mut i32,
27099) {
27100 ffi::dspsv_(
27101 &(uplo as c_char),
27102 &n,
27103 &nrhs,
27104 ap.as_mut_ptr(),
27105 ipiv.as_mut_ptr(),
27106 b.as_mut_ptr(),
27107 &ldb,
27108 info,
27109 )
27110}
27111
27112#[inline]
27113pub unsafe fn sspsv(
27114 uplo: u8,
27115 n: i32,
27116 nrhs: i32,
27117 ap: &mut [f32],
27118 ipiv: &mut [i32],
27119 b: &mut [f32],
27120 ldb: i32,
27121 info: &mut i32,
27122) {
27123 ffi::sspsv_(
27124 &(uplo as c_char),
27125 &n,
27126 &nrhs,
27127 ap.as_mut_ptr(),
27128 ipiv.as_mut_ptr(),
27129 b.as_mut_ptr(),
27130 &ldb,
27131 info,
27132 )
27133}
27134
27135#[inline]
27136pub unsafe fn zspsv(
27137 uplo: u8,
27138 n: i32,
27139 nrhs: i32,
27140 ap: &mut [c64],
27141 ipiv: &mut [i32],
27142 b: &mut [c64],
27143 ldb: i32,
27144 info: &mut i32,
27145) {
27146 ffi::zspsv_(
27147 &(uplo as c_char),
27148 &n,
27149 &nrhs,
27150 ap.as_mut_ptr() as *mut _,
27151 ipiv.as_mut_ptr(),
27152 b.as_mut_ptr() as *mut _,
27153 &ldb,
27154 info,
27155 )
27156}
27157
27158#[inline]
27159pub unsafe fn cspsvx(
27160 fact: u8,
27161 uplo: u8,
27162 n: i32,
27163 nrhs: i32,
27164 ap: &[c32],
27165 afp: &mut [c32],
27166 ipiv: &mut [i32],
27167 b: &[c32],
27168 ldb: i32,
27169 x: &mut [c32],
27170 ldx: i32,
27171 rcond: &mut f32,
27172 ferr: &mut [f32],
27173 berr: &mut [f32],
27174 work: &mut [c32],
27175 rwork: &mut [f32],
27176 info: &mut i32,
27177) {
27178 ffi::cspsvx_(
27179 &(fact as c_char),
27180 &(uplo as c_char),
27181 &n,
27182 &nrhs,
27183 ap.as_ptr() as *const _,
27184 afp.as_mut_ptr() as *mut _,
27185 ipiv.as_mut_ptr(),
27186 b.as_ptr() as *const _,
27187 &ldb,
27188 x.as_mut_ptr() as *mut _,
27189 &ldx,
27190 rcond,
27191 ferr.as_mut_ptr(),
27192 berr.as_mut_ptr(),
27193 work.as_mut_ptr() as *mut _,
27194 rwork.as_mut_ptr(),
27195 info,
27196 )
27197}
27198
27199#[inline]
27200pub unsafe fn dspsvx(
27201 fact: u8,
27202 uplo: u8,
27203 n: i32,
27204 nrhs: i32,
27205 ap: &[f64],
27206 afp: &mut [f64],
27207 ipiv: &mut [i32],
27208 b: &[f64],
27209 ldb: i32,
27210 x: &mut [f64],
27211 ldx: i32,
27212 rcond: &mut f64,
27213 ferr: &mut [f64],
27214 berr: &mut [f64],
27215 work: &mut [f64],
27216 iwork: &mut [i32],
27217 info: &mut i32,
27218) {
27219 ffi::dspsvx_(
27220 &(fact as c_char),
27221 &(uplo as c_char),
27222 &n,
27223 &nrhs,
27224 ap.as_ptr(),
27225 afp.as_mut_ptr(),
27226 ipiv.as_mut_ptr(),
27227 b.as_ptr(),
27228 &ldb,
27229 x.as_mut_ptr(),
27230 &ldx,
27231 rcond,
27232 ferr.as_mut_ptr(),
27233 berr.as_mut_ptr(),
27234 work.as_mut_ptr(),
27235 iwork.as_mut_ptr(),
27236 info,
27237 )
27238}
27239
27240#[inline]
27241pub unsafe fn sspsvx(
27242 fact: u8,
27243 uplo: u8,
27244 n: i32,
27245 nrhs: i32,
27246 ap: &[f32],
27247 afp: &mut [f32],
27248 ipiv: &mut [i32],
27249 b: &[f32],
27250 ldb: i32,
27251 x: &mut [f32],
27252 ldx: i32,
27253 rcond: &mut f32,
27254 ferr: &mut [f32],
27255 berr: &mut [f32],
27256 work: &mut [f32],
27257 iwork: &mut [i32],
27258 info: &mut i32,
27259) {
27260 ffi::sspsvx_(
27261 &(fact as c_char),
27262 &(uplo as c_char),
27263 &n,
27264 &nrhs,
27265 ap.as_ptr(),
27266 afp.as_mut_ptr(),
27267 ipiv.as_mut_ptr(),
27268 b.as_ptr(),
27269 &ldb,
27270 x.as_mut_ptr(),
27271 &ldx,
27272 rcond,
27273 ferr.as_mut_ptr(),
27274 berr.as_mut_ptr(),
27275 work.as_mut_ptr(),
27276 iwork.as_mut_ptr(),
27277 info,
27278 )
27279}
27280
27281#[inline]
27282pub unsafe fn zspsvx(
27283 fact: u8,
27284 uplo: u8,
27285 n: i32,
27286 nrhs: i32,
27287 ap: &[c64],
27288 afp: &mut [c64],
27289 ipiv: &mut [i32],
27290 b: &[c64],
27291 ldb: i32,
27292 x: &mut [c64],
27293 ldx: i32,
27294 rcond: &mut f64,
27295 ferr: &mut [f64],
27296 berr: &mut [f64],
27297 work: &mut [c64],
27298 rwork: &mut [f64],
27299 info: &mut i32,
27300) {
27301 ffi::zspsvx_(
27302 &(fact as c_char),
27303 &(uplo as c_char),
27304 &n,
27305 &nrhs,
27306 ap.as_ptr() as *const _,
27307 afp.as_mut_ptr() as *mut _,
27308 ipiv.as_mut_ptr(),
27309 b.as_ptr() as *const _,
27310 &ldb,
27311 x.as_mut_ptr() as *mut _,
27312 &ldx,
27313 rcond,
27314 ferr.as_mut_ptr(),
27315 berr.as_mut_ptr(),
27316 work.as_mut_ptr() as *mut _,
27317 rwork.as_mut_ptr(),
27318 info,
27319 )
27320}
27321
27322#[inline]
27323pub unsafe fn dsptrd(
27324 uplo: u8,
27325 n: i32,
27326 ap: &mut [f64],
27327 d: &mut [f64],
27328 e: &mut [f64],
27329 tau: &mut [f64],
27330 info: &mut i32,
27331) {
27332 ffi::dsptrd_(
27333 &(uplo as c_char),
27334 &n,
27335 ap.as_mut_ptr(),
27336 d.as_mut_ptr(),
27337 e.as_mut_ptr(),
27338 tau.as_mut_ptr(),
27339 info,
27340 )
27341}
27342
27343#[inline]
27344pub unsafe fn ssptrd(
27345 uplo: u8,
27346 n: i32,
27347 ap: &mut [f32],
27348 d: &mut [f32],
27349 e: &mut [f32],
27350 tau: &mut [f32],
27351 info: &mut i32,
27352) {
27353 ffi::ssptrd_(
27354 &(uplo as c_char),
27355 &n,
27356 ap.as_mut_ptr(),
27357 d.as_mut_ptr(),
27358 e.as_mut_ptr(),
27359 tau.as_mut_ptr(),
27360 info,
27361 )
27362}
27363
27364#[inline]
27365pub unsafe fn csptrf(uplo: u8, n: i32, ap: &mut [c32], ipiv: &mut [i32], info: &mut i32) {
27366 ffi::csptrf_(
27367 &(uplo as c_char),
27368 &n,
27369 ap.as_mut_ptr() as *mut _,
27370 ipiv.as_mut_ptr(),
27371 info,
27372 )
27373}
27374
27375#[inline]
27376pub unsafe fn dsptrf(uplo: u8, n: i32, ap: &mut [f64], ipiv: &mut [i32], info: &mut i32) {
27377 ffi::dsptrf_(
27378 &(uplo as c_char),
27379 &n,
27380 ap.as_mut_ptr(),
27381 ipiv.as_mut_ptr(),
27382 info,
27383 )
27384}
27385
27386#[inline]
27387pub unsafe fn ssptrf(uplo: u8, n: i32, ap: &mut [f32], ipiv: &mut [i32], info: &mut i32) {
27388 ffi::ssptrf_(
27389 &(uplo as c_char),
27390 &n,
27391 ap.as_mut_ptr(),
27392 ipiv.as_mut_ptr(),
27393 info,
27394 )
27395}
27396
27397#[inline]
27398pub unsafe fn zsptrf(uplo: u8, n: i32, ap: &mut [c64], ipiv: &mut [i32], info: &mut i32) {
27399 ffi::zsptrf_(
27400 &(uplo as c_char),
27401 &n,
27402 ap.as_mut_ptr() as *mut _,
27403 ipiv.as_mut_ptr(),
27404 info,
27405 )
27406}
27407
27408#[inline]
27409pub unsafe fn csptri(
27410 uplo: u8,
27411 n: i32,
27412 ap: &mut [c32],
27413 ipiv: &[i32],
27414 work: &mut [c32],
27415 info: &mut i32,
27416) {
27417 ffi::csptri_(
27418 &(uplo as c_char),
27419 &n,
27420 ap.as_mut_ptr() as *mut _,
27421 ipiv.as_ptr(),
27422 work.as_mut_ptr() as *mut _,
27423 info,
27424 )
27425}
27426
27427#[inline]
27428pub unsafe fn dsptri(
27429 uplo: u8,
27430 n: i32,
27431 ap: &mut [f64],
27432 ipiv: &[i32],
27433 work: &mut [f64],
27434 info: &mut i32,
27435) {
27436 ffi::dsptri_(
27437 &(uplo as c_char),
27438 &n,
27439 ap.as_mut_ptr(),
27440 ipiv.as_ptr(),
27441 work.as_mut_ptr(),
27442 info,
27443 )
27444}
27445
27446#[inline]
27447pub unsafe fn ssptri(
27448 uplo: u8,
27449 n: i32,
27450 ap: &mut [f32],
27451 ipiv: &[i32],
27452 work: &mut [f32],
27453 info: &mut i32,
27454) {
27455 ffi::ssptri_(
27456 &(uplo as c_char),
27457 &n,
27458 ap.as_mut_ptr(),
27459 ipiv.as_ptr(),
27460 work.as_mut_ptr(),
27461 info,
27462 )
27463}
27464
27465#[inline]
27466pub unsafe fn zsptri(
27467 uplo: u8,
27468 n: i32,
27469 ap: &mut [c64],
27470 ipiv: &[i32],
27471 work: &mut [c64],
27472 info: &mut i32,
27473) {
27474 ffi::zsptri_(
27475 &(uplo as c_char),
27476 &n,
27477 ap.as_mut_ptr() as *mut _,
27478 ipiv.as_ptr(),
27479 work.as_mut_ptr() as *mut _,
27480 info,
27481 )
27482}
27483
27484#[inline]
27485pub unsafe fn csptrs(
27486 uplo: u8,
27487 n: i32,
27488 nrhs: i32,
27489 ap: &[c32],
27490 ipiv: &[i32],
27491 b: &mut [c32],
27492 ldb: i32,
27493 info: &mut i32,
27494) {
27495 ffi::csptrs_(
27496 &(uplo as c_char),
27497 &n,
27498 &nrhs,
27499 ap.as_ptr() as *const _,
27500 ipiv.as_ptr(),
27501 b.as_mut_ptr() as *mut _,
27502 &ldb,
27503 info,
27504 )
27505}
27506
27507#[inline]
27508pub unsafe fn dsptrs(
27509 uplo: u8,
27510 n: i32,
27511 nrhs: i32,
27512 ap: &[f64],
27513 ipiv: &[i32],
27514 b: &mut [f64],
27515 ldb: i32,
27516 info: &mut i32,
27517) {
27518 ffi::dsptrs_(
27519 &(uplo as c_char),
27520 &n,
27521 &nrhs,
27522 ap.as_ptr(),
27523 ipiv.as_ptr(),
27524 b.as_mut_ptr(),
27525 &ldb,
27526 info,
27527 )
27528}
27529
27530#[inline]
27531pub unsafe fn ssptrs(
27532 uplo: u8,
27533 n: i32,
27534 nrhs: i32,
27535 ap: &[f32],
27536 ipiv: &[i32],
27537 b: &mut [f32],
27538 ldb: i32,
27539 info: &mut i32,
27540) {
27541 ffi::ssptrs_(
27542 &(uplo as c_char),
27543 &n,
27544 &nrhs,
27545 ap.as_ptr(),
27546 ipiv.as_ptr(),
27547 b.as_mut_ptr(),
27548 &ldb,
27549 info,
27550 )
27551}
27552
27553#[inline]
27554pub unsafe fn zsptrs(
27555 uplo: u8,
27556 n: i32,
27557 nrhs: i32,
27558 ap: &[c64],
27559 ipiv: &[i32],
27560 b: &mut [c64],
27561 ldb: i32,
27562 info: &mut i32,
27563) {
27564 ffi::zsptrs_(
27565 &(uplo as c_char),
27566 &n,
27567 &nrhs,
27568 ap.as_ptr() as *const _,
27569 ipiv.as_ptr(),
27570 b.as_mut_ptr() as *mut _,
27571 &ldb,
27572 info,
27573 )
27574}
27575
27576#[inline]
27577pub unsafe fn dstebz(
27578 range: u8,
27579 order: u8,
27580 n: i32,
27581 vl: f64,
27582 vu: f64,
27583 il: i32,
27584 iu: i32,
27585 abstol: f64,
27586 d: &[f64],
27587 e: &[f64],
27588 m: &mut i32,
27589 nsplit: &mut [i32],
27590 w: &mut [f64],
27591 iblock: &mut [i32],
27592 isplit: &mut [i32],
27593 work: &mut [f64],
27594 iwork: &mut [i32],
27595 info: &mut i32,
27596) {
27597 ffi::dstebz_(
27598 &(range as c_char),
27599 &(order as c_char),
27600 &n,
27601 &vl,
27602 &vu,
27603 &il,
27604 &iu,
27605 &abstol,
27606 d.as_ptr(),
27607 e.as_ptr(),
27608 m,
27609 nsplit.as_mut_ptr(),
27610 w.as_mut_ptr(),
27611 iblock.as_mut_ptr(),
27612 isplit.as_mut_ptr(),
27613 work.as_mut_ptr(),
27614 iwork.as_mut_ptr(),
27615 info,
27616 )
27617}
27618
27619#[inline]
27620pub unsafe fn sstebz(
27621 range: u8,
27622 order: u8,
27623 n: i32,
27624 vl: f32,
27625 vu: f32,
27626 il: i32,
27627 iu: i32,
27628 abstol: f32,
27629 d: &[f32],
27630 e: &[f32],
27631 m: &mut i32,
27632 nsplit: &mut [i32],
27633 w: &mut [f32],
27634 iblock: &mut [i32],
27635 isplit: &mut [i32],
27636 work: &mut [f32],
27637 iwork: &mut [i32],
27638 info: &mut i32,
27639) {
27640 ffi::sstebz_(
27641 &(range as c_char),
27642 &(order as c_char),
27643 &n,
27644 &vl,
27645 &vu,
27646 &il,
27647 &iu,
27648 &abstol,
27649 d.as_ptr(),
27650 e.as_ptr(),
27651 m,
27652 nsplit.as_mut_ptr(),
27653 w.as_mut_ptr(),
27654 iblock.as_mut_ptr(),
27655 isplit.as_mut_ptr(),
27656 work.as_mut_ptr(),
27657 iwork.as_mut_ptr(),
27658 info,
27659 )
27660}
27661
27662#[inline]
27663pub unsafe fn cstedc(
27664 compz: u8,
27665 n: i32,
27666 d: &mut [f32],
27667 e: &mut [f32],
27668 z: &mut [c32],
27669 ldz: i32,
27670 work: &mut [c32],
27671 lwork: i32,
27672 rwork: &mut [f32],
27673 lrwork: i32,
27674 iwork: &mut [i32],
27675 liwork: i32,
27676 info: &mut i32,
27677) {
27678 ffi::cstedc_(
27679 &(compz as c_char),
27680 &n,
27681 d.as_mut_ptr(),
27682 e.as_mut_ptr(),
27683 z.as_mut_ptr() as *mut _,
27684 &ldz,
27685 work.as_mut_ptr() as *mut _,
27686 &lwork,
27687 rwork.as_mut_ptr(),
27688 &lrwork,
27689 iwork.as_mut_ptr(),
27690 &liwork,
27691 info,
27692 )
27693}
27694
27695#[inline]
27696pub unsafe fn dstedc(
27697 compz: u8,
27698 n: i32,
27699 d: &mut [f64],
27700 e: &mut [f64],
27701 z: &mut [f64],
27702 ldz: i32,
27703 work: &mut [f64],
27704 lwork: i32,
27705 iwork: &mut [i32],
27706 liwork: i32,
27707 info: &mut i32,
27708) {
27709 ffi::dstedc_(
27710 &(compz as c_char),
27711 &n,
27712 d.as_mut_ptr(),
27713 e.as_mut_ptr(),
27714 z.as_mut_ptr(),
27715 &ldz,
27716 work.as_mut_ptr(),
27717 &lwork,
27718 iwork.as_mut_ptr(),
27719 &liwork,
27720 info,
27721 )
27722}
27723
27724#[inline]
27725pub unsafe fn sstedc(
27726 compz: u8,
27727 n: i32,
27728 d: &mut [f32],
27729 e: &mut [f32],
27730 z: &mut [f32],
27731 ldz: i32,
27732 work: &mut [f32],
27733 lwork: i32,
27734 iwork: &mut [i32],
27735 liwork: i32,
27736 info: &mut i32,
27737) {
27738 ffi::sstedc_(
27739 &(compz as c_char),
27740 &n,
27741 d.as_mut_ptr(),
27742 e.as_mut_ptr(),
27743 z.as_mut_ptr(),
27744 &ldz,
27745 work.as_mut_ptr(),
27746 &lwork,
27747 iwork.as_mut_ptr(),
27748 &liwork,
27749 info,
27750 )
27751}
27752
27753#[inline]
27754pub unsafe fn zstedc(
27755 compz: u8,
27756 n: i32,
27757 d: &mut [f64],
27758 e: &mut [f64],
27759 z: &mut [c64],
27760 ldz: i32,
27761 work: &mut [c64],
27762 lwork: i32,
27763 rwork: &mut [f64],
27764 lrwork: i32,
27765 iwork: &mut [i32],
27766 liwork: i32,
27767 info: &mut i32,
27768) {
27769 ffi::zstedc_(
27770 &(compz as c_char),
27771 &n,
27772 d.as_mut_ptr(),
27773 e.as_mut_ptr(),
27774 z.as_mut_ptr() as *mut _,
27775 &ldz,
27776 work.as_mut_ptr() as *mut _,
27777 &lwork,
27778 rwork.as_mut_ptr(),
27779 &lrwork,
27780 iwork.as_mut_ptr(),
27781 &liwork,
27782 info,
27783 )
27784}
27785
27786#[inline]
27787pub unsafe fn cstegr(
27788 jobz: u8,
27789 range: u8,
27790 n: i32,
27791 d: &mut [f32],
27792 e: &mut [f32],
27793 vl: f32,
27794 vu: f32,
27795 il: i32,
27796 iu: i32,
27797 abstol: f32,
27798 m: &mut i32,
27799 w: &mut [f32],
27800 z: &mut [c32],
27801 ldz: i32,
27802 isuppz: &mut [i32],
27803 work: &mut [f32],
27804 lwork: i32,
27805 iwork: &mut [i32],
27806 liwork: i32,
27807 info: &mut i32,
27808) {
27809 ffi::cstegr_(
27810 &(jobz as c_char),
27811 &(range as c_char),
27812 &n,
27813 d.as_mut_ptr(),
27814 e.as_mut_ptr(),
27815 &vl,
27816 &vu,
27817 &il,
27818 &iu,
27819 &abstol,
27820 m,
27821 w.as_mut_ptr(),
27822 z.as_mut_ptr() as *mut _,
27823 &ldz,
27824 isuppz.as_mut_ptr(),
27825 work.as_mut_ptr(),
27826 &lwork,
27827 iwork.as_mut_ptr(),
27828 &liwork,
27829 info,
27830 )
27831}
27832
27833#[inline]
27834pub unsafe fn dstegr(
27835 jobz: u8,
27836 range: u8,
27837 n: i32,
27838 d: &mut [f64],
27839 e: &mut [f64],
27840 vl: f64,
27841 vu: f64,
27842 il: i32,
27843 iu: i32,
27844 abstol: f64,
27845 m: &mut i32,
27846 w: &mut [f64],
27847 z: &mut [f64],
27848 ldz: i32,
27849 isuppz: &mut [i32],
27850 work: &mut [f64],
27851 lwork: i32,
27852 iwork: &mut [i32],
27853 liwork: i32,
27854 info: &mut i32,
27855) {
27856 ffi::dstegr_(
27857 &(jobz as c_char),
27858 &(range as c_char),
27859 &n,
27860 d.as_mut_ptr(),
27861 e.as_mut_ptr(),
27862 &vl,
27863 &vu,
27864 &il,
27865 &iu,
27866 &abstol,
27867 m,
27868 w.as_mut_ptr(),
27869 z.as_mut_ptr(),
27870 &ldz,
27871 isuppz.as_mut_ptr(),
27872 work.as_mut_ptr(),
27873 &lwork,
27874 iwork.as_mut_ptr(),
27875 &liwork,
27876 info,
27877 )
27878}
27879
27880#[inline]
27881pub unsafe fn sstegr(
27882 jobz: u8,
27883 range: u8,
27884 n: i32,
27885 d: &mut [f32],
27886 e: &mut [f32],
27887 vl: f32,
27888 vu: f32,
27889 il: i32,
27890 iu: i32,
27891 abstol: f32,
27892 m: &mut i32,
27893 w: &mut [f32],
27894 z: &mut [f32],
27895 ldz: i32,
27896 isuppz: &mut [i32],
27897 work: &mut [f32],
27898 lwork: i32,
27899 iwork: &mut [i32],
27900 liwork: i32,
27901 info: &mut i32,
27902) {
27903 ffi::sstegr_(
27904 &(jobz as c_char),
27905 &(range as c_char),
27906 &n,
27907 d.as_mut_ptr(),
27908 e.as_mut_ptr(),
27909 &vl,
27910 &vu,
27911 &il,
27912 &iu,
27913 &abstol,
27914 m,
27915 w.as_mut_ptr(),
27916 z.as_mut_ptr(),
27917 &ldz,
27918 isuppz.as_mut_ptr(),
27919 work.as_mut_ptr(),
27920 &lwork,
27921 iwork.as_mut_ptr(),
27922 &liwork,
27923 info,
27924 )
27925}
27926
27927#[inline]
27928pub unsafe fn zstegr(
27929 jobz: u8,
27930 range: u8,
27931 n: i32,
27932 d: &mut [f64],
27933 e: &mut [f64],
27934 vl: f64,
27935 vu: f64,
27936 il: i32,
27937 iu: i32,
27938 abstol: f64,
27939 m: &mut i32,
27940 w: &mut [f64],
27941 z: &mut [c64],
27942 ldz: i32,
27943 isuppz: &mut [i32],
27944 work: &mut [f64],
27945 lwork: i32,
27946 iwork: &mut [i32],
27947 liwork: i32,
27948 info: &mut i32,
27949) {
27950 ffi::zstegr_(
27951 &(jobz as c_char),
27952 &(range as c_char),
27953 &n,
27954 d.as_mut_ptr(),
27955 e.as_mut_ptr(),
27956 &vl,
27957 &vu,
27958 &il,
27959 &iu,
27960 &abstol,
27961 m,
27962 w.as_mut_ptr(),
27963 z.as_mut_ptr() as *mut _,
27964 &ldz,
27965 isuppz.as_mut_ptr(),
27966 work.as_mut_ptr(),
27967 &lwork,
27968 iwork.as_mut_ptr(),
27969 &liwork,
27970 info,
27971 )
27972}
27973
27974#[inline]
27975pub unsafe fn cstein(
27976 n: i32,
27977 d: &[f32],
27978 e: &[f32],
27979 m: i32,
27980 w: &[f32],
27981 iblock: &[i32],
27982 isplit: &[i32],
27983 z: &mut [c32],
27984 ldz: i32,
27985 work: &mut [f32],
27986 iwork: &mut [i32],
27987 ifail: &mut [i32],
27988 info: &mut i32,
27989) {
27990 ffi::cstein_(
27991 &n,
27992 d.as_ptr(),
27993 e.as_ptr(),
27994 &m,
27995 w.as_ptr(),
27996 iblock.as_ptr(),
27997 isplit.as_ptr(),
27998 z.as_mut_ptr() as *mut _,
27999 &ldz,
28000 work.as_mut_ptr(),
28001 iwork.as_mut_ptr(),
28002 ifail.as_mut_ptr(),
28003 info,
28004 )
28005}
28006
28007#[inline]
28008pub unsafe fn dstein(
28009 n: i32,
28010 d: &[f64],
28011 e: &[f64],
28012 m: i32,
28013 w: &[f64],
28014 iblock: &[i32],
28015 isplit: &[i32],
28016 z: &mut [f64],
28017 ldz: i32,
28018 work: &mut [f64],
28019 iwork: &mut [i32],
28020 ifail: &mut [i32],
28021 info: &mut i32,
28022) {
28023 ffi::dstein_(
28024 &n,
28025 d.as_ptr(),
28026 e.as_ptr(),
28027 &m,
28028 w.as_ptr(),
28029 iblock.as_ptr(),
28030 isplit.as_ptr(),
28031 z.as_mut_ptr(),
28032 &ldz,
28033 work.as_mut_ptr(),
28034 iwork.as_mut_ptr(),
28035 ifail.as_mut_ptr(),
28036 info,
28037 )
28038}
28039
28040#[inline]
28041pub unsafe fn sstein(
28042 n: i32,
28043 d: &[f32],
28044 e: &[f32],
28045 m: i32,
28046 w: &[f32],
28047 iblock: &[i32],
28048 isplit: &[i32],
28049 z: &mut [f32],
28050 ldz: i32,
28051 work: &mut [f32],
28052 iwork: &mut [i32],
28053 ifail: &mut [i32],
28054 info: &mut i32,
28055) {
28056 ffi::sstein_(
28057 &n,
28058 d.as_ptr(),
28059 e.as_ptr(),
28060 &m,
28061 w.as_ptr(),
28062 iblock.as_ptr(),
28063 isplit.as_ptr(),
28064 z.as_mut_ptr(),
28065 &ldz,
28066 work.as_mut_ptr(),
28067 iwork.as_mut_ptr(),
28068 ifail.as_mut_ptr(),
28069 info,
28070 )
28071}
28072
28073#[inline]
28074pub unsafe fn zstein(
28075 n: i32,
28076 d: &[f64],
28077 e: &[f64],
28078 m: i32,
28079 w: &[f64],
28080 iblock: &[i32],
28081 isplit: &[i32],
28082 z: &mut [c64],
28083 ldz: i32,
28084 work: &mut [f64],
28085 iwork: &mut [i32],
28086 ifail: &mut [i32],
28087 info: &mut i32,
28088) {
28089 ffi::zstein_(
28090 &n,
28091 d.as_ptr(),
28092 e.as_ptr(),
28093 &m,
28094 w.as_ptr(),
28095 iblock.as_ptr(),
28096 isplit.as_ptr(),
28097 z.as_mut_ptr() as *mut _,
28098 &ldz,
28099 work.as_mut_ptr(),
28100 iwork.as_mut_ptr(),
28101 ifail.as_mut_ptr(),
28102 info,
28103 )
28104}
28105
28106#[inline]
28107pub unsafe fn cstemr(
28108 jobz: u8,
28109 range: u8,
28110 n: i32,
28111 d: &mut [f32],
28112 e: &mut [f32],
28113 vl: f32,
28114 vu: f32,
28115 il: i32,
28116 iu: i32,
28117 m: &mut i32,
28118 w: &mut [f32],
28119 z: &mut [c32],
28120 ldz: i32,
28121 nzc: &[i32],
28122 isuppz: &mut [i32],
28123 tryrac: &mut i32,
28124 work: &mut [f32],
28125 lwork: i32,
28126 iwork: &mut [i32],
28127 liwork: i32,
28128 info: &mut i32,
28129) {
28130 ffi::cstemr_(
28131 &(jobz as c_char),
28132 &(range as c_char),
28133 &n,
28134 d.as_mut_ptr(),
28135 e.as_mut_ptr(),
28136 &vl,
28137 &vu,
28138 &il,
28139 &iu,
28140 m,
28141 w.as_mut_ptr(),
28142 z.as_mut_ptr() as *mut _,
28143 &ldz,
28144 nzc.as_ptr(),
28145 isuppz.as_mut_ptr(),
28146 tryrac,
28147 work.as_mut_ptr(),
28148 &lwork,
28149 iwork.as_mut_ptr(),
28150 &liwork,
28151 info,
28152 )
28153}
28154
28155#[inline]
28156pub unsafe fn dstemr(
28157 jobz: u8,
28158 range: u8,
28159 n: i32,
28160 d: &mut [f64],
28161 e: &mut [f64],
28162 vl: f64,
28163 vu: f64,
28164 il: i32,
28165 iu: i32,
28166 m: &mut i32,
28167 w: &mut [f64],
28168 z: &mut [f64],
28169 ldz: i32,
28170 nzc: &[i32],
28171 isuppz: &mut [i32],
28172 tryrac: &mut i32,
28173 work: &mut [f64],
28174 lwork: i32,
28175 iwork: &mut [i32],
28176 liwork: i32,
28177 info: &mut i32,
28178) {
28179 ffi::dstemr_(
28180 &(jobz as c_char),
28181 &(range as c_char),
28182 &n,
28183 d.as_mut_ptr(),
28184 e.as_mut_ptr(),
28185 &vl,
28186 &vu,
28187 &il,
28188 &iu,
28189 m,
28190 w.as_mut_ptr(),
28191 z.as_mut_ptr(),
28192 &ldz,
28193 nzc.as_ptr(),
28194 isuppz.as_mut_ptr(),
28195 tryrac,
28196 work.as_mut_ptr(),
28197 &lwork,
28198 iwork.as_mut_ptr(),
28199 &liwork,
28200 info,
28201 )
28202}
28203
28204#[inline]
28205pub unsafe fn sstemr(
28206 jobz: u8,
28207 range: u8,
28208 n: i32,
28209 d: &mut [f32],
28210 e: &mut [f32],
28211 vl: f32,
28212 vu: f32,
28213 il: i32,
28214 iu: i32,
28215 m: &mut i32,
28216 w: &mut [f32],
28217 z: &mut [f32],
28218 ldz: i32,
28219 nzc: &[i32],
28220 isuppz: &mut [i32],
28221 tryrac: &mut i32,
28222 work: &mut [f32],
28223 lwork: i32,
28224 iwork: &mut [i32],
28225 liwork: i32,
28226 info: &mut i32,
28227) {
28228 ffi::sstemr_(
28229 &(jobz as c_char),
28230 &(range as c_char),
28231 &n,
28232 d.as_mut_ptr(),
28233 e.as_mut_ptr(),
28234 &vl,
28235 &vu,
28236 &il,
28237 &iu,
28238 m,
28239 w.as_mut_ptr(),
28240 z.as_mut_ptr(),
28241 &ldz,
28242 nzc.as_ptr(),
28243 isuppz.as_mut_ptr(),
28244 tryrac,
28245 work.as_mut_ptr(),
28246 &lwork,
28247 iwork.as_mut_ptr(),
28248 &liwork,
28249 info,
28250 )
28251}
28252
28253#[inline]
28254pub unsafe fn zstemr(
28255 jobz: u8,
28256 range: u8,
28257 n: i32,
28258 d: &mut [f64],
28259 e: &mut [f64],
28260 vl: f64,
28261 vu: f64,
28262 il: i32,
28263 iu: i32,
28264 m: &mut i32,
28265 w: &mut [f64],
28266 z: &mut [c64],
28267 ldz: i32,
28268 nzc: &[i32],
28269 isuppz: &mut [i32],
28270 tryrac: &mut i32,
28271 work: &mut [f64],
28272 lwork: i32,
28273 iwork: &mut [i32],
28274 liwork: i32,
28275 info: &mut i32,
28276) {
28277 ffi::zstemr_(
28278 &(jobz as c_char),
28279 &(range as c_char),
28280 &n,
28281 d.as_mut_ptr(),
28282 e.as_mut_ptr(),
28283 &vl,
28284 &vu,
28285 &il,
28286 &iu,
28287 m,
28288 w.as_mut_ptr(),
28289 z.as_mut_ptr() as *mut _,
28290 &ldz,
28291 nzc.as_ptr(),
28292 isuppz.as_mut_ptr(),
28293 tryrac,
28294 work.as_mut_ptr(),
28295 &lwork,
28296 iwork.as_mut_ptr(),
28297 &liwork,
28298 info,
28299 )
28300}
28301
28302#[inline]
28303pub unsafe fn csteqr(
28304 compz: u8,
28305 n: i32,
28306 d: &mut [f32],
28307 e: &mut [f32],
28308 z: &mut [c32],
28309 ldz: i32,
28310 work: &mut [f32],
28311 info: &mut i32,
28312) {
28313 ffi::csteqr_(
28314 &(compz as c_char),
28315 &n,
28316 d.as_mut_ptr(),
28317 e.as_mut_ptr(),
28318 z.as_mut_ptr() as *mut _,
28319 &ldz,
28320 work.as_mut_ptr(),
28321 info,
28322 )
28323}
28324
28325#[inline]
28326pub unsafe fn dsteqr(
28327 compz: u8,
28328 n: i32,
28329 d: &mut [f64],
28330 e: &mut [f64],
28331 z: &mut [f64],
28332 ldz: i32,
28333 work: &mut [f64],
28334 info: &mut i32,
28335) {
28336 ffi::dsteqr_(
28337 &(compz as c_char),
28338 &n,
28339 d.as_mut_ptr(),
28340 e.as_mut_ptr(),
28341 z.as_mut_ptr(),
28342 &ldz,
28343 work.as_mut_ptr(),
28344 info,
28345 )
28346}
28347
28348#[inline]
28349pub unsafe fn ssteqr(
28350 compz: u8,
28351 n: i32,
28352 d: &mut [f32],
28353 e: &mut [f32],
28354 z: &mut [f32],
28355 ldz: i32,
28356 work: &mut [f32],
28357 info: &mut i32,
28358) {
28359 ffi::ssteqr_(
28360 &(compz as c_char),
28361 &n,
28362 d.as_mut_ptr(),
28363 e.as_mut_ptr(),
28364 z.as_mut_ptr(),
28365 &ldz,
28366 work.as_mut_ptr(),
28367 info,
28368 )
28369}
28370
28371#[inline]
28372pub unsafe fn zsteqr(
28373 compz: u8,
28374 n: i32,
28375 d: &mut [f64],
28376 e: &mut [f64],
28377 z: &mut [c64],
28378 ldz: i32,
28379 work: &mut [f64],
28380 info: &mut i32,
28381) {
28382 ffi::zsteqr_(
28383 &(compz as c_char),
28384 &n,
28385 d.as_mut_ptr(),
28386 e.as_mut_ptr(),
28387 z.as_mut_ptr() as *mut _,
28388 &ldz,
28389 work.as_mut_ptr(),
28390 info,
28391 )
28392}
28393
28394#[inline]
28395pub unsafe fn dsterf(n: i32, d: &mut [f64], e: &mut [f64], info: &mut i32) {
28396 ffi::dsterf_(&n, d.as_mut_ptr(), e.as_mut_ptr(), info)
28397}
28398
28399#[inline]
28400pub unsafe fn ssterf(n: i32, d: &mut [f32], e: &mut [f32], info: &mut i32) {
28401 ffi::ssterf_(&n, d.as_mut_ptr(), e.as_mut_ptr(), info)
28402}
28403
28404#[inline]
28405pub unsafe fn dstev(
28406 jobz: u8,
28407 n: i32,
28408 d: &mut [f64],
28409 e: &mut [f64],
28410 z: &mut [f64],
28411 ldz: i32,
28412 work: &mut [f64],
28413 info: &mut i32,
28414) {
28415 ffi::dstev_(
28416 &(jobz as c_char),
28417 &n,
28418 d.as_mut_ptr(),
28419 e.as_mut_ptr(),
28420 z.as_mut_ptr(),
28421 &ldz,
28422 work.as_mut_ptr(),
28423 info,
28424 )
28425}
28426
28427#[inline]
28428pub unsafe fn sstev(
28429 jobz: u8,
28430 n: i32,
28431 d: &mut [f32],
28432 e: &mut [f32],
28433 z: &mut [f32],
28434 ldz: i32,
28435 work: &mut [f32],
28436 info: &mut i32,
28437) {
28438 ffi::sstev_(
28439 &(jobz as c_char),
28440 &n,
28441 d.as_mut_ptr(),
28442 e.as_mut_ptr(),
28443 z.as_mut_ptr(),
28444 &ldz,
28445 work.as_mut_ptr(),
28446 info,
28447 )
28448}
28449
28450#[inline]
28451pub unsafe fn dstevd(
28452 jobz: u8,
28453 n: i32,
28454 d: &mut [f64],
28455 e: &mut [f64],
28456 z: &mut [f64],
28457 ldz: i32,
28458 work: &mut [f64],
28459 lwork: i32,
28460 iwork: &mut [i32],
28461 liwork: i32,
28462 info: &mut i32,
28463) {
28464 ffi::dstevd_(
28465 &(jobz as c_char),
28466 &n,
28467 d.as_mut_ptr(),
28468 e.as_mut_ptr(),
28469 z.as_mut_ptr(),
28470 &ldz,
28471 work.as_mut_ptr(),
28472 &lwork,
28473 iwork.as_mut_ptr(),
28474 &liwork,
28475 info,
28476 )
28477}
28478
28479#[inline]
28480pub unsafe fn sstevd(
28481 jobz: u8,
28482 n: i32,
28483 d: &mut [f32],
28484 e: &mut [f32],
28485 z: &mut [f32],
28486 ldz: i32,
28487 work: &mut [f32],
28488 lwork: i32,
28489 iwork: &mut [i32],
28490 liwork: i32,
28491 info: &mut i32,
28492) {
28493 ffi::sstevd_(
28494 &(jobz as c_char),
28495 &n,
28496 d.as_mut_ptr(),
28497 e.as_mut_ptr(),
28498 z.as_mut_ptr(),
28499 &ldz,
28500 work.as_mut_ptr(),
28501 &lwork,
28502 iwork.as_mut_ptr(),
28503 &liwork,
28504 info,
28505 )
28506}
28507
28508#[inline]
28509pub unsafe fn dstevr(
28510 jobz: u8,
28511 range: u8,
28512 n: i32,
28513 d: &mut [f64],
28514 e: &mut [f64],
28515 vl: f64,
28516 vu: f64,
28517 il: i32,
28518 iu: i32,
28519 abstol: f64,
28520 m: &mut i32,
28521 w: &mut [f64],
28522 z: &mut [f64],
28523 ldz: i32,
28524 isuppz: &mut [i32],
28525 work: &mut [f64],
28526 lwork: i32,
28527 iwork: &mut [i32],
28528 liwork: i32,
28529 info: &mut i32,
28530) {
28531 ffi::dstevr_(
28532 &(jobz as c_char),
28533 &(range as c_char),
28534 &n,
28535 d.as_mut_ptr(),
28536 e.as_mut_ptr(),
28537 &vl,
28538 &vu,
28539 &il,
28540 &iu,
28541 &abstol,
28542 m,
28543 w.as_mut_ptr(),
28544 z.as_mut_ptr(),
28545 &ldz,
28546 isuppz.as_mut_ptr(),
28547 work.as_mut_ptr(),
28548 &lwork,
28549 iwork.as_mut_ptr(),
28550 &liwork,
28551 info,
28552 )
28553}
28554
28555#[inline]
28556pub unsafe fn sstevr(
28557 jobz: u8,
28558 range: u8,
28559 n: i32,
28560 d: &mut [f32],
28561 e: &mut [f32],
28562 vl: f32,
28563 vu: f32,
28564 il: i32,
28565 iu: i32,
28566 abstol: f32,
28567 m: &mut i32,
28568 w: &mut [f32],
28569 z: &mut [f32],
28570 ldz: i32,
28571 isuppz: &mut [i32],
28572 work: &mut [f32],
28573 lwork: i32,
28574 iwork: &mut [i32],
28575 liwork: i32,
28576 info: &mut i32,
28577) {
28578 ffi::sstevr_(
28579 &(jobz as c_char),
28580 &(range as c_char),
28581 &n,
28582 d.as_mut_ptr(),
28583 e.as_mut_ptr(),
28584 &vl,
28585 &vu,
28586 &il,
28587 &iu,
28588 &abstol,
28589 m,
28590 w.as_mut_ptr(),
28591 z.as_mut_ptr(),
28592 &ldz,
28593 isuppz.as_mut_ptr(),
28594 work.as_mut_ptr(),
28595 &lwork,
28596 iwork.as_mut_ptr(),
28597 &liwork,
28598 info,
28599 )
28600}
28601
28602#[inline]
28603pub unsafe fn dstevx(
28604 jobz: u8,
28605 range: u8,
28606 n: i32,
28607 d: &mut [f64],
28608 e: &mut [f64],
28609 vl: f64,
28610 vu: f64,
28611 il: i32,
28612 iu: i32,
28613 abstol: f64,
28614 m: &mut i32,
28615 w: &mut [f64],
28616 z: &mut [f64],
28617 ldz: i32,
28618 work: &mut [f64],
28619 iwork: &mut [i32],
28620 ifail: &mut [i32],
28621 info: &mut i32,
28622) {
28623 ffi::dstevx_(
28624 &(jobz as c_char),
28625 &(range as c_char),
28626 &n,
28627 d.as_mut_ptr(),
28628 e.as_mut_ptr(),
28629 &vl,
28630 &vu,
28631 &il,
28632 &iu,
28633 &abstol,
28634 m,
28635 w.as_mut_ptr(),
28636 z.as_mut_ptr(),
28637 &ldz,
28638 work.as_mut_ptr(),
28639 iwork.as_mut_ptr(),
28640 ifail.as_mut_ptr(),
28641 info,
28642 )
28643}
28644
28645#[inline]
28646pub unsafe fn sstevx(
28647 jobz: u8,
28648 range: u8,
28649 n: i32,
28650 d: &mut [f32],
28651 e: &mut [f32],
28652 vl: f32,
28653 vu: f32,
28654 il: i32,
28655 iu: i32,
28656 abstol: f32,
28657 m: &mut i32,
28658 w: &mut [f32],
28659 z: &mut [f32],
28660 ldz: i32,
28661 work: &mut [f32],
28662 iwork: &mut [i32],
28663 ifail: &mut [i32],
28664 info: &mut i32,
28665) {
28666 ffi::sstevx_(
28667 &(jobz as c_char),
28668 &(range as c_char),
28669 &n,
28670 d.as_mut_ptr(),
28671 e.as_mut_ptr(),
28672 &vl,
28673 &vu,
28674 &il,
28675 &iu,
28676 &abstol,
28677 m,
28678 w.as_mut_ptr(),
28679 z.as_mut_ptr(),
28680 &ldz,
28681 work.as_mut_ptr(),
28682 iwork.as_mut_ptr(),
28683 ifail.as_mut_ptr(),
28684 info,
28685 )
28686}
28687
28688#[inline]
28689pub unsafe fn csycon(
28690 uplo: u8,
28691 n: i32,
28692 a: &[c32],
28693 lda: i32,
28694 ipiv: &[i32],
28695 anorm: f32,
28696 rcond: &mut f32,
28697 work: &mut [c32],
28698 info: &mut i32,
28699) {
28700 ffi::csycon_(
28701 &(uplo as c_char),
28702 &n,
28703 a.as_ptr() as *const _,
28704 &lda,
28705 ipiv.as_ptr(),
28706 &anorm,
28707 rcond,
28708 work.as_mut_ptr() as *mut _,
28709 info,
28710 )
28711}
28712
28713#[inline]
28714pub unsafe fn dsycon(
28715 uplo: u8,
28716 n: i32,
28717 a: &[f64],
28718 lda: i32,
28719 ipiv: &[i32],
28720 anorm: f64,
28721 rcond: &mut f64,
28722 work: &mut [f64],
28723 iwork: &mut [i32],
28724 info: &mut i32,
28725) {
28726 ffi::dsycon_(
28727 &(uplo as c_char),
28728 &n,
28729 a.as_ptr(),
28730 &lda,
28731 ipiv.as_ptr(),
28732 &anorm,
28733 rcond,
28734 work.as_mut_ptr(),
28735 iwork.as_mut_ptr(),
28736 info,
28737 )
28738}
28739
28740#[inline]
28741pub unsafe fn ssycon(
28742 uplo: u8,
28743 n: i32,
28744 a: &[f32],
28745 lda: i32,
28746 ipiv: &[i32],
28747 anorm: f32,
28748 rcond: &mut f32,
28749 work: &mut [f32],
28750 iwork: &mut [i32],
28751 info: &mut i32,
28752) {
28753 ffi::ssycon_(
28754 &(uplo as c_char),
28755 &n,
28756 a.as_ptr(),
28757 &lda,
28758 ipiv.as_ptr(),
28759 &anorm,
28760 rcond,
28761 work.as_mut_ptr(),
28762 iwork.as_mut_ptr(),
28763 info,
28764 )
28765}
28766
28767#[inline]
28768pub unsafe fn zsycon(
28769 uplo: u8,
28770 n: i32,
28771 a: &[c64],
28772 lda: i32,
28773 ipiv: &[i32],
28774 anorm: f64,
28775 rcond: &mut f64,
28776 work: &mut [c64],
28777 info: &mut i32,
28778) {
28779 ffi::zsycon_(
28780 &(uplo as c_char),
28781 &n,
28782 a.as_ptr() as *const _,
28783 &lda,
28784 ipiv.as_ptr(),
28785 &anorm,
28786 rcond,
28787 work.as_mut_ptr() as *mut _,
28788 info,
28789 )
28790}
28791
28792#[inline]
28793pub unsafe fn csycon_3(
28794 uplo: u8,
28795 n: i32,
28796 a: &[c32],
28797 lda: i32,
28798 e: &[c32],
28799 ipiv: &[i32],
28800 anorm: f32,
28801 rcond: &mut f32,
28802 work: &mut [c32],
28803 info: &mut i32,
28804) {
28805 ffi::csycon_3_(
28806 &(uplo as c_char),
28807 &n,
28808 a.as_ptr() as *const _,
28809 &lda,
28810 e.as_ptr() as *const _,
28811 ipiv.as_ptr(),
28812 &anorm,
28813 rcond,
28814 work.as_mut_ptr() as *mut _,
28815 info,
28816 )
28817}
28818
28819#[inline]
28820pub unsafe fn dsycon_3(
28821 uplo: u8,
28822 n: i32,
28823 a: &[f64],
28824 lda: i32,
28825 e: &[f64],
28826 ipiv: &[i32],
28827 anorm: f64,
28828 rcond: &mut f64,
28829 work: &mut [f64],
28830 iwork: &mut [i32],
28831 info: &mut i32,
28832) {
28833 ffi::dsycon_3_(
28834 &(uplo as c_char),
28835 &n,
28836 a.as_ptr(),
28837 &lda,
28838 e.as_ptr(),
28839 ipiv.as_ptr(),
28840 &anorm,
28841 rcond,
28842 work.as_mut_ptr(),
28843 iwork.as_mut_ptr(),
28844 info,
28845 )
28846}
28847
28848#[inline]
28849pub unsafe fn ssycon_3(
28850 uplo: u8,
28851 n: i32,
28852 a: &[f32],
28853 lda: i32,
28854 e: &[f32],
28855 ipiv: &[i32],
28856 anorm: f32,
28857 rcond: &mut f32,
28858 work: &mut [f32],
28859 iwork: &mut [i32],
28860 info: &mut i32,
28861) {
28862 ffi::ssycon_3_(
28863 &(uplo as c_char),
28864 &n,
28865 a.as_ptr(),
28866 &lda,
28867 e.as_ptr(),
28868 ipiv.as_ptr(),
28869 &anorm,
28870 rcond,
28871 work.as_mut_ptr(),
28872 iwork.as_mut_ptr(),
28873 info,
28874 )
28875}
28876
28877#[inline]
28878pub unsafe fn zsycon_3(
28879 uplo: u8,
28880 n: i32,
28881 a: &[c64],
28882 lda: i32,
28883 e: &[c64],
28884 ipiv: &[i32],
28885 anorm: f64,
28886 rcond: &mut f64,
28887 work: &mut [c64],
28888 info: &mut i32,
28889) {
28890 ffi::zsycon_3_(
28891 &(uplo as c_char),
28892 &n,
28893 a.as_ptr() as *const _,
28894 &lda,
28895 e.as_ptr() as *const _,
28896 ipiv.as_ptr(),
28897 &anorm,
28898 rcond,
28899 work.as_mut_ptr() as *mut _,
28900 info,
28901 )
28902}
28903
28904#[inline]
28905pub unsafe fn csyconv(
28906 uplo: u8,
28907 way: u8,
28908 n: i32,
28909 a: &mut [c32],
28910 lda: i32,
28911 ipiv: &[i32],
28912 e: &mut [c32],
28913 info: &mut i32,
28914) {
28915 ffi::csyconv_(
28916 &(uplo as c_char),
28917 &(way as c_char),
28918 &n,
28919 a.as_mut_ptr() as *mut _,
28920 &lda,
28921 ipiv.as_ptr(),
28922 e.as_mut_ptr() as *mut _,
28923 info,
28924 )
28925}
28926
28927#[inline]
28928pub unsafe fn dsyconv(
28929 uplo: u8,
28930 way: u8,
28931 n: i32,
28932 a: &mut [f64],
28933 lda: i32,
28934 ipiv: &[i32],
28935 e: &mut [f64],
28936 info: &mut i32,
28937) {
28938 ffi::dsyconv_(
28939 &(uplo as c_char),
28940 &(way as c_char),
28941 &n,
28942 a.as_mut_ptr(),
28943 &lda,
28944 ipiv.as_ptr(),
28945 e.as_mut_ptr(),
28946 info,
28947 )
28948}
28949
28950#[inline]
28951pub unsafe fn ssyconv(
28952 uplo: u8,
28953 way: u8,
28954 n: i32,
28955 a: &mut [f32],
28956 lda: i32,
28957 ipiv: &[i32],
28958 e: &mut [f32],
28959 info: &mut i32,
28960) {
28961 ffi::ssyconv_(
28962 &(uplo as c_char),
28963 &(way as c_char),
28964 &n,
28965 a.as_mut_ptr(),
28966 &lda,
28967 ipiv.as_ptr(),
28968 e.as_mut_ptr(),
28969 info,
28970 )
28971}
28972
28973#[inline]
28974pub unsafe fn zsyconv(
28975 uplo: u8,
28976 way: u8,
28977 n: i32,
28978 a: &mut [c64],
28979 lda: i32,
28980 ipiv: &[i32],
28981 e: &mut [c64],
28982 info: &mut i32,
28983) {
28984 ffi::zsyconv_(
28985 &(uplo as c_char),
28986 &(way as c_char),
28987 &n,
28988 a.as_mut_ptr() as *mut _,
28989 &lda,
28990 ipiv.as_ptr(),
28991 e.as_mut_ptr() as *mut _,
28992 info,
28993 )
28994}
28995
28996#[inline]
28997pub unsafe fn csyequb(
28998 uplo: u8,
28999 n: i32,
29000 a: &[c32],
29001 lda: i32,
29002 s: &mut [f32],
29003 scond: &mut [f32],
29004 amax: &mut f32,
29005 work: &mut [c32],
29006 info: &mut i32,
29007) {
29008 ffi::csyequb_(
29009 &(uplo as c_char),
29010 &n,
29011 a.as_ptr() as *const _,
29012 &lda,
29013 s.as_mut_ptr(),
29014 scond.as_mut_ptr(),
29015 amax,
29016 work.as_mut_ptr() as *mut _,
29017 info,
29018 )
29019}
29020
29021#[inline]
29022pub unsafe fn dsyequb(
29023 uplo: u8,
29024 n: i32,
29025 a: &[f64],
29026 lda: i32,
29027 s: &mut [f64],
29028 scond: &mut [f64],
29029 amax: &mut f64,
29030 work: &mut [f64],
29031 info: &mut i32,
29032) {
29033 ffi::dsyequb_(
29034 &(uplo as c_char),
29035 &n,
29036 a.as_ptr(),
29037 &lda,
29038 s.as_mut_ptr(),
29039 scond.as_mut_ptr(),
29040 amax,
29041 work.as_mut_ptr(),
29042 info,
29043 )
29044}
29045
29046#[inline]
29047pub unsafe fn ssyequb(
29048 uplo: u8,
29049 n: i32,
29050 a: &[f32],
29051 lda: i32,
29052 s: &mut [f32],
29053 scond: &mut [f32],
29054 amax: &mut f32,
29055 work: &mut [f32],
29056 info: &mut i32,
29057) {
29058 ffi::ssyequb_(
29059 &(uplo as c_char),
29060 &n,
29061 a.as_ptr(),
29062 &lda,
29063 s.as_mut_ptr(),
29064 scond.as_mut_ptr(),
29065 amax,
29066 work.as_mut_ptr(),
29067 info,
29068 )
29069}
29070
29071#[inline]
29072pub unsafe fn zsyequb(
29073 uplo: u8,
29074 n: i32,
29075 a: &[c64],
29076 lda: i32,
29077 s: &mut [f64],
29078 scond: &mut [f64],
29079 amax: &mut f64,
29080 work: &mut [c64],
29081 info: &mut i32,
29082) {
29083 ffi::zsyequb_(
29084 &(uplo as c_char),
29085 &n,
29086 a.as_ptr() as *const _,
29087 &lda,
29088 s.as_mut_ptr(),
29089 scond.as_mut_ptr(),
29090 amax,
29091 work.as_mut_ptr() as *mut _,
29092 info,
29093 )
29094}
29095
29096#[inline]
29097pub unsafe fn dsyev(
29098 jobz: u8,
29099 uplo: u8,
29100 n: i32,
29101 a: &mut [f64],
29102 lda: i32,
29103 w: &mut [f64],
29104 work: &mut [f64],
29105 lwork: i32,
29106 info: &mut i32,
29107) {
29108 ffi::dsyev_(
29109 &(jobz as c_char),
29110 &(uplo as c_char),
29111 &n,
29112 a.as_mut_ptr(),
29113 &lda,
29114 w.as_mut_ptr(),
29115 work.as_mut_ptr(),
29116 &lwork,
29117 info,
29118 )
29119}
29120
29121#[inline]
29122pub unsafe fn ssyev(
29123 jobz: u8,
29124 uplo: u8,
29125 n: i32,
29126 a: &mut [f32],
29127 lda: i32,
29128 w: &mut [f32],
29129 work: &mut [f32],
29130 lwork: i32,
29131 info: &mut i32,
29132) {
29133 ffi::ssyev_(
29134 &(jobz as c_char),
29135 &(uplo as c_char),
29136 &n,
29137 a.as_mut_ptr(),
29138 &lda,
29139 w.as_mut_ptr(),
29140 work.as_mut_ptr(),
29141 &lwork,
29142 info,
29143 )
29144}
29145
29146#[inline]
29147pub unsafe fn dsyev_2stage(
29148 jobz: u8,
29149 uplo: u8,
29150 n: i32,
29151 a: &mut [f64],
29152 lda: i32,
29153 w: &mut [f64],
29154 work: &mut [f64],
29155 lwork: i32,
29156 info: &mut i32,
29157) {
29158 ffi::dsyev_2stage_(
29159 &(jobz as c_char),
29160 &(uplo as c_char),
29161 &n,
29162 a.as_mut_ptr(),
29163 &lda,
29164 w.as_mut_ptr(),
29165 work.as_mut_ptr(),
29166 &lwork,
29167 info,
29168 )
29169}
29170
29171#[inline]
29172pub unsafe fn ssyev_2stage(
29173 jobz: u8,
29174 uplo: u8,
29175 n: i32,
29176 a: &mut [f32],
29177 lda: i32,
29178 w: &mut [f32],
29179 work: &mut [f32],
29180 lwork: i32,
29181 info: &mut i32,
29182) {
29183 ffi::ssyev_2stage_(
29184 &(jobz as c_char),
29185 &(uplo as c_char),
29186 &n,
29187 a.as_mut_ptr(),
29188 &lda,
29189 w.as_mut_ptr(),
29190 work.as_mut_ptr(),
29191 &lwork,
29192 info,
29193 )
29194}
29195
29196#[inline]
29197pub unsafe fn dsyevd(
29198 jobz: u8,
29199 uplo: u8,
29200 n: i32,
29201 a: &mut [f64],
29202 lda: i32,
29203 w: &mut [f64],
29204 work: &mut [f64],
29205 lwork: i32,
29206 iwork: &mut [i32],
29207 liwork: i32,
29208 info: &mut i32,
29209) {
29210 ffi::dsyevd_(
29211 &(jobz as c_char),
29212 &(uplo as c_char),
29213 &n,
29214 a.as_mut_ptr(),
29215 &lda,
29216 w.as_mut_ptr(),
29217 work.as_mut_ptr(),
29218 &lwork,
29219 iwork.as_mut_ptr(),
29220 &liwork,
29221 info,
29222 )
29223}
29224
29225#[inline]
29226pub unsafe fn ssyevd(
29227 jobz: u8,
29228 uplo: u8,
29229 n: i32,
29230 a: &mut [f32],
29231 lda: i32,
29232 w: &mut [f32],
29233 work: &mut [f32],
29234 lwork: i32,
29235 iwork: &mut [i32],
29236 liwork: i32,
29237 info: &mut i32,
29238) {
29239 ffi::ssyevd_(
29240 &(jobz as c_char),
29241 &(uplo as c_char),
29242 &n,
29243 a.as_mut_ptr(),
29244 &lda,
29245 w.as_mut_ptr(),
29246 work.as_mut_ptr(),
29247 &lwork,
29248 iwork.as_mut_ptr(),
29249 &liwork,
29250 info,
29251 )
29252}
29253
29254#[inline]
29255pub unsafe fn dsyevd_2stage(
29256 jobz: u8,
29257 uplo: u8,
29258 n: i32,
29259 a: &mut [f64],
29260 lda: i32,
29261 w: &mut [f64],
29262 work: &mut [f64],
29263 lwork: i32,
29264 iwork: &mut [i32],
29265 liwork: i32,
29266 info: &mut i32,
29267) {
29268 ffi::dsyevd_2stage_(
29269 &(jobz as c_char),
29270 &(uplo as c_char),
29271 &n,
29272 a.as_mut_ptr(),
29273 &lda,
29274 w.as_mut_ptr(),
29275 work.as_mut_ptr(),
29276 &lwork,
29277 iwork.as_mut_ptr(),
29278 &liwork,
29279 info,
29280 )
29281}
29282
29283#[inline]
29284pub unsafe fn ssyevd_2stage(
29285 jobz: u8,
29286 uplo: u8,
29287 n: i32,
29288 a: &mut [f32],
29289 lda: i32,
29290 w: &mut [f32],
29291 work: &mut [f32],
29292 lwork: i32,
29293 iwork: &mut [i32],
29294 liwork: i32,
29295 info: &mut i32,
29296) {
29297 ffi::ssyevd_2stage_(
29298 &(jobz as c_char),
29299 &(uplo as c_char),
29300 &n,
29301 a.as_mut_ptr(),
29302 &lda,
29303 w.as_mut_ptr(),
29304 work.as_mut_ptr(),
29305 &lwork,
29306 iwork.as_mut_ptr(),
29307 &liwork,
29308 info,
29309 )
29310}
29311
29312#[inline]
29313pub unsafe fn dsyevr(
29314 jobz: u8,
29315 range: u8,
29316 uplo: u8,
29317 n: i32,
29318 a: &mut [f64],
29319 lda: i32,
29320 vl: f64,
29321 vu: f64,
29322 il: i32,
29323 iu: i32,
29324 abstol: f64,
29325 m: &mut i32,
29326 w: &mut [f64],
29327 z: &mut [f64],
29328 ldz: i32,
29329 isuppz: &mut [i32],
29330 work: &mut [f64],
29331 lwork: i32,
29332 iwork: &mut [i32],
29333 liwork: i32,
29334 info: &mut i32,
29335) {
29336 ffi::dsyevr_(
29337 &(jobz as c_char),
29338 &(range as c_char),
29339 &(uplo as c_char),
29340 &n,
29341 a.as_mut_ptr(),
29342 &lda,
29343 &vl,
29344 &vu,
29345 &il,
29346 &iu,
29347 &abstol,
29348 m,
29349 w.as_mut_ptr(),
29350 z.as_mut_ptr(),
29351 &ldz,
29352 isuppz.as_mut_ptr(),
29353 work.as_mut_ptr(),
29354 &lwork,
29355 iwork.as_mut_ptr(),
29356 &liwork,
29357 info,
29358 )
29359}
29360
29361#[inline]
29362pub unsafe fn ssyevr(
29363 jobz: u8,
29364 range: u8,
29365 uplo: u8,
29366 n: i32,
29367 a: &mut [f32],
29368 lda: i32,
29369 vl: f32,
29370 vu: f32,
29371 il: i32,
29372 iu: i32,
29373 abstol: f32,
29374 m: &mut i32,
29375 w: &mut [f32],
29376 z: &mut [f32],
29377 ldz: i32,
29378 isuppz: &mut [i32],
29379 work: &mut [f32],
29380 lwork: i32,
29381 iwork: &mut [i32],
29382 liwork: i32,
29383 info: &mut i32,
29384) {
29385 ffi::ssyevr_(
29386 &(jobz as c_char),
29387 &(range as c_char),
29388 &(uplo as c_char),
29389 &n,
29390 a.as_mut_ptr(),
29391 &lda,
29392 &vl,
29393 &vu,
29394 &il,
29395 &iu,
29396 &abstol,
29397 m,
29398 w.as_mut_ptr(),
29399 z.as_mut_ptr(),
29400 &ldz,
29401 isuppz.as_mut_ptr(),
29402 work.as_mut_ptr(),
29403 &lwork,
29404 iwork.as_mut_ptr(),
29405 &liwork,
29406 info,
29407 )
29408}
29409
29410#[inline]
29411pub unsafe fn dsyevr_2stage(
29412 jobz: u8,
29413 range: u8,
29414 uplo: u8,
29415 n: i32,
29416 a: &mut [f64],
29417 lda: i32,
29418 vl: f64,
29419 vu: f64,
29420 il: i32,
29421 iu: i32,
29422 abstol: f64,
29423 m: &mut i32,
29424 w: &mut [f64],
29425 z: &mut [f64],
29426 ldz: i32,
29427 isuppz: &mut [i32],
29428 work: &mut [f64],
29429 lwork: i32,
29430 iwork: &mut [i32],
29431 liwork: i32,
29432 info: &mut i32,
29433) {
29434 ffi::dsyevr_2stage_(
29435 &(jobz as c_char),
29436 &(range as c_char),
29437 &(uplo as c_char),
29438 &n,
29439 a.as_mut_ptr(),
29440 &lda,
29441 &vl,
29442 &vu,
29443 &il,
29444 &iu,
29445 &abstol,
29446 m,
29447 w.as_mut_ptr(),
29448 z.as_mut_ptr(),
29449 &ldz,
29450 isuppz.as_mut_ptr(),
29451 work.as_mut_ptr(),
29452 &lwork,
29453 iwork.as_mut_ptr(),
29454 &liwork,
29455 info,
29456 )
29457}
29458
29459#[inline]
29460pub unsafe fn ssyevr_2stage(
29461 jobz: u8,
29462 range: u8,
29463 uplo: u8,
29464 n: i32,
29465 a: &mut [f32],
29466 lda: i32,
29467 vl: f32,
29468 vu: f32,
29469 il: i32,
29470 iu: i32,
29471 abstol: f32,
29472 m: &mut i32,
29473 w: &mut [f32],
29474 z: &mut [f32],
29475 ldz: i32,
29476 isuppz: &mut [i32],
29477 work: &mut [f32],
29478 lwork: i32,
29479 iwork: &mut [i32],
29480 liwork: i32,
29481 info: &mut i32,
29482) {
29483 ffi::ssyevr_2stage_(
29484 &(jobz as c_char),
29485 &(range as c_char),
29486 &(uplo as c_char),
29487 &n,
29488 a.as_mut_ptr(),
29489 &lda,
29490 &vl,
29491 &vu,
29492 &il,
29493 &iu,
29494 &abstol,
29495 m,
29496 w.as_mut_ptr(),
29497 z.as_mut_ptr(),
29498 &ldz,
29499 isuppz.as_mut_ptr(),
29500 work.as_mut_ptr(),
29501 &lwork,
29502 iwork.as_mut_ptr(),
29503 &liwork,
29504 info,
29505 )
29506}
29507
29508#[inline]
29509pub unsafe fn dsyevx(
29510 jobz: u8,
29511 range: u8,
29512 uplo: u8,
29513 n: i32,
29514 a: &mut [f64],
29515 lda: i32,
29516 vl: f64,
29517 vu: f64,
29518 il: i32,
29519 iu: i32,
29520 abstol: f64,
29521 m: &mut i32,
29522 w: &mut [f64],
29523 z: &mut [f64],
29524 ldz: i32,
29525 work: &mut [f64],
29526 lwork: i32,
29527 iwork: &mut [i32],
29528 ifail: &mut [i32],
29529 info: &mut i32,
29530) {
29531 ffi::dsyevx_(
29532 &(jobz as c_char),
29533 &(range as c_char),
29534 &(uplo as c_char),
29535 &n,
29536 a.as_mut_ptr(),
29537 &lda,
29538 &vl,
29539 &vu,
29540 &il,
29541 &iu,
29542 &abstol,
29543 m,
29544 w.as_mut_ptr(),
29545 z.as_mut_ptr(),
29546 &ldz,
29547 work.as_mut_ptr(),
29548 &lwork,
29549 iwork.as_mut_ptr(),
29550 ifail.as_mut_ptr(),
29551 info,
29552 )
29553}
29554
29555#[inline]
29556pub unsafe fn ssyevx(
29557 jobz: u8,
29558 range: u8,
29559 uplo: u8,
29560 n: i32,
29561 a: &mut [f32],
29562 lda: i32,
29563 vl: f32,
29564 vu: f32,
29565 il: i32,
29566 iu: i32,
29567 abstol: f32,
29568 m: &mut i32,
29569 w: &mut [f32],
29570 z: &mut [f32],
29571 ldz: i32,
29572 work: &mut [f32],
29573 lwork: i32,
29574 iwork: &mut [i32],
29575 ifail: &mut [i32],
29576 info: &mut i32,
29577) {
29578 ffi::ssyevx_(
29579 &(jobz as c_char),
29580 &(range as c_char),
29581 &(uplo as c_char),
29582 &n,
29583 a.as_mut_ptr(),
29584 &lda,
29585 &vl,
29586 &vu,
29587 &il,
29588 &iu,
29589 &abstol,
29590 m,
29591 w.as_mut_ptr(),
29592 z.as_mut_ptr(),
29593 &ldz,
29594 work.as_mut_ptr(),
29595 &lwork,
29596 iwork.as_mut_ptr(),
29597 ifail.as_mut_ptr(),
29598 info,
29599 )
29600}
29601
29602#[inline]
29603pub unsafe fn dsyevx_2stage(
29604 jobz: u8,
29605 range: u8,
29606 uplo: u8,
29607 n: i32,
29608 a: &mut [f64],
29609 lda: i32,
29610 vl: f64,
29611 vu: f64,
29612 il: i32,
29613 iu: i32,
29614 abstol: f64,
29615 m: &mut i32,
29616 w: &mut [f64],
29617 z: &mut [f64],
29618 ldz: i32,
29619 work: &mut [f64],
29620 lwork: i32,
29621 iwork: &mut [i32],
29622 ifail: &mut [i32],
29623 info: &mut i32,
29624) {
29625 ffi::dsyevx_2stage_(
29626 &(jobz as c_char),
29627 &(range as c_char),
29628 &(uplo as c_char),
29629 &n,
29630 a.as_mut_ptr(),
29631 &lda,
29632 &vl,
29633 &vu,
29634 &il,
29635 &iu,
29636 &abstol,
29637 m,
29638 w.as_mut_ptr(),
29639 z.as_mut_ptr(),
29640 &ldz,
29641 work.as_mut_ptr(),
29642 &lwork,
29643 iwork.as_mut_ptr(),
29644 ifail.as_mut_ptr(),
29645 info,
29646 )
29647}
29648
29649#[inline]
29650pub unsafe fn ssyevx_2stage(
29651 jobz: u8,
29652 range: u8,
29653 uplo: u8,
29654 n: i32,
29655 a: &mut [f32],
29656 lda: i32,
29657 vl: f32,
29658 vu: f32,
29659 il: i32,
29660 iu: i32,
29661 abstol: f32,
29662 m: &mut i32,
29663 w: &mut [f32],
29664 z: &mut [f32],
29665 ldz: i32,
29666 work: &mut [f32],
29667 lwork: i32,
29668 iwork: &mut [i32],
29669 ifail: &mut [i32],
29670 info: &mut i32,
29671) {
29672 ffi::ssyevx_2stage_(
29673 &(jobz as c_char),
29674 &(range as c_char),
29675 &(uplo as c_char),
29676 &n,
29677 a.as_mut_ptr(),
29678 &lda,
29679 &vl,
29680 &vu,
29681 &il,
29682 &iu,
29683 &abstol,
29684 m,
29685 w.as_mut_ptr(),
29686 z.as_mut_ptr(),
29687 &ldz,
29688 work.as_mut_ptr(),
29689 &lwork,
29690 iwork.as_mut_ptr(),
29691 ifail.as_mut_ptr(),
29692 info,
29693 )
29694}
29695
29696#[inline]
29697pub unsafe fn dsygst(
29698 itype: &[i32],
29699 uplo: u8,
29700 n: i32,
29701 a: &mut [f64],
29702 lda: i32,
29703 b: &[f64],
29704 ldb: i32,
29705 info: &mut i32,
29706) {
29707 ffi::dsygst_(
29708 itype.as_ptr(),
29709 &(uplo as c_char),
29710 &n,
29711 a.as_mut_ptr(),
29712 &lda,
29713 b.as_ptr(),
29714 &ldb,
29715 info,
29716 )
29717}
29718
29719#[inline]
29720pub unsafe fn ssygst(
29721 itype: &[i32],
29722 uplo: u8,
29723 n: i32,
29724 a: &mut [f32],
29725 lda: i32,
29726 b: &[f32],
29727 ldb: i32,
29728 info: &mut i32,
29729) {
29730 ffi::ssygst_(
29731 itype.as_ptr(),
29732 &(uplo as c_char),
29733 &n,
29734 a.as_mut_ptr(),
29735 &lda,
29736 b.as_ptr(),
29737 &ldb,
29738 info,
29739 )
29740}
29741
29742#[inline]
29743pub unsafe fn dsygv(
29744 itype: &[i32],
29745 jobz: u8,
29746 uplo: u8,
29747 n: i32,
29748 a: &mut [f64],
29749 lda: i32,
29750 b: &mut [f64],
29751 ldb: i32,
29752 w: &mut [f64],
29753 work: &mut [f64],
29754 lwork: i32,
29755 info: &mut i32,
29756) {
29757 ffi::dsygv_(
29758 itype.as_ptr(),
29759 &(jobz as c_char),
29760 &(uplo as c_char),
29761 &n,
29762 a.as_mut_ptr(),
29763 &lda,
29764 b.as_mut_ptr(),
29765 &ldb,
29766 w.as_mut_ptr(),
29767 work.as_mut_ptr(),
29768 &lwork,
29769 info,
29770 )
29771}
29772
29773#[inline]
29774pub unsafe fn ssygv(
29775 itype: &[i32],
29776 jobz: u8,
29777 uplo: u8,
29778 n: i32,
29779 a: &mut [f32],
29780 lda: i32,
29781 b: &mut [f32],
29782 ldb: i32,
29783 w: &mut [f32],
29784 work: &mut [f32],
29785 lwork: i32,
29786 info: &mut i32,
29787) {
29788 ffi::ssygv_(
29789 itype.as_ptr(),
29790 &(jobz as c_char),
29791 &(uplo as c_char),
29792 &n,
29793 a.as_mut_ptr(),
29794 &lda,
29795 b.as_mut_ptr(),
29796 &ldb,
29797 w.as_mut_ptr(),
29798 work.as_mut_ptr(),
29799 &lwork,
29800 info,
29801 )
29802}
29803
29804#[inline]
29805pub unsafe fn dsygv_2stage(
29806 itype: &[i32],
29807 jobz: u8,
29808 uplo: u8,
29809 n: i32,
29810 a: &mut [f64],
29811 lda: i32,
29812 b: &mut [f64],
29813 ldb: i32,
29814 w: &mut [f64],
29815 work: &mut [f64],
29816 lwork: i32,
29817 info: &mut i32,
29818) {
29819 ffi::dsygv_2stage_(
29820 itype.as_ptr(),
29821 &(jobz as c_char),
29822 &(uplo as c_char),
29823 &n,
29824 a.as_mut_ptr(),
29825 &lda,
29826 b.as_mut_ptr(),
29827 &ldb,
29828 w.as_mut_ptr(),
29829 work.as_mut_ptr(),
29830 &lwork,
29831 info,
29832 )
29833}
29834
29835#[inline]
29836pub unsafe fn ssygv_2stage(
29837 itype: &[i32],
29838 jobz: u8,
29839 uplo: u8,
29840 n: i32,
29841 a: &mut [f32],
29842 lda: i32,
29843 b: &mut [f32],
29844 ldb: i32,
29845 w: &mut [f32],
29846 work: &mut [f32],
29847 lwork: i32,
29848 info: &mut i32,
29849) {
29850 ffi::ssygv_2stage_(
29851 itype.as_ptr(),
29852 &(jobz as c_char),
29853 &(uplo as c_char),
29854 &n,
29855 a.as_mut_ptr(),
29856 &lda,
29857 b.as_mut_ptr(),
29858 &ldb,
29859 w.as_mut_ptr(),
29860 work.as_mut_ptr(),
29861 &lwork,
29862 info,
29863 )
29864}
29865
29866#[inline]
29867pub unsafe fn dsygvd(
29868 itype: &[i32],
29869 jobz: u8,
29870 uplo: u8,
29871 n: i32,
29872 a: &mut [f64],
29873 lda: i32,
29874 b: &mut [f64],
29875 ldb: i32,
29876 w: &mut [f64],
29877 work: &mut [f64],
29878 lwork: i32,
29879 iwork: &mut [i32],
29880 liwork: i32,
29881 info: &mut i32,
29882) {
29883 ffi::dsygvd_(
29884 itype.as_ptr(),
29885 &(jobz as c_char),
29886 &(uplo as c_char),
29887 &n,
29888 a.as_mut_ptr(),
29889 &lda,
29890 b.as_mut_ptr(),
29891 &ldb,
29892 w.as_mut_ptr(),
29893 work.as_mut_ptr(),
29894 &lwork,
29895 iwork.as_mut_ptr(),
29896 &liwork,
29897 info,
29898 )
29899}
29900
29901#[inline]
29902pub unsafe fn ssygvd(
29903 itype: &[i32],
29904 jobz: u8,
29905 uplo: u8,
29906 n: i32,
29907 a: &mut [f32],
29908 lda: i32,
29909 b: &mut [f32],
29910 ldb: i32,
29911 w: &mut [f32],
29912 work: &mut [f32],
29913 lwork: i32,
29914 iwork: &mut [i32],
29915 liwork: i32,
29916 info: &mut i32,
29917) {
29918 ffi::ssygvd_(
29919 itype.as_ptr(),
29920 &(jobz as c_char),
29921 &(uplo as c_char),
29922 &n,
29923 a.as_mut_ptr(),
29924 &lda,
29925 b.as_mut_ptr(),
29926 &ldb,
29927 w.as_mut_ptr(),
29928 work.as_mut_ptr(),
29929 &lwork,
29930 iwork.as_mut_ptr(),
29931 &liwork,
29932 info,
29933 )
29934}
29935
29936#[inline]
29937pub unsafe fn dsygvx(
29938 itype: &[i32],
29939 jobz: u8,
29940 range: u8,
29941 uplo: u8,
29942 n: i32,
29943 a: &mut [f64],
29944 lda: i32,
29945 b: &mut [f64],
29946 ldb: i32,
29947 vl: f64,
29948 vu: f64,
29949 il: i32,
29950 iu: i32,
29951 abstol: f64,
29952 m: &mut i32,
29953 w: &mut [f64],
29954 z: &mut [f64],
29955 ldz: i32,
29956 work: &mut [f64],
29957 lwork: i32,
29958 iwork: &mut [i32],
29959 ifail: &mut [i32],
29960 info: &mut i32,
29961) {
29962 ffi::dsygvx_(
29963 itype.as_ptr(),
29964 &(jobz as c_char),
29965 &(range as c_char),
29966 &(uplo as c_char),
29967 &n,
29968 a.as_mut_ptr(),
29969 &lda,
29970 b.as_mut_ptr(),
29971 &ldb,
29972 &vl,
29973 &vu,
29974 &il,
29975 &iu,
29976 &abstol,
29977 m,
29978 w.as_mut_ptr(),
29979 z.as_mut_ptr(),
29980 &ldz,
29981 work.as_mut_ptr(),
29982 &lwork,
29983 iwork.as_mut_ptr(),
29984 ifail.as_mut_ptr(),
29985 info,
29986 )
29987}
29988
29989#[inline]
29990pub unsafe fn ssygvx(
29991 itype: &[i32],
29992 jobz: u8,
29993 range: u8,
29994 uplo: u8,
29995 n: i32,
29996 a: &mut [f32],
29997 lda: i32,
29998 b: &mut [f32],
29999 ldb: i32,
30000 vl: f32,
30001 vu: f32,
30002 il: i32,
30003 iu: i32,
30004 abstol: f32,
30005 m: &mut i32,
30006 w: &mut [f32],
30007 z: &mut [f32],
30008 ldz: i32,
30009 work: &mut [f32],
30010 lwork: i32,
30011 iwork: &mut [i32],
30012 ifail: &mut [i32],
30013 info: &mut i32,
30014) {
30015 ffi::ssygvx_(
30016 itype.as_ptr(),
30017 &(jobz as c_char),
30018 &(range as c_char),
30019 &(uplo as c_char),
30020 &n,
30021 a.as_mut_ptr(),
30022 &lda,
30023 b.as_mut_ptr(),
30024 &ldb,
30025 &vl,
30026 &vu,
30027 &il,
30028 &iu,
30029 &abstol,
30030 m,
30031 w.as_mut_ptr(),
30032 z.as_mut_ptr(),
30033 &ldz,
30034 work.as_mut_ptr(),
30035 &lwork,
30036 iwork.as_mut_ptr(),
30037 ifail.as_mut_ptr(),
30038 info,
30039 )
30040}
30041
30042#[inline]
30043pub unsafe fn csyr(uplo: u8, n: i32, alpha: &[c32], x: &[c32], incx: i32, a: &mut [c32], lda: i32) {
30044 ffi::csyr_(
30045 &(uplo as c_char),
30046 &n,
30047 alpha.as_ptr() as *const _,
30048 x.as_ptr() as *const _,
30049 &incx,
30050 a.as_mut_ptr() as *mut _,
30051 &lda,
30052 )
30053}
30054
30055#[inline]
30056pub unsafe fn zsyr(uplo: u8, n: i32, alpha: &[c64], x: &[c64], incx: i32, a: &mut [c64], lda: i32) {
30057 ffi::zsyr_(
30058 &(uplo as c_char),
30059 &n,
30060 alpha.as_ptr() as *const _,
30061 x.as_ptr() as *const _,
30062 &incx,
30063 a.as_mut_ptr() as *mut _,
30064 &lda,
30065 )
30066}
30067
30068#[inline]
30069pub unsafe fn csyrfs(
30070 uplo: u8,
30071 n: i32,
30072 nrhs: i32,
30073 a: &[c32],
30074 lda: i32,
30075 af: &[c32],
30076 ldaf: i32,
30077 ipiv: &[i32],
30078 b: &[c32],
30079 ldb: i32,
30080 x: &mut [c32],
30081 ldx: i32,
30082 ferr: &mut [f32],
30083 berr: &mut [f32],
30084 work: &mut [c32],
30085 rwork: &mut [f32],
30086 info: &mut i32,
30087) {
30088 ffi::csyrfs_(
30089 &(uplo as c_char),
30090 &n,
30091 &nrhs,
30092 a.as_ptr() as *const _,
30093 &lda,
30094 af.as_ptr() as *const _,
30095 &ldaf,
30096 ipiv.as_ptr(),
30097 b.as_ptr() as *const _,
30098 &ldb,
30099 x.as_mut_ptr() as *mut _,
30100 &ldx,
30101 ferr.as_mut_ptr(),
30102 berr.as_mut_ptr(),
30103 work.as_mut_ptr() as *mut _,
30104 rwork.as_mut_ptr(),
30105 info,
30106 )
30107}
30108
30109#[inline]
30110pub unsafe fn dsyrfs(
30111 uplo: u8,
30112 n: i32,
30113 nrhs: i32,
30114 a: &[f64],
30115 lda: i32,
30116 af: &[f64],
30117 ldaf: i32,
30118 ipiv: &[i32],
30119 b: &[f64],
30120 ldb: i32,
30121 x: &mut [f64],
30122 ldx: i32,
30123 ferr: &mut [f64],
30124 berr: &mut [f64],
30125 work: &mut [f64],
30126 iwork: &mut [i32],
30127 info: &mut i32,
30128) {
30129 ffi::dsyrfs_(
30130 &(uplo as c_char),
30131 &n,
30132 &nrhs,
30133 a.as_ptr(),
30134 &lda,
30135 af.as_ptr(),
30136 &ldaf,
30137 ipiv.as_ptr(),
30138 b.as_ptr(),
30139 &ldb,
30140 x.as_mut_ptr(),
30141 &ldx,
30142 ferr.as_mut_ptr(),
30143 berr.as_mut_ptr(),
30144 work.as_mut_ptr(),
30145 iwork.as_mut_ptr(),
30146 info,
30147 )
30148}
30149
30150#[inline]
30151pub unsafe fn ssyrfs(
30152 uplo: u8,
30153 n: i32,
30154 nrhs: i32,
30155 a: &[f32],
30156 lda: i32,
30157 af: &[f32],
30158 ldaf: i32,
30159 ipiv: &[i32],
30160 b: &[f32],
30161 ldb: i32,
30162 x: &mut [f32],
30163 ldx: i32,
30164 ferr: &mut [f32],
30165 berr: &mut [f32],
30166 work: &mut [f32],
30167 iwork: &mut [i32],
30168 info: &mut i32,
30169) {
30170 ffi::ssyrfs_(
30171 &(uplo as c_char),
30172 &n,
30173 &nrhs,
30174 a.as_ptr(),
30175 &lda,
30176 af.as_ptr(),
30177 &ldaf,
30178 ipiv.as_ptr(),
30179 b.as_ptr(),
30180 &ldb,
30181 x.as_mut_ptr(),
30182 &ldx,
30183 ferr.as_mut_ptr(),
30184 berr.as_mut_ptr(),
30185 work.as_mut_ptr(),
30186 iwork.as_mut_ptr(),
30187 info,
30188 )
30189}
30190
30191#[inline]
30192pub unsafe fn zsyrfs(
30193 uplo: u8,
30194 n: i32,
30195 nrhs: i32,
30196 a: &[c64],
30197 lda: i32,
30198 af: &[c64],
30199 ldaf: i32,
30200 ipiv: &[i32],
30201 b: &[c64],
30202 ldb: i32,
30203 x: &mut [c64],
30204 ldx: i32,
30205 ferr: &mut [f64],
30206 berr: &mut [f64],
30207 work: &mut [c64],
30208 rwork: &mut [f64],
30209 info: &mut i32,
30210) {
30211 ffi::zsyrfs_(
30212 &(uplo as c_char),
30213 &n,
30214 &nrhs,
30215 a.as_ptr() as *const _,
30216 &lda,
30217 af.as_ptr() as *const _,
30218 &ldaf,
30219 ipiv.as_ptr(),
30220 b.as_ptr() as *const _,
30221 &ldb,
30222 x.as_mut_ptr() as *mut _,
30223 &ldx,
30224 ferr.as_mut_ptr(),
30225 berr.as_mut_ptr(),
30226 work.as_mut_ptr() as *mut _,
30227 rwork.as_mut_ptr(),
30228 info,
30229 )
30230}
30231
30232#[inline]
30233pub unsafe fn csyrfsx(
30234 uplo: u8,
30235 equed: u8,
30236 n: i32,
30237 nrhs: i32,
30238 a: &[c32],
30239 lda: i32,
30240 af: &[c32],
30241 ldaf: i32,
30242 ipiv: &[i32],
30243 s: &mut [f32],
30244 b: &[c32],
30245 ldb: i32,
30246 x: &mut [c32],
30247 ldx: i32,
30248 rcond: &mut f32,
30249 berr: &mut [f32],
30250 n_err_bnds: i32,
30251 err_bnds_norm: &mut [f32],
30252 err_bnds_comp: &mut [f32],
30253 nparams: &[i32],
30254 params: &mut [f32],
30255 work: &mut [c32],
30256 rwork: &mut [f32],
30257 info: &mut i32,
30258) {
30259 ffi::csyrfsx_(
30260 &(uplo as c_char),
30261 &(equed as c_char),
30262 &n,
30263 &nrhs,
30264 a.as_ptr() as *const _,
30265 &lda,
30266 af.as_ptr() as *const _,
30267 &ldaf,
30268 ipiv.as_ptr(),
30269 s.as_mut_ptr(),
30270 b.as_ptr() as *const _,
30271 &ldb,
30272 x.as_mut_ptr() as *mut _,
30273 &ldx,
30274 rcond,
30275 berr.as_mut_ptr(),
30276 &n_err_bnds,
30277 err_bnds_norm.as_mut_ptr(),
30278 err_bnds_comp.as_mut_ptr(),
30279 nparams.as_ptr(),
30280 params.as_mut_ptr(),
30281 work.as_mut_ptr() as *mut _,
30282 rwork.as_mut_ptr(),
30283 info,
30284 )
30285}
30286
30287#[inline]
30288pub unsafe fn dsyrfsx(
30289 uplo: u8,
30290 equed: u8,
30291 n: i32,
30292 nrhs: i32,
30293 a: &[f64],
30294 lda: i32,
30295 af: &[f64],
30296 ldaf: i32,
30297 ipiv: &[i32],
30298 s: &mut [f64],
30299 b: &[f64],
30300 ldb: i32,
30301 x: &mut [f64],
30302 ldx: i32,
30303 rcond: &mut f64,
30304 berr: &mut [f64],
30305 n_err_bnds: i32,
30306 err_bnds_norm: &mut [f64],
30307 err_bnds_comp: &mut [f64],
30308 nparams: &[i32],
30309 params: &mut [f64],
30310 work: &mut [f64],
30311 iwork: &mut [i32],
30312 info: &mut i32,
30313) {
30314 ffi::dsyrfsx_(
30315 &(uplo as c_char),
30316 &(equed as c_char),
30317 &n,
30318 &nrhs,
30319 a.as_ptr(),
30320 &lda,
30321 af.as_ptr(),
30322 &ldaf,
30323 ipiv.as_ptr(),
30324 s.as_mut_ptr(),
30325 b.as_ptr(),
30326 &ldb,
30327 x.as_mut_ptr(),
30328 &ldx,
30329 rcond,
30330 berr.as_mut_ptr(),
30331 &n_err_bnds,
30332 err_bnds_norm.as_mut_ptr(),
30333 err_bnds_comp.as_mut_ptr(),
30334 nparams.as_ptr(),
30335 params.as_mut_ptr(),
30336 work.as_mut_ptr(),
30337 iwork.as_mut_ptr(),
30338 info,
30339 )
30340}
30341
30342#[inline]
30343pub unsafe fn ssyrfsx(
30344 uplo: u8,
30345 equed: u8,
30346 n: i32,
30347 nrhs: i32,
30348 a: &[f32],
30349 lda: i32,
30350 af: &[f32],
30351 ldaf: i32,
30352 ipiv: &[i32],
30353 s: &mut [f32],
30354 b: &[f32],
30355 ldb: i32,
30356 x: &mut [f32],
30357 ldx: i32,
30358 rcond: &mut f32,
30359 berr: &mut [f32],
30360 n_err_bnds: i32,
30361 err_bnds_norm: &mut [f32],
30362 err_bnds_comp: &mut [f32],
30363 nparams: &[i32],
30364 params: &mut [f32],
30365 work: &mut [f32],
30366 iwork: &mut [i32],
30367 info: &mut i32,
30368) {
30369 ffi::ssyrfsx_(
30370 &(uplo as c_char),
30371 &(equed as c_char),
30372 &n,
30373 &nrhs,
30374 a.as_ptr(),
30375 &lda,
30376 af.as_ptr(),
30377 &ldaf,
30378 ipiv.as_ptr(),
30379 s.as_mut_ptr(),
30380 b.as_ptr(),
30381 &ldb,
30382 x.as_mut_ptr(),
30383 &ldx,
30384 rcond,
30385 berr.as_mut_ptr(),
30386 &n_err_bnds,
30387 err_bnds_norm.as_mut_ptr(),
30388 err_bnds_comp.as_mut_ptr(),
30389 nparams.as_ptr(),
30390 params.as_mut_ptr(),
30391 work.as_mut_ptr(),
30392 iwork.as_mut_ptr(),
30393 info,
30394 )
30395}
30396
30397#[inline]
30398pub unsafe fn zsyrfsx(
30399 uplo: u8,
30400 equed: u8,
30401 n: i32,
30402 nrhs: i32,
30403 a: &[c64],
30404 lda: i32,
30405 af: &[c64],
30406 ldaf: i32,
30407 ipiv: &[i32],
30408 s: &mut [f64],
30409 b: &[c64],
30410 ldb: i32,
30411 x: &mut [c64],
30412 ldx: i32,
30413 rcond: &mut f64,
30414 berr: &mut [f64],
30415 n_err_bnds: i32,
30416 err_bnds_norm: &mut [f64],
30417 err_bnds_comp: &mut [f64],
30418 nparams: &[i32],
30419 params: &mut [f64],
30420 work: &mut [c64],
30421 rwork: &mut [f64],
30422 info: &mut i32,
30423) {
30424 ffi::zsyrfsx_(
30425 &(uplo as c_char),
30426 &(equed as c_char),
30427 &n,
30428 &nrhs,
30429 a.as_ptr() as *const _,
30430 &lda,
30431 af.as_ptr() as *const _,
30432 &ldaf,
30433 ipiv.as_ptr(),
30434 s.as_mut_ptr(),
30435 b.as_ptr() as *const _,
30436 &ldb,
30437 x.as_mut_ptr() as *mut _,
30438 &ldx,
30439 rcond,
30440 berr.as_mut_ptr(),
30441 &n_err_bnds,
30442 err_bnds_norm.as_mut_ptr(),
30443 err_bnds_comp.as_mut_ptr(),
30444 nparams.as_ptr(),
30445 params.as_mut_ptr(),
30446 work.as_mut_ptr() as *mut _,
30447 rwork.as_mut_ptr(),
30448 info,
30449 )
30450}
30451
30452#[inline]
30453pub unsafe fn csysv(
30454 uplo: u8,
30455 n: i32,
30456 nrhs: i32,
30457 a: &mut [c32],
30458 lda: i32,
30459 ipiv: &mut [i32],
30460 b: &mut [c32],
30461 ldb: i32,
30462 work: &mut [c32],
30463 lwork: i32,
30464 info: &mut i32,
30465) {
30466 ffi::csysv_(
30467 &(uplo as c_char),
30468 &n,
30469 &nrhs,
30470 a.as_mut_ptr() as *mut _,
30471 &lda,
30472 ipiv.as_mut_ptr(),
30473 b.as_mut_ptr() as *mut _,
30474 &ldb,
30475 work.as_mut_ptr() as *mut _,
30476 &lwork,
30477 info,
30478 )
30479}
30480
30481#[inline]
30482pub unsafe fn dsysv(
30483 uplo: u8,
30484 n: i32,
30485 nrhs: i32,
30486 a: &mut [f64],
30487 lda: i32,
30488 ipiv: &mut [i32],
30489 b: &mut [f64],
30490 ldb: i32,
30491 work: &mut [f64],
30492 lwork: i32,
30493 info: &mut i32,
30494) {
30495 ffi::dsysv_(
30496 &(uplo as c_char),
30497 &n,
30498 &nrhs,
30499 a.as_mut_ptr(),
30500 &lda,
30501 ipiv.as_mut_ptr(),
30502 b.as_mut_ptr(),
30503 &ldb,
30504 work.as_mut_ptr(),
30505 &lwork,
30506 info,
30507 )
30508}
30509
30510#[inline]
30511pub unsafe fn ssysv(
30512 uplo: u8,
30513 n: i32,
30514 nrhs: i32,
30515 a: &mut [f32],
30516 lda: i32,
30517 ipiv: &mut [i32],
30518 b: &mut [f32],
30519 ldb: i32,
30520 work: &mut [f32],
30521 lwork: i32,
30522 info: &mut i32,
30523) {
30524 ffi::ssysv_(
30525 &(uplo as c_char),
30526 &n,
30527 &nrhs,
30528 a.as_mut_ptr(),
30529 &lda,
30530 ipiv.as_mut_ptr(),
30531 b.as_mut_ptr(),
30532 &ldb,
30533 work.as_mut_ptr(),
30534 &lwork,
30535 info,
30536 )
30537}
30538
30539#[inline]
30540pub unsafe fn zsysv(
30541 uplo: u8,
30542 n: i32,
30543 nrhs: i32,
30544 a: &mut [c64],
30545 lda: i32,
30546 ipiv: &mut [i32],
30547 b: &mut [c64],
30548 ldb: i32,
30549 work: &mut [c64],
30550 lwork: i32,
30551 info: &mut i32,
30552) {
30553 ffi::zsysv_(
30554 &(uplo as c_char),
30555 &n,
30556 &nrhs,
30557 a.as_mut_ptr() as *mut _,
30558 &lda,
30559 ipiv.as_mut_ptr(),
30560 b.as_mut_ptr() as *mut _,
30561 &ldb,
30562 work.as_mut_ptr() as *mut _,
30563 &lwork,
30564 info,
30565 )
30566}
30567
30568#[inline]
30569pub unsafe fn csysv_aa(
30570 uplo: u8,
30571 n: i32,
30572 nrhs: i32,
30573 a: &mut [c32],
30574 lda: i32,
30575 ipiv: &mut [i32],
30576 b: &mut [c32],
30577 ldb: i32,
30578 work: &mut [c32],
30579 lwork: i32,
30580 info: &mut i32,
30581) {
30582 ffi::csysv_aa_(
30583 &(uplo as c_char),
30584 &n,
30585 &nrhs,
30586 a.as_mut_ptr() as *mut _,
30587 &lda,
30588 ipiv.as_mut_ptr(),
30589 b.as_mut_ptr() as *mut _,
30590 &ldb,
30591 work.as_mut_ptr() as *mut _,
30592 &lwork,
30593 info,
30594 )
30595}
30596
30597#[inline]
30598pub unsafe fn dsysv_aa(
30599 uplo: u8,
30600 n: i32,
30601 nrhs: i32,
30602 a: &mut [f64],
30603 lda: i32,
30604 ipiv: &mut [i32],
30605 b: &mut [f64],
30606 ldb: i32,
30607 work: &mut [f64],
30608 lwork: i32,
30609 info: &mut i32,
30610) {
30611 ffi::dsysv_aa_(
30612 &(uplo as c_char),
30613 &n,
30614 &nrhs,
30615 a.as_mut_ptr(),
30616 &lda,
30617 ipiv.as_mut_ptr(),
30618 b.as_mut_ptr(),
30619 &ldb,
30620 work.as_mut_ptr(),
30621 &lwork,
30622 info,
30623 )
30624}
30625
30626#[inline]
30627pub unsafe fn ssysv_aa(
30628 uplo: u8,
30629 n: i32,
30630 nrhs: i32,
30631 a: &mut [f32],
30632 lda: i32,
30633 ipiv: &mut [i32],
30634 b: &mut [f32],
30635 ldb: i32,
30636 work: &mut [f32],
30637 lwork: i32,
30638 info: &mut i32,
30639) {
30640 ffi::ssysv_aa_(
30641 &(uplo as c_char),
30642 &n,
30643 &nrhs,
30644 a.as_mut_ptr(),
30645 &lda,
30646 ipiv.as_mut_ptr(),
30647 b.as_mut_ptr(),
30648 &ldb,
30649 work.as_mut_ptr(),
30650 &lwork,
30651 info,
30652 )
30653}
30654
30655#[inline]
30656pub unsafe fn zsysv_aa(
30657 uplo: u8,
30658 n: i32,
30659 nrhs: i32,
30660 a: &mut [c64],
30661 lda: i32,
30662 ipiv: &mut [i32],
30663 b: &mut [c64],
30664 ldb: i32,
30665 work: &mut [c64],
30666 lwork: i32,
30667 info: &mut i32,
30668) {
30669 ffi::zsysv_aa_(
30670 &(uplo as c_char),
30671 &n,
30672 &nrhs,
30673 a.as_mut_ptr() as *mut _,
30674 &lda,
30675 ipiv.as_mut_ptr(),
30676 b.as_mut_ptr() as *mut _,
30677 &ldb,
30678 work.as_mut_ptr() as *mut _,
30679 &lwork,
30680 info,
30681 )
30682}
30683
30684#[inline]
30685pub unsafe fn csysv_aa_2stage(
30686 uplo: u8,
30687 n: i32,
30688 nrhs: i32,
30689 a: &mut [c32],
30690 lda: i32,
30691 tb: &mut [c32],
30692 ltb: &[i32],
30693 ipiv: &mut [i32],
30694 ipiv2: &mut [i32],
30695 b: &mut [c32],
30696 ldb: i32,
30697 work: &mut [c32],
30698 lwork: i32,
30699 info: &mut i32,
30700) {
30701 ffi::csysv_aa_2stage_(
30702 &(uplo as c_char),
30703 &n,
30704 &nrhs,
30705 a.as_mut_ptr() as *mut _,
30706 &lda,
30707 tb.as_mut_ptr() as *mut _,
30708 ltb.as_ptr(),
30709 ipiv.as_mut_ptr(),
30710 ipiv2.as_mut_ptr(),
30711 b.as_mut_ptr() as *mut _,
30712 &ldb,
30713 work.as_mut_ptr() as *mut _,
30714 &lwork,
30715 info,
30716 )
30717}
30718
30719#[inline]
30720pub unsafe fn dsysv_aa_2stage(
30721 uplo: u8,
30722 n: i32,
30723 nrhs: i32,
30724 a: &mut [f64],
30725 lda: i32,
30726 tb: &mut [f64],
30727 ltb: &[i32],
30728 ipiv: &mut [i32],
30729 ipiv2: &mut [i32],
30730 b: &mut [f64],
30731 ldb: i32,
30732 work: &mut [f64],
30733 lwork: i32,
30734 info: &mut i32,
30735) {
30736 ffi::dsysv_aa_2stage_(
30737 &(uplo as c_char),
30738 &n,
30739 &nrhs,
30740 a.as_mut_ptr(),
30741 &lda,
30742 tb.as_mut_ptr(),
30743 ltb.as_ptr(),
30744 ipiv.as_mut_ptr(),
30745 ipiv2.as_mut_ptr(),
30746 b.as_mut_ptr(),
30747 &ldb,
30748 work.as_mut_ptr(),
30749 &lwork,
30750 info,
30751 )
30752}
30753
30754#[inline]
30755pub unsafe fn ssysv_aa_2stage(
30756 uplo: u8,
30757 n: i32,
30758 nrhs: i32,
30759 a: &mut [f32],
30760 lda: i32,
30761 tb: &mut [f32],
30762 ltb: &[i32],
30763 ipiv: &mut [i32],
30764 ipiv2: &mut [i32],
30765 b: &mut [f32],
30766 ldb: i32,
30767 work: &mut [f32],
30768 lwork: i32,
30769 info: &mut i32,
30770) {
30771 ffi::ssysv_aa_2stage_(
30772 &(uplo as c_char),
30773 &n,
30774 &nrhs,
30775 a.as_mut_ptr(),
30776 &lda,
30777 tb.as_mut_ptr(),
30778 ltb.as_ptr(),
30779 ipiv.as_mut_ptr(),
30780 ipiv2.as_mut_ptr(),
30781 b.as_mut_ptr(),
30782 &ldb,
30783 work.as_mut_ptr(),
30784 &lwork,
30785 info,
30786 )
30787}
30788
30789#[inline]
30790pub unsafe fn zsysv_aa_2stage(
30791 uplo: u8,
30792 n: i32,
30793 nrhs: i32,
30794 a: &mut [c64],
30795 lda: i32,
30796 tb: &mut [c64],
30797 ltb: &[i32],
30798 ipiv: &mut [i32],
30799 ipiv2: &mut [i32],
30800 b: &mut [c64],
30801 ldb: i32,
30802 work: &mut [c64],
30803 lwork: i32,
30804 info: &mut i32,
30805) {
30806 ffi::zsysv_aa_2stage_(
30807 &(uplo as c_char),
30808 &n,
30809 &nrhs,
30810 a.as_mut_ptr() as *mut _,
30811 &lda,
30812 tb.as_mut_ptr() as *mut _,
30813 ltb.as_ptr(),
30814 ipiv.as_mut_ptr(),
30815 ipiv2.as_mut_ptr(),
30816 b.as_mut_ptr() as *mut _,
30817 &ldb,
30818 work.as_mut_ptr() as *mut _,
30819 &lwork,
30820 info,
30821 )
30822}
30823
30824#[inline]
30825pub unsafe fn csysv_rk(
30826 uplo: u8,
30827 n: i32,
30828 nrhs: i32,
30829 a: &mut [c32],
30830 lda: i32,
30831 e: &mut [c32],
30832 ipiv: &mut [i32],
30833 b: &mut [c32],
30834 ldb: i32,
30835 work: &mut [c32],
30836 lwork: i32,
30837 info: &mut i32,
30838) {
30839 ffi::csysv_rk_(
30840 &(uplo as c_char),
30841 &n,
30842 &nrhs,
30843 a.as_mut_ptr() as *mut _,
30844 &lda,
30845 e.as_mut_ptr() as *mut _,
30846 ipiv.as_mut_ptr(),
30847 b.as_mut_ptr() as *mut _,
30848 &ldb,
30849 work.as_mut_ptr() as *mut _,
30850 &lwork,
30851 info,
30852 )
30853}
30854
30855#[inline]
30856pub unsafe fn dsysv_rk(
30857 uplo: u8,
30858 n: i32,
30859 nrhs: i32,
30860 a: &mut [f64],
30861 lda: i32,
30862 e: &mut [f64],
30863 ipiv: &mut [i32],
30864 b: &mut [f64],
30865 ldb: i32,
30866 work: &mut [f64],
30867 lwork: i32,
30868 info: &mut i32,
30869) {
30870 ffi::dsysv_rk_(
30871 &(uplo as c_char),
30872 &n,
30873 &nrhs,
30874 a.as_mut_ptr(),
30875 &lda,
30876 e.as_mut_ptr(),
30877 ipiv.as_mut_ptr(),
30878 b.as_mut_ptr(),
30879 &ldb,
30880 work.as_mut_ptr(),
30881 &lwork,
30882 info,
30883 )
30884}
30885
30886#[inline]
30887pub unsafe fn ssysv_rk(
30888 uplo: u8,
30889 n: i32,
30890 nrhs: i32,
30891 a: &mut [f32],
30892 lda: i32,
30893 e: &mut [f32],
30894 ipiv: &mut [i32],
30895 b: &mut [f32],
30896 ldb: i32,
30897 work: &mut [f32],
30898 lwork: i32,
30899 info: &mut i32,
30900) {
30901 ffi::ssysv_rk_(
30902 &(uplo as c_char),
30903 &n,
30904 &nrhs,
30905 a.as_mut_ptr(),
30906 &lda,
30907 e.as_mut_ptr(),
30908 ipiv.as_mut_ptr(),
30909 b.as_mut_ptr(),
30910 &ldb,
30911 work.as_mut_ptr(),
30912 &lwork,
30913 info,
30914 )
30915}
30916
30917#[inline]
30918pub unsafe fn zsysv_rk(
30919 uplo: u8,
30920 n: i32,
30921 nrhs: i32,
30922 a: &mut [c64],
30923 lda: i32,
30924 e: &mut [c64],
30925 ipiv: &mut [i32],
30926 b: &mut [c64],
30927 ldb: i32,
30928 work: &mut [c64],
30929 lwork: i32,
30930 info: &mut i32,
30931) {
30932 ffi::zsysv_rk_(
30933 &(uplo as c_char),
30934 &n,
30935 &nrhs,
30936 a.as_mut_ptr() as *mut _,
30937 &lda,
30938 e.as_mut_ptr() as *mut _,
30939 ipiv.as_mut_ptr(),
30940 b.as_mut_ptr() as *mut _,
30941 &ldb,
30942 work.as_mut_ptr() as *mut _,
30943 &lwork,
30944 info,
30945 )
30946}
30947
30948#[inline]
30949pub unsafe fn csysv_rook(
30950 uplo: u8,
30951 n: i32,
30952 nrhs: i32,
30953 a: &mut [c32],
30954 lda: i32,
30955 ipiv: &mut [i32],
30956 b: &mut [c32],
30957 ldb: i32,
30958 work: &mut [c32],
30959 lwork: i32,
30960 info: &mut i32,
30961) {
30962 ffi::csysv_rook_(
30963 &(uplo as c_char),
30964 &n,
30965 &nrhs,
30966 a.as_mut_ptr() as *mut _,
30967 &lda,
30968 ipiv.as_mut_ptr(),
30969 b.as_mut_ptr() as *mut _,
30970 &ldb,
30971 work.as_mut_ptr() as *mut _,
30972 &lwork,
30973 info,
30974 )
30975}
30976
30977#[inline]
30978pub unsafe fn dsysv_rook(
30979 uplo: u8,
30980 n: i32,
30981 nrhs: i32,
30982 a: &mut [f64],
30983 lda: i32,
30984 ipiv: &mut [i32],
30985 b: &mut [f64],
30986 ldb: i32,
30987 work: &mut [f64],
30988 lwork: i32,
30989 info: &mut i32,
30990) {
30991 ffi::dsysv_rook_(
30992 &(uplo as c_char),
30993 &n,
30994 &nrhs,
30995 a.as_mut_ptr(),
30996 &lda,
30997 ipiv.as_mut_ptr(),
30998 b.as_mut_ptr(),
30999 &ldb,
31000 work.as_mut_ptr(),
31001 &lwork,
31002 info,
31003 )
31004}
31005
31006#[inline]
31007pub unsafe fn ssysv_rook(
31008 uplo: u8,
31009 n: i32,
31010 nrhs: i32,
31011 a: &mut [f32],
31012 lda: i32,
31013 ipiv: &mut [i32],
31014 b: &mut [f32],
31015 ldb: i32,
31016 work: &mut [f32],
31017 lwork: i32,
31018 info: &mut i32,
31019) {
31020 ffi::ssysv_rook_(
31021 &(uplo as c_char),
31022 &n,
31023 &nrhs,
31024 a.as_mut_ptr(),
31025 &lda,
31026 ipiv.as_mut_ptr(),
31027 b.as_mut_ptr(),
31028 &ldb,
31029 work.as_mut_ptr(),
31030 &lwork,
31031 info,
31032 )
31033}
31034
31035#[inline]
31036pub unsafe fn zsysv_rook(
31037 uplo: u8,
31038 n: i32,
31039 nrhs: i32,
31040 a: &mut [c64],
31041 lda: i32,
31042 ipiv: &mut [i32],
31043 b: &mut [c64],
31044 ldb: i32,
31045 work: &mut [c64],
31046 lwork: i32,
31047 info: &mut i32,
31048) {
31049 ffi::zsysv_rook_(
31050 &(uplo as c_char),
31051 &n,
31052 &nrhs,
31053 a.as_mut_ptr() as *mut _,
31054 &lda,
31055 ipiv.as_mut_ptr(),
31056 b.as_mut_ptr() as *mut _,
31057 &ldb,
31058 work.as_mut_ptr() as *mut _,
31059 &lwork,
31060 info,
31061 )
31062}
31063
31064#[inline]
31065pub unsafe fn csysvx(
31066 fact: u8,
31067 uplo: u8,
31068 n: i32,
31069 nrhs: i32,
31070 a: &[c32],
31071 lda: i32,
31072 af: &mut [c32],
31073 ldaf: i32,
31074 ipiv: &mut [i32],
31075 b: &[c32],
31076 ldb: i32,
31077 x: &mut [c32],
31078 ldx: i32,
31079 rcond: &mut f32,
31080 ferr: &mut [f32],
31081 berr: &mut [f32],
31082 work: &mut [c32],
31083 lwork: i32,
31084 rwork: &mut [f32],
31085 info: &mut i32,
31086) {
31087 ffi::csysvx_(
31088 &(fact as c_char),
31089 &(uplo as c_char),
31090 &n,
31091 &nrhs,
31092 a.as_ptr() as *const _,
31093 &lda,
31094 af.as_mut_ptr() as *mut _,
31095 &ldaf,
31096 ipiv.as_mut_ptr(),
31097 b.as_ptr() as *const _,
31098 &ldb,
31099 x.as_mut_ptr() as *mut _,
31100 &ldx,
31101 rcond,
31102 ferr.as_mut_ptr(),
31103 berr.as_mut_ptr(),
31104 work.as_mut_ptr() as *mut _,
31105 &lwork,
31106 rwork.as_mut_ptr(),
31107 info,
31108 )
31109}
31110
31111#[inline]
31112pub unsafe fn dsysvx(
31113 fact: u8,
31114 uplo: u8,
31115 n: i32,
31116 nrhs: i32,
31117 a: &[f64],
31118 lda: i32,
31119 af: &mut [f64],
31120 ldaf: i32,
31121 ipiv: &mut [i32],
31122 b: &[f64],
31123 ldb: i32,
31124 x: &mut [f64],
31125 ldx: i32,
31126 rcond: &mut f64,
31127 ferr: &mut [f64],
31128 berr: &mut [f64],
31129 work: &mut [f64],
31130 lwork: i32,
31131 iwork: &mut [i32],
31132 info: &mut i32,
31133) {
31134 ffi::dsysvx_(
31135 &(fact as c_char),
31136 &(uplo as c_char),
31137 &n,
31138 &nrhs,
31139 a.as_ptr(),
31140 &lda,
31141 af.as_mut_ptr(),
31142 &ldaf,
31143 ipiv.as_mut_ptr(),
31144 b.as_ptr(),
31145 &ldb,
31146 x.as_mut_ptr(),
31147 &ldx,
31148 rcond,
31149 ferr.as_mut_ptr(),
31150 berr.as_mut_ptr(),
31151 work.as_mut_ptr(),
31152 &lwork,
31153 iwork.as_mut_ptr(),
31154 info,
31155 )
31156}
31157
31158#[inline]
31159pub unsafe fn ssysvx(
31160 fact: u8,
31161 uplo: u8,
31162 n: i32,
31163 nrhs: i32,
31164 a: &[f32],
31165 lda: i32,
31166 af: &mut [f32],
31167 ldaf: i32,
31168 ipiv: &mut [i32],
31169 b: &[f32],
31170 ldb: i32,
31171 x: &mut [f32],
31172 ldx: i32,
31173 rcond: &mut f32,
31174 ferr: &mut [f32],
31175 berr: &mut [f32],
31176 work: &mut [f32],
31177 lwork: i32,
31178 iwork: &mut [i32],
31179 info: &mut i32,
31180) {
31181 ffi::ssysvx_(
31182 &(fact as c_char),
31183 &(uplo as c_char),
31184 &n,
31185 &nrhs,
31186 a.as_ptr(),
31187 &lda,
31188 af.as_mut_ptr(),
31189 &ldaf,
31190 ipiv.as_mut_ptr(),
31191 b.as_ptr(),
31192 &ldb,
31193 x.as_mut_ptr(),
31194 &ldx,
31195 rcond,
31196 ferr.as_mut_ptr(),
31197 berr.as_mut_ptr(),
31198 work.as_mut_ptr(),
31199 &lwork,
31200 iwork.as_mut_ptr(),
31201 info,
31202 )
31203}
31204
31205#[inline]
31206pub unsafe fn zsysvx(
31207 fact: u8,
31208 uplo: u8,
31209 n: i32,
31210 nrhs: i32,
31211 a: &[c64],
31212 lda: i32,
31213 af: &mut [c64],
31214 ldaf: i32,
31215 ipiv: &mut [i32],
31216 b: &[c64],
31217 ldb: i32,
31218 x: &mut [c64],
31219 ldx: i32,
31220 rcond: &mut f64,
31221 ferr: &mut [f64],
31222 berr: &mut [f64],
31223 work: &mut [c64],
31224 lwork: i32,
31225 rwork: &mut [f64],
31226 info: &mut i32,
31227) {
31228 ffi::zsysvx_(
31229 &(fact as c_char),
31230 &(uplo as c_char),
31231 &n,
31232 &nrhs,
31233 a.as_ptr() as *const _,
31234 &lda,
31235 af.as_mut_ptr() as *mut _,
31236 &ldaf,
31237 ipiv.as_mut_ptr(),
31238 b.as_ptr() as *const _,
31239 &ldb,
31240 x.as_mut_ptr() as *mut _,
31241 &ldx,
31242 rcond,
31243 ferr.as_mut_ptr(),
31244 berr.as_mut_ptr(),
31245 work.as_mut_ptr() as *mut _,
31246 &lwork,
31247 rwork.as_mut_ptr(),
31248 info,
31249 )
31250}
31251
31252#[inline]
31253pub unsafe fn csysvxx(
31254 fact: u8,
31255 uplo: u8,
31256 n: i32,
31257 nrhs: i32,
31258 a: &mut [c32],
31259 lda: i32,
31260 af: &mut [c32],
31261 ldaf: i32,
31262 ipiv: &mut [i32],
31263 equed: &mut u8,
31264 s: &mut [f32],
31265 b: &mut [c32],
31266 ldb: i32,
31267 x: &mut [c32],
31268 ldx: i32,
31269 rcond: &mut f32,
31270 rpvgrw: &mut f32,
31271 berr: &mut [f32],
31272 n_err_bnds: i32,
31273 err_bnds_norm: &mut [f32],
31274 err_bnds_comp: &mut [f32],
31275 nparams: &[i32],
31276 params: &mut [f32],
31277 work: &mut [c32],
31278 rwork: &mut [f32],
31279 info: &mut i32,
31280) {
31281 ffi::csysvxx_(
31282 &(fact as c_char),
31283 &(uplo as c_char),
31284 &n,
31285 &nrhs,
31286 a.as_mut_ptr() as *mut _,
31287 &lda,
31288 af.as_mut_ptr() as *mut _,
31289 &ldaf,
31290 ipiv.as_mut_ptr(),
31291 equed as *mut _ as *mut _,
31292 s.as_mut_ptr(),
31293 b.as_mut_ptr() as *mut _,
31294 &ldb,
31295 x.as_mut_ptr() as *mut _,
31296 &ldx,
31297 rcond,
31298 rpvgrw,
31299 berr.as_mut_ptr(),
31300 &n_err_bnds,
31301 err_bnds_norm.as_mut_ptr(),
31302 err_bnds_comp.as_mut_ptr(),
31303 nparams.as_ptr(),
31304 params.as_mut_ptr(),
31305 work.as_mut_ptr() as *mut _,
31306 rwork.as_mut_ptr(),
31307 info,
31308 )
31309}
31310
31311#[inline]
31312pub unsafe fn dsysvxx(
31313 fact: u8,
31314 uplo: u8,
31315 n: i32,
31316 nrhs: i32,
31317 a: &mut [f64],
31318 lda: i32,
31319 af: &mut [f64],
31320 ldaf: i32,
31321 ipiv: &mut [i32],
31322 equed: &mut u8,
31323 s: &mut [f64],
31324 b: &mut [f64],
31325 ldb: i32,
31326 x: &mut [f64],
31327 ldx: i32,
31328 rcond: &mut f64,
31329 rpvgrw: &mut f64,
31330 berr: &mut [f64],
31331 n_err_bnds: i32,
31332 err_bnds_norm: &mut [f64],
31333 err_bnds_comp: &mut [f64],
31334 nparams: &[i32],
31335 params: &mut [f64],
31336 work: &mut [f64],
31337 iwork: &mut [i32],
31338 info: &mut i32,
31339) {
31340 ffi::dsysvxx_(
31341 &(fact as c_char),
31342 &(uplo as c_char),
31343 &n,
31344 &nrhs,
31345 a.as_mut_ptr(),
31346 &lda,
31347 af.as_mut_ptr(),
31348 &ldaf,
31349 ipiv.as_mut_ptr(),
31350 equed as *mut _ as *mut _,
31351 s.as_mut_ptr(),
31352 b.as_mut_ptr(),
31353 &ldb,
31354 x.as_mut_ptr(),
31355 &ldx,
31356 rcond,
31357 rpvgrw,
31358 berr.as_mut_ptr(),
31359 &n_err_bnds,
31360 err_bnds_norm.as_mut_ptr(),
31361 err_bnds_comp.as_mut_ptr(),
31362 nparams.as_ptr(),
31363 params.as_mut_ptr(),
31364 work.as_mut_ptr(),
31365 iwork.as_mut_ptr(),
31366 info,
31367 )
31368}
31369
31370#[inline]
31371pub unsafe fn ssysvxx(
31372 fact: u8,
31373 uplo: u8,
31374 n: i32,
31375 nrhs: i32,
31376 a: &mut [f32],
31377 lda: i32,
31378 af: &mut [f32],
31379 ldaf: i32,
31380 ipiv: &mut [i32],
31381 equed: &mut u8,
31382 s: &mut [f32],
31383 b: &mut [f32],
31384 ldb: i32,
31385 x: &mut [f32],
31386 ldx: i32,
31387 rcond: &mut f32,
31388 rpvgrw: &mut f32,
31389 berr: &mut [f32],
31390 n_err_bnds: i32,
31391 err_bnds_norm: &mut [f32],
31392 err_bnds_comp: &mut [f32],
31393 nparams: &[i32],
31394 params: &mut [f32],
31395 work: &mut [f32],
31396 iwork: &mut [i32],
31397 info: &mut i32,
31398) {
31399 ffi::ssysvxx_(
31400 &(fact as c_char),
31401 &(uplo as c_char),
31402 &n,
31403 &nrhs,
31404 a.as_mut_ptr(),
31405 &lda,
31406 af.as_mut_ptr(),
31407 &ldaf,
31408 ipiv.as_mut_ptr(),
31409 equed as *mut _ as *mut _,
31410 s.as_mut_ptr(),
31411 b.as_mut_ptr(),
31412 &ldb,
31413 x.as_mut_ptr(),
31414 &ldx,
31415 rcond,
31416 rpvgrw,
31417 berr.as_mut_ptr(),
31418 &n_err_bnds,
31419 err_bnds_norm.as_mut_ptr(),
31420 err_bnds_comp.as_mut_ptr(),
31421 nparams.as_ptr(),
31422 params.as_mut_ptr(),
31423 work.as_mut_ptr(),
31424 iwork.as_mut_ptr(),
31425 info,
31426 )
31427}
31428
31429#[inline]
31430pub unsafe fn zsysvxx(
31431 fact: u8,
31432 uplo: u8,
31433 n: i32,
31434 nrhs: i32,
31435 a: &mut [c64],
31436 lda: i32,
31437 af: &mut [c64],
31438 ldaf: i32,
31439 ipiv: &mut [i32],
31440 equed: &mut u8,
31441 s: &mut [f64],
31442 b: &mut [c64],
31443 ldb: i32,
31444 x: &mut [c64],
31445 ldx: i32,
31446 rcond: &mut f64,
31447 rpvgrw: &mut f64,
31448 berr: &mut [f64],
31449 n_err_bnds: i32,
31450 err_bnds_norm: &mut [f64],
31451 err_bnds_comp: &mut [f64],
31452 nparams: &[i32],
31453 params: &mut [f64],
31454 work: &mut [c64],
31455 rwork: &mut [f64],
31456 info: &mut i32,
31457) {
31458 ffi::zsysvxx_(
31459 &(fact as c_char),
31460 &(uplo as c_char),
31461 &n,
31462 &nrhs,
31463 a.as_mut_ptr() as *mut _,
31464 &lda,
31465 af.as_mut_ptr() as *mut _,
31466 &ldaf,
31467 ipiv.as_mut_ptr(),
31468 equed as *mut _ as *mut _,
31469 s.as_mut_ptr(),
31470 b.as_mut_ptr() as *mut _,
31471 &ldb,
31472 x.as_mut_ptr() as *mut _,
31473 &ldx,
31474 rcond,
31475 rpvgrw,
31476 berr.as_mut_ptr(),
31477 &n_err_bnds,
31478 err_bnds_norm.as_mut_ptr(),
31479 err_bnds_comp.as_mut_ptr(),
31480 nparams.as_ptr(),
31481 params.as_mut_ptr(),
31482 work.as_mut_ptr() as *mut _,
31483 rwork.as_mut_ptr(),
31484 info,
31485 )
31486}
31487
31488#[inline]
31489pub unsafe fn csyswapr(uplo: u8, n: i32, a: &mut [c32], lda: i32, i1: &[i32], i2: &[i32]) {
31490 ffi::csyswapr_(
31491 &(uplo as c_char),
31492 &n,
31493 a.as_mut_ptr() as *mut _,
31494 &lda,
31495 i1.as_ptr(),
31496 i2.as_ptr(),
31497 )
31498}
31499
31500#[inline]
31501pub unsafe fn dsyswapr(uplo: u8, n: i32, a: &mut [f64], lda: i32, i1: &[i32], i2: &[i32]) {
31502 ffi::dsyswapr_(
31503 &(uplo as c_char),
31504 &n,
31505 a.as_mut_ptr(),
31506 &lda,
31507 i1.as_ptr(),
31508 i2.as_ptr(),
31509 )
31510}
31511
31512#[inline]
31513pub unsafe fn ssyswapr(uplo: u8, n: i32, a: &mut [f32], lda: i32, i1: &[i32], i2: &[i32]) {
31514 ffi::ssyswapr_(
31515 &(uplo as c_char),
31516 &n,
31517 a.as_mut_ptr(),
31518 &lda,
31519 i1.as_ptr(),
31520 i2.as_ptr(),
31521 )
31522}
31523
31524#[inline]
31525pub unsafe fn zsyswapr(uplo: u8, n: i32, a: &mut [c64], lda: i32, i1: &[i32], i2: &[i32]) {
31526 ffi::zsyswapr_(
31527 &(uplo as c_char),
31528 &n,
31529 a.as_mut_ptr() as *mut _,
31530 &lda,
31531 i1.as_ptr(),
31532 i2.as_ptr(),
31533 )
31534}
31535
31536#[inline]
31537pub unsafe fn dsytrd(
31538 uplo: u8,
31539 n: i32,
31540 a: &mut [f64],
31541 lda: i32,
31542 d: &mut [f64],
31543 e: &mut [f64],
31544 tau: &mut [f64],
31545 work: &mut [f64],
31546 lwork: i32,
31547 info: &mut i32,
31548) {
31549 ffi::dsytrd_(
31550 &(uplo as c_char),
31551 &n,
31552 a.as_mut_ptr(),
31553 &lda,
31554 d.as_mut_ptr(),
31555 e.as_mut_ptr(),
31556 tau.as_mut_ptr(),
31557 work.as_mut_ptr(),
31558 &lwork,
31559 info,
31560 )
31561}
31562
31563#[inline]
31564pub unsafe fn ssytrd(
31565 uplo: u8,
31566 n: i32,
31567 a: &mut [f32],
31568 lda: i32,
31569 d: &mut [f32],
31570 e: &mut [f32],
31571 tau: &mut [f32],
31572 work: &mut [f32],
31573 lwork: i32,
31574 info: &mut i32,
31575) {
31576 ffi::ssytrd_(
31577 &(uplo as c_char),
31578 &n,
31579 a.as_mut_ptr(),
31580 &lda,
31581 d.as_mut_ptr(),
31582 e.as_mut_ptr(),
31583 tau.as_mut_ptr(),
31584 work.as_mut_ptr(),
31585 &lwork,
31586 info,
31587 )
31588}
31589
31590#[inline]
31591pub unsafe fn dsytrd_2stage(
31592 vect: u8,
31593 uplo: u8,
31594 n: i32,
31595 a: &mut [f64],
31596 lda: i32,
31597 d: &mut [f64],
31598 e: &mut [f64],
31599 tau: &mut [f64],
31600 hous2: &mut [f64],
31601 lhous2: &[i32],
31602 work: &mut [f64],
31603 lwork: i32,
31604 info: &mut i32,
31605) {
31606 ffi::dsytrd_2stage_(
31607 &(vect as c_char),
31608 &(uplo as c_char),
31609 &n,
31610 a.as_mut_ptr(),
31611 &lda,
31612 d.as_mut_ptr(),
31613 e.as_mut_ptr(),
31614 tau.as_mut_ptr(),
31615 hous2.as_mut_ptr(),
31616 lhous2.as_ptr(),
31617 work.as_mut_ptr(),
31618 &lwork,
31619 info,
31620 )
31621}
31622
31623#[inline]
31624pub unsafe fn ssytrd_2stage(
31625 vect: u8,
31626 uplo: u8,
31627 n: i32,
31628 a: &mut [f32],
31629 lda: i32,
31630 d: &mut [f32],
31631 e: &mut [f32],
31632 tau: &mut [f32],
31633 hous2: &mut [f32],
31634 lhous2: &[i32],
31635 work: &mut [f32],
31636 lwork: i32,
31637 info: &mut i32,
31638) {
31639 ffi::ssytrd_2stage_(
31640 &(vect as c_char),
31641 &(uplo as c_char),
31642 &n,
31643 a.as_mut_ptr(),
31644 &lda,
31645 d.as_mut_ptr(),
31646 e.as_mut_ptr(),
31647 tau.as_mut_ptr(),
31648 hous2.as_mut_ptr(),
31649 lhous2.as_ptr(),
31650 work.as_mut_ptr(),
31651 &lwork,
31652 info,
31653 )
31654}
31655
31656#[inline]
31657pub unsafe fn csytrf(
31658 uplo: u8,
31659 n: i32,
31660 a: &mut [c32],
31661 lda: i32,
31662 ipiv: &mut [i32],
31663 work: &mut [c32],
31664 lwork: i32,
31665 info: &mut i32,
31666) {
31667 ffi::csytrf_(
31668 &(uplo as c_char),
31669 &n,
31670 a.as_mut_ptr() as *mut _,
31671 &lda,
31672 ipiv.as_mut_ptr(),
31673 work.as_mut_ptr() as *mut _,
31674 &lwork,
31675 info,
31676 )
31677}
31678
31679#[inline]
31680pub unsafe fn dsytrf(
31681 uplo: u8,
31682 n: i32,
31683 a: &mut [f64],
31684 lda: i32,
31685 ipiv: &mut [i32],
31686 work: &mut [f64],
31687 lwork: i32,
31688 info: &mut i32,
31689) {
31690 ffi::dsytrf_(
31691 &(uplo as c_char),
31692 &n,
31693 a.as_mut_ptr(),
31694 &lda,
31695 ipiv.as_mut_ptr(),
31696 work.as_mut_ptr(),
31697 &lwork,
31698 info,
31699 )
31700}
31701
31702#[inline]
31703pub unsafe fn ssytrf(
31704 uplo: u8,
31705 n: i32,
31706 a: &mut [f32],
31707 lda: i32,
31708 ipiv: &mut [i32],
31709 work: &mut [f32],
31710 lwork: i32,
31711 info: &mut i32,
31712) {
31713 ffi::ssytrf_(
31714 &(uplo as c_char),
31715 &n,
31716 a.as_mut_ptr(),
31717 &lda,
31718 ipiv.as_mut_ptr(),
31719 work.as_mut_ptr(),
31720 &lwork,
31721 info,
31722 )
31723}
31724
31725#[inline]
31726pub unsafe fn zsytrf(
31727 uplo: u8,
31728 n: i32,
31729 a: &mut [c64],
31730 lda: i32,
31731 ipiv: &mut [i32],
31732 work: &mut [c64],
31733 lwork: i32,
31734 info: &mut i32,
31735) {
31736 ffi::zsytrf_(
31737 &(uplo as c_char),
31738 &n,
31739 a.as_mut_ptr() as *mut _,
31740 &lda,
31741 ipiv.as_mut_ptr(),
31742 work.as_mut_ptr() as *mut _,
31743 &lwork,
31744 info,
31745 )
31746}
31747
31748#[inline]
31749pub unsafe fn csytrf_aa(
31750 uplo: u8,
31751 n: i32,
31752 a: &mut [c32],
31753 lda: i32,
31754 ipiv: &mut [i32],
31755 work: &mut [c32],
31756 lwork: i32,
31757 info: &mut i32,
31758) {
31759 ffi::csytrf_aa_(
31760 &(uplo as c_char),
31761 &n,
31762 a.as_mut_ptr() as *mut _,
31763 &lda,
31764 ipiv.as_mut_ptr(),
31765 work.as_mut_ptr() as *mut _,
31766 &lwork,
31767 info,
31768 )
31769}
31770
31771#[inline]
31772pub unsafe fn dsytrf_aa(
31773 uplo: u8,
31774 n: i32,
31775 a: &mut [f64],
31776 lda: i32,
31777 ipiv: &mut [i32],
31778 work: &mut [f64],
31779 lwork: i32,
31780 info: &mut i32,
31781) {
31782 ffi::dsytrf_aa_(
31783 &(uplo as c_char),
31784 &n,
31785 a.as_mut_ptr(),
31786 &lda,
31787 ipiv.as_mut_ptr(),
31788 work.as_mut_ptr(),
31789 &lwork,
31790 info,
31791 )
31792}
31793
31794#[inline]
31795pub unsafe fn ssytrf_aa(
31796 uplo: u8,
31797 n: i32,
31798 a: &mut [f32],
31799 lda: i32,
31800 ipiv: &mut [i32],
31801 work: &mut [f32],
31802 lwork: i32,
31803 info: &mut i32,
31804) {
31805 ffi::ssytrf_aa_(
31806 &(uplo as c_char),
31807 &n,
31808 a.as_mut_ptr(),
31809 &lda,
31810 ipiv.as_mut_ptr(),
31811 work.as_mut_ptr(),
31812 &lwork,
31813 info,
31814 )
31815}
31816
31817#[inline]
31818pub unsafe fn zsytrf_aa(
31819 uplo: u8,
31820 n: i32,
31821 a: &mut [c64],
31822 lda: i32,
31823 ipiv: &mut [i32],
31824 work: &mut [c64],
31825 lwork: i32,
31826 info: &mut i32,
31827) {
31828 ffi::zsytrf_aa_(
31829 &(uplo as c_char),
31830 &n,
31831 a.as_mut_ptr() as *mut _,
31832 &lda,
31833 ipiv.as_mut_ptr(),
31834 work.as_mut_ptr() as *mut _,
31835 &lwork,
31836 info,
31837 )
31838}
31839
31840#[inline]
31841pub unsafe fn csytrf_aa_2stage(
31842 uplo: u8,
31843 n: i32,
31844 a: &mut [c32],
31845 lda: i32,
31846 tb: &mut [c32],
31847 ltb: &[i32],
31848 ipiv: &mut [i32],
31849 ipiv2: &mut [i32],
31850 work: &mut [c32],
31851 lwork: i32,
31852 info: &mut i32,
31853) {
31854 ffi::csytrf_aa_2stage_(
31855 &(uplo as c_char),
31856 &n,
31857 a.as_mut_ptr() as *mut _,
31858 &lda,
31859 tb.as_mut_ptr() as *mut _,
31860 ltb.as_ptr(),
31861 ipiv.as_mut_ptr(),
31862 ipiv2.as_mut_ptr(),
31863 work.as_mut_ptr() as *mut _,
31864 &lwork,
31865 info,
31866 )
31867}
31868
31869#[inline]
31870pub unsafe fn dsytrf_aa_2stage(
31871 uplo: u8,
31872 n: i32,
31873 a: &mut [f64],
31874 lda: i32,
31875 tb: &mut [f64],
31876 ltb: &[i32],
31877 ipiv: &mut [i32],
31878 ipiv2: &mut [i32],
31879 work: &mut [f64],
31880 lwork: i32,
31881 info: &mut i32,
31882) {
31883 ffi::dsytrf_aa_2stage_(
31884 &(uplo as c_char),
31885 &n,
31886 a.as_mut_ptr(),
31887 &lda,
31888 tb.as_mut_ptr(),
31889 ltb.as_ptr(),
31890 ipiv.as_mut_ptr(),
31891 ipiv2.as_mut_ptr(),
31892 work.as_mut_ptr(),
31893 &lwork,
31894 info,
31895 )
31896}
31897
31898#[inline]
31899pub unsafe fn ssytrf_aa_2stage(
31900 uplo: u8,
31901 n: i32,
31902 a: &mut [f32],
31903 lda: i32,
31904 tb: &mut [f32],
31905 ltb: &[i32],
31906 ipiv: &mut [i32],
31907 ipiv2: &mut [i32],
31908 work: &mut [f32],
31909 lwork: i32,
31910 info: &mut i32,
31911) {
31912 ffi::ssytrf_aa_2stage_(
31913 &(uplo as c_char),
31914 &n,
31915 a.as_mut_ptr(),
31916 &lda,
31917 tb.as_mut_ptr(),
31918 ltb.as_ptr(),
31919 ipiv.as_mut_ptr(),
31920 ipiv2.as_mut_ptr(),
31921 work.as_mut_ptr(),
31922 &lwork,
31923 info,
31924 )
31925}
31926
31927#[inline]
31928pub unsafe fn zsytrf_aa_2stage(
31929 uplo: u8,
31930 n: i32,
31931 a: &mut [c64],
31932 lda: i32,
31933 tb: &mut [c64],
31934 ltb: &[i32],
31935 ipiv: &mut [i32],
31936 ipiv2: &mut [i32],
31937 work: &mut [c64],
31938 lwork: i32,
31939 info: &mut i32,
31940) {
31941 ffi::zsytrf_aa_2stage_(
31942 &(uplo as c_char),
31943 &n,
31944 a.as_mut_ptr() as *mut _,
31945 &lda,
31946 tb.as_mut_ptr() as *mut _,
31947 ltb.as_ptr(),
31948 ipiv.as_mut_ptr(),
31949 ipiv2.as_mut_ptr(),
31950 work.as_mut_ptr() as *mut _,
31951 &lwork,
31952 info,
31953 )
31954}
31955
31956#[inline]
31957pub unsafe fn csytrf_rk(
31958 uplo: u8,
31959 n: i32,
31960 a: &mut [c32],
31961 lda: i32,
31962 e: &mut [c32],
31963 ipiv: &mut [i32],
31964 work: &mut [c32],
31965 lwork: i32,
31966 info: &mut i32,
31967) {
31968 ffi::csytrf_rk_(
31969 &(uplo as c_char),
31970 &n,
31971 a.as_mut_ptr() as *mut _,
31972 &lda,
31973 e.as_mut_ptr() as *mut _,
31974 ipiv.as_mut_ptr(),
31975 work.as_mut_ptr() as *mut _,
31976 &lwork,
31977 info,
31978 )
31979}
31980
31981#[inline]
31982pub unsafe fn dsytrf_rk(
31983 uplo: u8,
31984 n: i32,
31985 a: &mut [f64],
31986 lda: i32,
31987 e: &mut [f64],
31988 ipiv: &mut [i32],
31989 work: &mut [f64],
31990 lwork: i32,
31991 info: &mut i32,
31992) {
31993 ffi::dsytrf_rk_(
31994 &(uplo as c_char),
31995 &n,
31996 a.as_mut_ptr(),
31997 &lda,
31998 e.as_mut_ptr(),
31999 ipiv.as_mut_ptr(),
32000 work.as_mut_ptr(),
32001 &lwork,
32002 info,
32003 )
32004}
32005
32006#[inline]
32007pub unsafe fn ssytrf_rk(
32008 uplo: u8,
32009 n: i32,
32010 a: &mut [f32],
32011 lda: i32,
32012 e: &mut [f32],
32013 ipiv: &mut [i32],
32014 work: &mut [f32],
32015 lwork: i32,
32016 info: &mut i32,
32017) {
32018 ffi::ssytrf_rk_(
32019 &(uplo as c_char),
32020 &n,
32021 a.as_mut_ptr(),
32022 &lda,
32023 e.as_mut_ptr(),
32024 ipiv.as_mut_ptr(),
32025 work.as_mut_ptr(),
32026 &lwork,
32027 info,
32028 )
32029}
32030
32031#[inline]
32032pub unsafe fn zsytrf_rk(
32033 uplo: u8,
32034 n: i32,
32035 a: &mut [c64],
32036 lda: i32,
32037 e: &mut [c64],
32038 ipiv: &mut [i32],
32039 work: &mut [c64],
32040 lwork: i32,
32041 info: &mut i32,
32042) {
32043 ffi::zsytrf_rk_(
32044 &(uplo as c_char),
32045 &n,
32046 a.as_mut_ptr() as *mut _,
32047 &lda,
32048 e.as_mut_ptr() as *mut _,
32049 ipiv.as_mut_ptr(),
32050 work.as_mut_ptr() as *mut _,
32051 &lwork,
32052 info,
32053 )
32054}
32055
32056#[inline]
32057pub unsafe fn csytrf_rook(
32058 uplo: u8,
32059 n: i32,
32060 a: &mut [c32],
32061 lda: i32,
32062 ipiv: &mut [i32],
32063 work: &mut [c32],
32064 lwork: i32,
32065 info: &mut i32,
32066) {
32067 ffi::csytrf_rook_(
32068 &(uplo as c_char),
32069 &n,
32070 a.as_mut_ptr() as *mut _,
32071 &lda,
32072 ipiv.as_mut_ptr(),
32073 work.as_mut_ptr() as *mut _,
32074 &lwork,
32075 info,
32076 )
32077}
32078
32079#[inline]
32080pub unsafe fn dsytrf_rook(
32081 uplo: u8,
32082 n: i32,
32083 a: &mut [f64],
32084 lda: i32,
32085 ipiv: &mut [i32],
32086 work: &mut [f64],
32087 lwork: i32,
32088 info: &mut i32,
32089) {
32090 ffi::dsytrf_rook_(
32091 &(uplo as c_char),
32092 &n,
32093 a.as_mut_ptr(),
32094 &lda,
32095 ipiv.as_mut_ptr(),
32096 work.as_mut_ptr(),
32097 &lwork,
32098 info,
32099 )
32100}
32101
32102#[inline]
32103pub unsafe fn ssytrf_rook(
32104 uplo: u8,
32105 n: i32,
32106 a: &mut [f32],
32107 lda: i32,
32108 ipiv: &mut [i32],
32109 work: &mut [f32],
32110 lwork: i32,
32111 info: &mut i32,
32112) {
32113 ffi::ssytrf_rook_(
32114 &(uplo as c_char),
32115 &n,
32116 a.as_mut_ptr(),
32117 &lda,
32118 ipiv.as_mut_ptr(),
32119 work.as_mut_ptr(),
32120 &lwork,
32121 info,
32122 )
32123}
32124
32125#[inline]
32126pub unsafe fn zsytrf_rook(
32127 uplo: u8,
32128 n: i32,
32129 a: &mut [c64],
32130 lda: i32,
32131 ipiv: &mut [i32],
32132 work: &mut [c64],
32133 lwork: i32,
32134 info: &mut i32,
32135) {
32136 ffi::zsytrf_rook_(
32137 &(uplo as c_char),
32138 &n,
32139 a.as_mut_ptr() as *mut _,
32140 &lda,
32141 ipiv.as_mut_ptr(),
32142 work.as_mut_ptr() as *mut _,
32143 &lwork,
32144 info,
32145 )
32146}
32147
32148#[inline]
32149pub unsafe fn csytri(
32150 uplo: u8,
32151 n: i32,
32152 a: &mut [c32],
32153 lda: i32,
32154 ipiv: &[i32],
32155 work: &mut [c32],
32156 info: &mut i32,
32157) {
32158 ffi::csytri_(
32159 &(uplo as c_char),
32160 &n,
32161 a.as_mut_ptr() as *mut _,
32162 &lda,
32163 ipiv.as_ptr(),
32164 work.as_mut_ptr() as *mut _,
32165 info,
32166 )
32167}
32168
32169#[inline]
32170pub unsafe fn dsytri(
32171 uplo: u8,
32172 n: i32,
32173 a: &mut [f64],
32174 lda: i32,
32175 ipiv: &[i32],
32176 work: &mut [f64],
32177 info: &mut i32,
32178) {
32179 ffi::dsytri_(
32180 &(uplo as c_char),
32181 &n,
32182 a.as_mut_ptr(),
32183 &lda,
32184 ipiv.as_ptr(),
32185 work.as_mut_ptr(),
32186 info,
32187 )
32188}
32189
32190#[inline]
32191pub unsafe fn ssytri(
32192 uplo: u8,
32193 n: i32,
32194 a: &mut [f32],
32195 lda: i32,
32196 ipiv: &[i32],
32197 work: &mut [f32],
32198 info: &mut i32,
32199) {
32200 ffi::ssytri_(
32201 &(uplo as c_char),
32202 &n,
32203 a.as_mut_ptr(),
32204 &lda,
32205 ipiv.as_ptr(),
32206 work.as_mut_ptr(),
32207 info,
32208 )
32209}
32210
32211#[inline]
32212pub unsafe fn zsytri(
32213 uplo: u8,
32214 n: i32,
32215 a: &mut [c64],
32216 lda: i32,
32217 ipiv: &[i32],
32218 work: &mut [c64],
32219 info: &mut i32,
32220) {
32221 ffi::zsytri_(
32222 &(uplo as c_char),
32223 &n,
32224 a.as_mut_ptr() as *mut _,
32225 &lda,
32226 ipiv.as_ptr(),
32227 work.as_mut_ptr() as *mut _,
32228 info,
32229 )
32230}
32231
32232#[inline]
32233pub unsafe fn csytri2(
32234 uplo: u8,
32235 n: i32,
32236 a: &mut [c32],
32237 lda: i32,
32238 ipiv: &[i32],
32239 work: &mut [c32],
32240 lwork: i32,
32241 info: &mut i32,
32242) {
32243 ffi::csytri2_(
32244 &(uplo as c_char),
32245 &n,
32246 a.as_mut_ptr() as *mut _,
32247 &lda,
32248 ipiv.as_ptr(),
32249 work.as_mut_ptr() as *mut _,
32250 &lwork,
32251 info,
32252 )
32253}
32254
32255#[inline]
32256pub unsafe fn dsytri2(
32257 uplo: u8,
32258 n: i32,
32259 a: &mut [f64],
32260 lda: i32,
32261 ipiv: &[i32],
32262 work: &mut [f64],
32263 lwork: i32,
32264 info: &mut i32,
32265) {
32266 ffi::dsytri2_(
32267 &(uplo as c_char),
32268 &n,
32269 a.as_mut_ptr(),
32270 &lda,
32271 ipiv.as_ptr(),
32272 work.as_mut_ptr(),
32273 &lwork,
32274 info,
32275 )
32276}
32277
32278#[inline]
32279pub unsafe fn ssytri2(
32280 uplo: u8,
32281 n: i32,
32282 a: &mut [f32],
32283 lda: i32,
32284 ipiv: &[i32],
32285 work: &mut [f32],
32286 lwork: i32,
32287 info: &mut i32,
32288) {
32289 ffi::ssytri2_(
32290 &(uplo as c_char),
32291 &n,
32292 a.as_mut_ptr(),
32293 &lda,
32294 ipiv.as_ptr(),
32295 work.as_mut_ptr(),
32296 &lwork,
32297 info,
32298 )
32299}
32300
32301#[inline]
32302pub unsafe fn zsytri2(
32303 uplo: u8,
32304 n: i32,
32305 a: &mut [c64],
32306 lda: i32,
32307 ipiv: &[i32],
32308 work: &mut [c64],
32309 lwork: i32,
32310 info: &mut i32,
32311) {
32312 ffi::zsytri2_(
32313 &(uplo as c_char),
32314 &n,
32315 a.as_mut_ptr() as *mut _,
32316 &lda,
32317 ipiv.as_ptr(),
32318 work.as_mut_ptr() as *mut _,
32319 &lwork,
32320 info,
32321 )
32322}
32323
32324#[inline]
32325pub unsafe fn csytri2x(
32326 uplo: u8,
32327 n: i32,
32328 a: &mut [c32],
32329 lda: i32,
32330 ipiv: &[i32],
32331 work: &mut [c32],
32332 nb: i32,
32333 info: &mut i32,
32334) {
32335 ffi::csytri2x_(
32336 &(uplo as c_char),
32337 &n,
32338 a.as_mut_ptr() as *mut _,
32339 &lda,
32340 ipiv.as_ptr(),
32341 work.as_mut_ptr() as *mut _,
32342 &nb,
32343 info,
32344 )
32345}
32346
32347#[inline]
32348pub unsafe fn dsytri2x(
32349 uplo: u8,
32350 n: i32,
32351 a: &mut [f64],
32352 lda: i32,
32353 ipiv: &[i32],
32354 work: &mut [f64],
32355 nb: i32,
32356 info: &mut i32,
32357) {
32358 ffi::dsytri2x_(
32359 &(uplo as c_char),
32360 &n,
32361 a.as_mut_ptr(),
32362 &lda,
32363 ipiv.as_ptr(),
32364 work.as_mut_ptr(),
32365 &nb,
32366 info,
32367 )
32368}
32369
32370#[inline]
32371pub unsafe fn ssytri2x(
32372 uplo: u8,
32373 n: i32,
32374 a: &mut [f32],
32375 lda: i32,
32376 ipiv: &[i32],
32377 work: &mut [f32],
32378 nb: i32,
32379 info: &mut i32,
32380) {
32381 ffi::ssytri2x_(
32382 &(uplo as c_char),
32383 &n,
32384 a.as_mut_ptr(),
32385 &lda,
32386 ipiv.as_ptr(),
32387 work.as_mut_ptr(),
32388 &nb,
32389 info,
32390 )
32391}
32392
32393#[inline]
32394pub unsafe fn zsytri2x(
32395 uplo: u8,
32396 n: i32,
32397 a: &mut [c64],
32398 lda: i32,
32399 ipiv: &[i32],
32400 work: &mut [c64],
32401 nb: i32,
32402 info: &mut i32,
32403) {
32404 ffi::zsytri2x_(
32405 &(uplo as c_char),
32406 &n,
32407 a.as_mut_ptr() as *mut _,
32408 &lda,
32409 ipiv.as_ptr(),
32410 work.as_mut_ptr() as *mut _,
32411 &nb,
32412 info,
32413 )
32414}
32415
32416#[inline]
32417pub unsafe fn csytri_3(
32418 uplo: u8,
32419 n: i32,
32420 a: &mut [c32],
32421 lda: i32,
32422 e: &[c32],
32423 ipiv: &[i32],
32424 work: &mut [c32],
32425 lwork: i32,
32426 info: &mut i32,
32427) {
32428 ffi::csytri_3_(
32429 &(uplo as c_char),
32430 &n,
32431 a.as_mut_ptr() as *mut _,
32432 &lda,
32433 e.as_ptr() as *const _,
32434 ipiv.as_ptr(),
32435 work.as_mut_ptr() as *mut _,
32436 &lwork,
32437 info,
32438 )
32439}
32440
32441#[inline]
32442pub unsafe fn dsytri_3(
32443 uplo: u8,
32444 n: i32,
32445 a: &mut [f64],
32446 lda: i32,
32447 e: &[f64],
32448 ipiv: &[i32],
32449 work: &mut [f64],
32450 lwork: i32,
32451 info: &mut i32,
32452) {
32453 ffi::dsytri_3_(
32454 &(uplo as c_char),
32455 &n,
32456 a.as_mut_ptr(),
32457 &lda,
32458 e.as_ptr(),
32459 ipiv.as_ptr(),
32460 work.as_mut_ptr(),
32461 &lwork,
32462 info,
32463 )
32464}
32465
32466#[inline]
32467pub unsafe fn ssytri_3(
32468 uplo: u8,
32469 n: i32,
32470 a: &mut [f32],
32471 lda: i32,
32472 e: &[f32],
32473 ipiv: &[i32],
32474 work: &mut [f32],
32475 lwork: i32,
32476 info: &mut i32,
32477) {
32478 ffi::ssytri_3_(
32479 &(uplo as c_char),
32480 &n,
32481 a.as_mut_ptr(),
32482 &lda,
32483 e.as_ptr(),
32484 ipiv.as_ptr(),
32485 work.as_mut_ptr(),
32486 &lwork,
32487 info,
32488 )
32489}
32490
32491#[inline]
32492pub unsafe fn zsytri_3(
32493 uplo: u8,
32494 n: i32,
32495 a: &mut [c64],
32496 lda: i32,
32497 e: &[c64],
32498 ipiv: &[i32],
32499 work: &mut [c64],
32500 lwork: i32,
32501 info: &mut i32,
32502) {
32503 ffi::zsytri_3_(
32504 &(uplo as c_char),
32505 &n,
32506 a.as_mut_ptr() as *mut _,
32507 &lda,
32508 e.as_ptr() as *const _,
32509 ipiv.as_ptr(),
32510 work.as_mut_ptr() as *mut _,
32511 &lwork,
32512 info,
32513 )
32514}
32515
32516#[inline]
32517pub unsafe fn csytrs(
32518 uplo: u8,
32519 n: i32,
32520 nrhs: i32,
32521 a: &[c32],
32522 lda: i32,
32523 ipiv: &[i32],
32524 b: &mut [c32],
32525 ldb: i32,
32526 info: &mut i32,
32527) {
32528 ffi::csytrs_(
32529 &(uplo as c_char),
32530 &n,
32531 &nrhs,
32532 a.as_ptr() as *const _,
32533 &lda,
32534 ipiv.as_ptr(),
32535 b.as_mut_ptr() as *mut _,
32536 &ldb,
32537 info,
32538 )
32539}
32540
32541#[inline]
32542pub unsafe fn dsytrs(
32543 uplo: u8,
32544 n: i32,
32545 nrhs: i32,
32546 a: &[f64],
32547 lda: i32,
32548 ipiv: &[i32],
32549 b: &mut [f64],
32550 ldb: i32,
32551 info: &mut i32,
32552) {
32553 ffi::dsytrs_(
32554 &(uplo as c_char),
32555 &n,
32556 &nrhs,
32557 a.as_ptr(),
32558 &lda,
32559 ipiv.as_ptr(),
32560 b.as_mut_ptr(),
32561 &ldb,
32562 info,
32563 )
32564}
32565
32566#[inline]
32567pub unsafe fn ssytrs(
32568 uplo: u8,
32569 n: i32,
32570 nrhs: i32,
32571 a: &[f32],
32572 lda: i32,
32573 ipiv: &[i32],
32574 b: &mut [f32],
32575 ldb: i32,
32576 info: &mut i32,
32577) {
32578 ffi::ssytrs_(
32579 &(uplo as c_char),
32580 &n,
32581 &nrhs,
32582 a.as_ptr(),
32583 &lda,
32584 ipiv.as_ptr(),
32585 b.as_mut_ptr(),
32586 &ldb,
32587 info,
32588 )
32589}
32590
32591#[inline]
32592pub unsafe fn zsytrs(
32593 uplo: u8,
32594 n: i32,
32595 nrhs: i32,
32596 a: &[c64],
32597 lda: i32,
32598 ipiv: &[i32],
32599 b: &mut [c64],
32600 ldb: i32,
32601 info: &mut i32,
32602) {
32603 ffi::zsytrs_(
32604 &(uplo as c_char),
32605 &n,
32606 &nrhs,
32607 a.as_ptr() as *const _,
32608 &lda,
32609 ipiv.as_ptr(),
32610 b.as_mut_ptr() as *mut _,
32611 &ldb,
32612 info,
32613 )
32614}
32615
32616#[inline]
32617pub unsafe fn csytrs2(
32618 uplo: u8,
32619 n: i32,
32620 nrhs: i32,
32621 a: &mut [c32],
32622 lda: i32,
32623 ipiv: &[i32],
32624 b: &mut [c32],
32625 ldb: i32,
32626 work: &mut [c32],
32627 info: &mut i32,
32628) {
32629 ffi::csytrs2_(
32630 &(uplo as c_char),
32631 &n,
32632 &nrhs,
32633 a.as_mut_ptr() as *mut _,
32634 &lda,
32635 ipiv.as_ptr(),
32636 b.as_mut_ptr() as *mut _,
32637 &ldb,
32638 work.as_mut_ptr() as *mut _,
32639 info,
32640 )
32641}
32642
32643#[inline]
32644pub unsafe fn dsytrs2(
32645 uplo: u8,
32646 n: i32,
32647 nrhs: i32,
32648 a: &mut [f64],
32649 lda: i32,
32650 ipiv: &[i32],
32651 b: &mut [f64],
32652 ldb: i32,
32653 work: &mut [f64],
32654 info: &mut i32,
32655) {
32656 ffi::dsytrs2_(
32657 &(uplo as c_char),
32658 &n,
32659 &nrhs,
32660 a.as_mut_ptr(),
32661 &lda,
32662 ipiv.as_ptr(),
32663 b.as_mut_ptr(),
32664 &ldb,
32665 work.as_mut_ptr(),
32666 info,
32667 )
32668}
32669
32670#[inline]
32671pub unsafe fn ssytrs2(
32672 uplo: u8,
32673 n: i32,
32674 nrhs: i32,
32675 a: &mut [f32],
32676 lda: i32,
32677 ipiv: &[i32],
32678 b: &mut [f32],
32679 ldb: i32,
32680 work: &mut [f32],
32681 info: &mut i32,
32682) {
32683 ffi::ssytrs2_(
32684 &(uplo as c_char),
32685 &n,
32686 &nrhs,
32687 a.as_mut_ptr(),
32688 &lda,
32689 ipiv.as_ptr(),
32690 b.as_mut_ptr(),
32691 &ldb,
32692 work.as_mut_ptr(),
32693 info,
32694 )
32695}
32696
32697#[inline]
32698pub unsafe fn zsytrs2(
32699 uplo: u8,
32700 n: i32,
32701 nrhs: i32,
32702 a: &mut [c64],
32703 lda: i32,
32704 ipiv: &[i32],
32705 b: &mut [c64],
32706 ldb: i32,
32707 work: &mut [c64],
32708 info: &mut i32,
32709) {
32710 ffi::zsytrs2_(
32711 &(uplo as c_char),
32712 &n,
32713 &nrhs,
32714 a.as_mut_ptr() as *mut _,
32715 &lda,
32716 ipiv.as_ptr(),
32717 b.as_mut_ptr() as *mut _,
32718 &ldb,
32719 work.as_mut_ptr() as *mut _,
32720 info,
32721 )
32722}
32723
32724#[inline]
32725pub unsafe fn csytrs_3(
32726 uplo: u8,
32727 n: i32,
32728 nrhs: i32,
32729 a: &[c32],
32730 lda: i32,
32731 e: &[c32],
32732 ipiv: &[i32],
32733 b: &mut [c32],
32734 ldb: i32,
32735 info: &mut i32,
32736) {
32737 ffi::csytrs_3_(
32738 &(uplo as c_char),
32739 &n,
32740 &nrhs,
32741 a.as_ptr() as *const _,
32742 &lda,
32743 e.as_ptr() as *const _,
32744 ipiv.as_ptr(),
32745 b.as_mut_ptr() as *mut _,
32746 &ldb,
32747 info,
32748 )
32749}
32750
32751#[inline]
32752pub unsafe fn dsytrs_3(
32753 uplo: u8,
32754 n: i32,
32755 nrhs: i32,
32756 a: &[f64],
32757 lda: i32,
32758 e: &[f64],
32759 ipiv: &[i32],
32760 b: &mut [f64],
32761 ldb: i32,
32762 info: &mut i32,
32763) {
32764 ffi::dsytrs_3_(
32765 &(uplo as c_char),
32766 &n,
32767 &nrhs,
32768 a.as_ptr(),
32769 &lda,
32770 e.as_ptr(),
32771 ipiv.as_ptr(),
32772 b.as_mut_ptr(),
32773 &ldb,
32774 info,
32775 )
32776}
32777
32778#[inline]
32779pub unsafe fn ssytrs_3(
32780 uplo: u8,
32781 n: i32,
32782 nrhs: i32,
32783 a: &[f32],
32784 lda: i32,
32785 e: &[f32],
32786 ipiv: &[i32],
32787 b: &mut [f32],
32788 ldb: i32,
32789 info: &mut i32,
32790) {
32791 ffi::ssytrs_3_(
32792 &(uplo as c_char),
32793 &n,
32794 &nrhs,
32795 a.as_ptr(),
32796 &lda,
32797 e.as_ptr(),
32798 ipiv.as_ptr(),
32799 b.as_mut_ptr(),
32800 &ldb,
32801 info,
32802 )
32803}
32804
32805#[inline]
32806pub unsafe fn zsytrs_3(
32807 uplo: u8,
32808 n: i32,
32809 nrhs: i32,
32810 a: &[c64],
32811 lda: i32,
32812 e: &[c64],
32813 ipiv: &[i32],
32814 b: &mut [c64],
32815 ldb: i32,
32816 info: &mut i32,
32817) {
32818 ffi::zsytrs_3_(
32819 &(uplo as c_char),
32820 &n,
32821 &nrhs,
32822 a.as_ptr() as *const _,
32823 &lda,
32824 e.as_ptr() as *const _,
32825 ipiv.as_ptr(),
32826 b.as_mut_ptr() as *mut _,
32827 &ldb,
32828 info,
32829 )
32830}
32831
32832#[inline]
32833pub unsafe fn csytrs_aa(
32834 uplo: u8,
32835 n: i32,
32836 nrhs: i32,
32837 a: &[c32],
32838 lda: i32,
32839 ipiv: &[i32],
32840 b: &mut [c32],
32841 ldb: i32,
32842 work: &mut [c32],
32843 lwork: i32,
32844 info: &mut i32,
32845) {
32846 ffi::csytrs_aa_(
32847 &(uplo as c_char),
32848 &n,
32849 &nrhs,
32850 a.as_ptr() as *const _,
32851 &lda,
32852 ipiv.as_ptr(),
32853 b.as_mut_ptr() as *mut _,
32854 &ldb,
32855 work.as_mut_ptr() as *mut _,
32856 &lwork,
32857 info,
32858 )
32859}
32860
32861#[inline]
32862pub unsafe fn dsytrs_aa(
32863 uplo: u8,
32864 n: i32,
32865 nrhs: i32,
32866 a: &[f64],
32867 lda: i32,
32868 ipiv: &[i32],
32869 b: &mut [f64],
32870 ldb: i32,
32871 work: &mut [f64],
32872 lwork: i32,
32873 info: &mut i32,
32874) {
32875 ffi::dsytrs_aa_(
32876 &(uplo as c_char),
32877 &n,
32878 &nrhs,
32879 a.as_ptr(),
32880 &lda,
32881 ipiv.as_ptr(),
32882 b.as_mut_ptr(),
32883 &ldb,
32884 work.as_mut_ptr(),
32885 &lwork,
32886 info,
32887 )
32888}
32889
32890#[inline]
32891pub unsafe fn ssytrs_aa(
32892 uplo: u8,
32893 n: i32,
32894 nrhs: i32,
32895 a: &[f32],
32896 lda: i32,
32897 ipiv: &[i32],
32898 b: &mut [f32],
32899 ldb: i32,
32900 work: &mut [f32],
32901 lwork: i32,
32902 info: &mut i32,
32903) {
32904 ffi::ssytrs_aa_(
32905 &(uplo as c_char),
32906 &n,
32907 &nrhs,
32908 a.as_ptr(),
32909 &lda,
32910 ipiv.as_ptr(),
32911 b.as_mut_ptr(),
32912 &ldb,
32913 work.as_mut_ptr(),
32914 &lwork,
32915 info,
32916 )
32917}
32918
32919#[inline]
32920pub unsafe fn zsytrs_aa(
32921 uplo: u8,
32922 n: i32,
32923 nrhs: i32,
32924 a: &[c64],
32925 lda: i32,
32926 ipiv: &[i32],
32927 b: &mut [c64],
32928 ldb: i32,
32929 work: &mut [c64],
32930 lwork: i32,
32931 info: &mut i32,
32932) {
32933 ffi::zsytrs_aa_(
32934 &(uplo as c_char),
32935 &n,
32936 &nrhs,
32937 a.as_ptr() as *const _,
32938 &lda,
32939 ipiv.as_ptr(),
32940 b.as_mut_ptr() as *mut _,
32941 &ldb,
32942 work.as_mut_ptr() as *mut _,
32943 &lwork,
32944 info,
32945 )
32946}
32947
32948#[inline]
32949pub unsafe fn csytrs_aa_2stage(
32950 uplo: u8,
32951 n: i32,
32952 nrhs: i32,
32953 a: &[c32],
32954 lda: i32,
32955 tb: &mut [c32],
32956 ltb: &[i32],
32957 ipiv: &[i32],
32958 ipiv2: &[i32],
32959 b: &mut [c32],
32960 ldb: i32,
32961 info: &mut i32,
32962) {
32963 ffi::csytrs_aa_2stage_(
32964 &(uplo as c_char),
32965 &n,
32966 &nrhs,
32967 a.as_ptr() as *const _,
32968 &lda,
32969 tb.as_mut_ptr() as *mut _,
32970 ltb.as_ptr(),
32971 ipiv.as_ptr(),
32972 ipiv2.as_ptr(),
32973 b.as_mut_ptr() as *mut _,
32974 &ldb,
32975 info,
32976 )
32977}
32978
32979#[inline]
32980pub unsafe fn dsytrs_aa_2stage(
32981 uplo: u8,
32982 n: i32,
32983 nrhs: i32,
32984 a: &[f64],
32985 lda: i32,
32986 tb: &mut [f64],
32987 ltb: &[i32],
32988 ipiv: &[i32],
32989 ipiv2: &[i32],
32990 b: &mut [f64],
32991 ldb: i32,
32992 info: &mut i32,
32993) {
32994 ffi::dsytrs_aa_2stage_(
32995 &(uplo as c_char),
32996 &n,
32997 &nrhs,
32998 a.as_ptr(),
32999 &lda,
33000 tb.as_mut_ptr(),
33001 ltb.as_ptr(),
33002 ipiv.as_ptr(),
33003 ipiv2.as_ptr(),
33004 b.as_mut_ptr(),
33005 &ldb,
33006 info,
33007 )
33008}
33009
33010#[inline]
33011pub unsafe fn ssytrs_aa_2stage(
33012 uplo: u8,
33013 n: i32,
33014 nrhs: i32,
33015 a: &[f32],
33016 lda: i32,
33017 tb: &mut [f32],
33018 ltb: &[i32],
33019 ipiv: &[i32],
33020 ipiv2: &[i32],
33021 b: &mut [f32],
33022 ldb: i32,
33023 info: &mut i32,
33024) {
33025 ffi::ssytrs_aa_2stage_(
33026 &(uplo as c_char),
33027 &n,
33028 &nrhs,
33029 a.as_ptr(),
33030 &lda,
33031 tb.as_mut_ptr(),
33032 ltb.as_ptr(),
33033 ipiv.as_ptr(),
33034 ipiv2.as_ptr(),
33035 b.as_mut_ptr(),
33036 &ldb,
33037 info,
33038 )
33039}
33040
33041#[inline]
33042pub unsafe fn zsytrs_aa_2stage(
33043 uplo: u8,
33044 n: i32,
33045 nrhs: i32,
33046 a: &[c64],
33047 lda: i32,
33048 tb: &mut [c64],
33049 ltb: &[i32],
33050 ipiv: &[i32],
33051 ipiv2: &[i32],
33052 b: &mut [c64],
33053 ldb: i32,
33054 info: &mut i32,
33055) {
33056 ffi::zsytrs_aa_2stage_(
33057 &(uplo as c_char),
33058 &n,
33059 &nrhs,
33060 a.as_ptr() as *const _,
33061 &lda,
33062 tb.as_mut_ptr() as *mut _,
33063 ltb.as_ptr(),
33064 ipiv.as_ptr(),
33065 ipiv2.as_ptr(),
33066 b.as_mut_ptr() as *mut _,
33067 &ldb,
33068 info,
33069 )
33070}
33071
33072#[inline]
33073pub unsafe fn csytrs_rook(
33074 uplo: u8,
33075 n: i32,
33076 nrhs: i32,
33077 a: &[c32],
33078 lda: i32,
33079 ipiv: &[i32],
33080 b: &mut [c32],
33081 ldb: i32,
33082 info: &mut i32,
33083) {
33084 ffi::csytrs_rook_(
33085 &(uplo as c_char),
33086 &n,
33087 &nrhs,
33088 a.as_ptr() as *const _,
33089 &lda,
33090 ipiv.as_ptr(),
33091 b.as_mut_ptr() as *mut _,
33092 &ldb,
33093 info,
33094 )
33095}
33096
33097#[inline]
33098pub unsafe fn dsytrs_rook(
33099 uplo: u8,
33100 n: i32,
33101 nrhs: i32,
33102 a: &[f64],
33103 lda: i32,
33104 ipiv: &[i32],
33105 b: &mut [f64],
33106 ldb: i32,
33107 info: &mut i32,
33108) {
33109 ffi::dsytrs_rook_(
33110 &(uplo as c_char),
33111 &n,
33112 &nrhs,
33113 a.as_ptr(),
33114 &lda,
33115 ipiv.as_ptr(),
33116 b.as_mut_ptr(),
33117 &ldb,
33118 info,
33119 )
33120}
33121
33122#[inline]
33123pub unsafe fn ssytrs_rook(
33124 uplo: u8,
33125 n: i32,
33126 nrhs: i32,
33127 a: &[f32],
33128 lda: i32,
33129 ipiv: &[i32],
33130 b: &mut [f32],
33131 ldb: i32,
33132 info: &mut i32,
33133) {
33134 ffi::ssytrs_rook_(
33135 &(uplo as c_char),
33136 &n,
33137 &nrhs,
33138 a.as_ptr(),
33139 &lda,
33140 ipiv.as_ptr(),
33141 b.as_mut_ptr(),
33142 &ldb,
33143 info,
33144 )
33145}
33146
33147#[inline]
33148pub unsafe fn zsytrs_rook(
33149 uplo: u8,
33150 n: i32,
33151 nrhs: i32,
33152 a: &[c64],
33153 lda: i32,
33154 ipiv: &[i32],
33155 b: &mut [c64],
33156 ldb: i32,
33157 info: &mut i32,
33158) {
33159 ffi::zsytrs_rook_(
33160 &(uplo as c_char),
33161 &n,
33162 &nrhs,
33163 a.as_ptr() as *const _,
33164 &lda,
33165 ipiv.as_ptr(),
33166 b.as_mut_ptr() as *mut _,
33167 &ldb,
33168 info,
33169 )
33170}
33171
33172#[inline]
33173pub unsafe fn ctbcon(
33174 norm: u8,
33175 uplo: u8,
33176 diag: u8,
33177 n: i32,
33178 kd: i32,
33179 ab: &[c32],
33180 ldab: i32,
33181 rcond: &mut f32,
33182 work: &mut [c32],
33183 rwork: &mut [f32],
33184 info: &mut i32,
33185) {
33186 ffi::ctbcon_(
33187 &(norm as c_char),
33188 &(uplo as c_char),
33189 &(diag as c_char),
33190 &n,
33191 &kd,
33192 ab.as_ptr() as *const _,
33193 &ldab,
33194 rcond,
33195 work.as_mut_ptr() as *mut _,
33196 rwork.as_mut_ptr(),
33197 info,
33198 )
33199}
33200
33201#[inline]
33202pub unsafe fn dtbcon(
33203 norm: u8,
33204 uplo: u8,
33205 diag: u8,
33206 n: i32,
33207 kd: i32,
33208 ab: &[f64],
33209 ldab: i32,
33210 rcond: &mut f64,
33211 work: &mut [f64],
33212 iwork: &mut [i32],
33213 info: &mut i32,
33214) {
33215 ffi::dtbcon_(
33216 &(norm as c_char),
33217 &(uplo as c_char),
33218 &(diag as c_char),
33219 &n,
33220 &kd,
33221 ab.as_ptr(),
33222 &ldab,
33223 rcond,
33224 work.as_mut_ptr(),
33225 iwork.as_mut_ptr(),
33226 info,
33227 )
33228}
33229
33230#[inline]
33231pub unsafe fn stbcon(
33232 norm: u8,
33233 uplo: u8,
33234 diag: u8,
33235 n: i32,
33236 kd: i32,
33237 ab: &[f32],
33238 ldab: i32,
33239 rcond: &mut f32,
33240 work: &mut [f32],
33241 iwork: &mut [i32],
33242 info: &mut i32,
33243) {
33244 ffi::stbcon_(
33245 &(norm as c_char),
33246 &(uplo as c_char),
33247 &(diag as c_char),
33248 &n,
33249 &kd,
33250 ab.as_ptr(),
33251 &ldab,
33252 rcond,
33253 work.as_mut_ptr(),
33254 iwork.as_mut_ptr(),
33255 info,
33256 )
33257}
33258
33259#[inline]
33260pub unsafe fn ztbcon(
33261 norm: u8,
33262 uplo: u8,
33263 diag: u8,
33264 n: i32,
33265 kd: i32,
33266 ab: &[c64],
33267 ldab: i32,
33268 rcond: &mut f64,
33269 work: &mut [c64],
33270 rwork: &mut [f64],
33271 info: &mut i32,
33272) {
33273 ffi::ztbcon_(
33274 &(norm as c_char),
33275 &(uplo as c_char),
33276 &(diag as c_char),
33277 &n,
33278 &kd,
33279 ab.as_ptr() as *const _,
33280 &ldab,
33281 rcond,
33282 work.as_mut_ptr() as *mut _,
33283 rwork.as_mut_ptr(),
33284 info,
33285 )
33286}
33287
33288#[inline]
33289pub unsafe fn ctbrfs(
33290 uplo: u8,
33291 trans: u8,
33292 diag: u8,
33293 n: i32,
33294 kd: i32,
33295 nrhs: i32,
33296 ab: &[c32],
33297 ldab: i32,
33298 b: &[c32],
33299 ldb: i32,
33300 x: &[c32],
33301 ldx: i32,
33302 ferr: &mut [f32],
33303 berr: &mut [f32],
33304 work: &mut [c32],
33305 rwork: &mut [f32],
33306 info: &mut i32,
33307) {
33308 ffi::ctbrfs_(
33309 &(uplo as c_char),
33310 &(trans as c_char),
33311 &(diag as c_char),
33312 &n,
33313 &kd,
33314 &nrhs,
33315 ab.as_ptr() as *const _,
33316 &ldab,
33317 b.as_ptr() as *const _,
33318 &ldb,
33319 x.as_ptr() as *const _,
33320 &ldx,
33321 ferr.as_mut_ptr(),
33322 berr.as_mut_ptr(),
33323 work.as_mut_ptr() as *mut _,
33324 rwork.as_mut_ptr(),
33325 info,
33326 )
33327}
33328
33329#[inline]
33330pub unsafe fn dtbrfs(
33331 uplo: u8,
33332 trans: u8,
33333 diag: u8,
33334 n: i32,
33335 kd: i32,
33336 nrhs: i32,
33337 ab: &[f64],
33338 ldab: i32,
33339 b: &[f64],
33340 ldb: i32,
33341 x: &[f64],
33342 ldx: i32,
33343 ferr: &mut [f64],
33344 berr: &mut [f64],
33345 work: &mut [f64],
33346 iwork: &mut [i32],
33347 info: &mut i32,
33348) {
33349 ffi::dtbrfs_(
33350 &(uplo as c_char),
33351 &(trans as c_char),
33352 &(diag as c_char),
33353 &n,
33354 &kd,
33355 &nrhs,
33356 ab.as_ptr(),
33357 &ldab,
33358 b.as_ptr(),
33359 &ldb,
33360 x.as_ptr(),
33361 &ldx,
33362 ferr.as_mut_ptr(),
33363 berr.as_mut_ptr(),
33364 work.as_mut_ptr(),
33365 iwork.as_mut_ptr(),
33366 info,
33367 )
33368}
33369
33370#[inline]
33371pub unsafe fn stbrfs(
33372 uplo: u8,
33373 trans: u8,
33374 diag: u8,
33375 n: i32,
33376 kd: i32,
33377 nrhs: i32,
33378 ab: &[f32],
33379 ldab: i32,
33380 b: &[f32],
33381 ldb: i32,
33382 x: &[f32],
33383 ldx: i32,
33384 ferr: &mut [f32],
33385 berr: &mut [f32],
33386 work: &mut [f32],
33387 iwork: &mut [i32],
33388 info: &mut i32,
33389) {
33390 ffi::stbrfs_(
33391 &(uplo as c_char),
33392 &(trans as c_char),
33393 &(diag as c_char),
33394 &n,
33395 &kd,
33396 &nrhs,
33397 ab.as_ptr(),
33398 &ldab,
33399 b.as_ptr(),
33400 &ldb,
33401 x.as_ptr(),
33402 &ldx,
33403 ferr.as_mut_ptr(),
33404 berr.as_mut_ptr(),
33405 work.as_mut_ptr(),
33406 iwork.as_mut_ptr(),
33407 info,
33408 )
33409}
33410
33411#[inline]
33412pub unsafe fn ztbrfs(
33413 uplo: u8,
33414 trans: u8,
33415 diag: u8,
33416 n: i32,
33417 kd: i32,
33418 nrhs: i32,
33419 ab: &[c64],
33420 ldab: i32,
33421 b: &[c64],
33422 ldb: i32,
33423 x: &[c64],
33424 ldx: i32,
33425 ferr: &mut [f64],
33426 berr: &mut [f64],
33427 work: &mut [c64],
33428 rwork: &mut [f64],
33429 info: &mut i32,
33430) {
33431 ffi::ztbrfs_(
33432 &(uplo as c_char),
33433 &(trans as c_char),
33434 &(diag as c_char),
33435 &n,
33436 &kd,
33437 &nrhs,
33438 ab.as_ptr() as *const _,
33439 &ldab,
33440 b.as_ptr() as *const _,
33441 &ldb,
33442 x.as_ptr() as *const _,
33443 &ldx,
33444 ferr.as_mut_ptr(),
33445 berr.as_mut_ptr(),
33446 work.as_mut_ptr() as *mut _,
33447 rwork.as_mut_ptr(),
33448 info,
33449 )
33450}
33451
33452#[inline]
33453pub unsafe fn ctbtrs(
33454 uplo: u8,
33455 trans: u8,
33456 diag: u8,
33457 n: i32,
33458 kd: i32,
33459 nrhs: i32,
33460 ab: &[c32],
33461 ldab: i32,
33462 b: &mut [c32],
33463 ldb: i32,
33464 info: &mut i32,
33465) {
33466 ffi::ctbtrs_(
33467 &(uplo as c_char),
33468 &(trans as c_char),
33469 &(diag as c_char),
33470 &n,
33471 &kd,
33472 &nrhs,
33473 ab.as_ptr() as *const _,
33474 &ldab,
33475 b.as_mut_ptr() as *mut _,
33476 &ldb,
33477 info,
33478 )
33479}
33480
33481#[inline]
33482pub unsafe fn dtbtrs(
33483 uplo: u8,
33484 trans: u8,
33485 diag: u8,
33486 n: i32,
33487 kd: i32,
33488 nrhs: i32,
33489 ab: &[f64],
33490 ldab: i32,
33491 b: &mut [f64],
33492 ldb: i32,
33493 info: &mut i32,
33494) {
33495 ffi::dtbtrs_(
33496 &(uplo as c_char),
33497 &(trans as c_char),
33498 &(diag as c_char),
33499 &n,
33500 &kd,
33501 &nrhs,
33502 ab.as_ptr(),
33503 &ldab,
33504 b.as_mut_ptr(),
33505 &ldb,
33506 info,
33507 )
33508}
33509
33510#[inline]
33511pub unsafe fn stbtrs(
33512 uplo: u8,
33513 trans: u8,
33514 diag: u8,
33515 n: i32,
33516 kd: i32,
33517 nrhs: i32,
33518 ab: &[f32],
33519 ldab: i32,
33520 b: &mut [f32],
33521 ldb: i32,
33522 info: &mut i32,
33523) {
33524 ffi::stbtrs_(
33525 &(uplo as c_char),
33526 &(trans as c_char),
33527 &(diag as c_char),
33528 &n,
33529 &kd,
33530 &nrhs,
33531 ab.as_ptr(),
33532 &ldab,
33533 b.as_mut_ptr(),
33534 &ldb,
33535 info,
33536 )
33537}
33538
33539#[inline]
33540pub unsafe fn ztbtrs(
33541 uplo: u8,
33542 trans: u8,
33543 diag: u8,
33544 n: i32,
33545 kd: i32,
33546 nrhs: i32,
33547 ab: &[c64],
33548 ldab: i32,
33549 b: &mut [c64],
33550 ldb: i32,
33551 info: &mut i32,
33552) {
33553 ffi::ztbtrs_(
33554 &(uplo as c_char),
33555 &(trans as c_char),
33556 &(diag as c_char),
33557 &n,
33558 &kd,
33559 &nrhs,
33560 ab.as_ptr() as *const _,
33561 &ldab,
33562 b.as_mut_ptr() as *mut _,
33563 &ldb,
33564 info,
33565 )
33566}
33567
33568#[inline]
33569pub unsafe fn ctfsm(
33570 transr: u8,
33571 side: u8,
33572 uplo: u8,
33573 trans: u8,
33574 diag: u8,
33575 m: i32,
33576 n: i32,
33577 alpha: &[c32],
33578 a: &[c32],
33579 b: &mut [c32],
33580 ldb: i32,
33581) {
33582 ffi::ctfsm_(
33583 &(transr as c_char),
33584 &(side as c_char),
33585 &(uplo as c_char),
33586 &(trans as c_char),
33587 &(diag as c_char),
33588 &m,
33589 &n,
33590 alpha.as_ptr() as *const _,
33591 a.as_ptr() as *const _,
33592 b.as_mut_ptr() as *mut _,
33593 &ldb,
33594 )
33595}
33596
33597#[inline]
33598pub unsafe fn dtfsm(
33599 transr: u8,
33600 side: u8,
33601 uplo: u8,
33602 trans: u8,
33603 diag: u8,
33604 m: i32,
33605 n: i32,
33606 alpha: &[f64],
33607 a: &[f64],
33608 b: &mut [f64],
33609 ldb: i32,
33610) {
33611 ffi::dtfsm_(
33612 &(transr as c_char),
33613 &(side as c_char),
33614 &(uplo as c_char),
33615 &(trans as c_char),
33616 &(diag as c_char),
33617 &m,
33618 &n,
33619 alpha.as_ptr(),
33620 a.as_ptr(),
33621 b.as_mut_ptr(),
33622 &ldb,
33623 )
33624}
33625
33626#[inline]
33627pub unsafe fn stfsm(
33628 transr: u8,
33629 side: u8,
33630 uplo: u8,
33631 trans: u8,
33632 diag: u8,
33633 m: i32,
33634 n: i32,
33635 alpha: &[f32],
33636 a: &[f32],
33637 b: &mut [f32],
33638 ldb: i32,
33639) {
33640 ffi::stfsm_(
33641 &(transr as c_char),
33642 &(side as c_char),
33643 &(uplo as c_char),
33644 &(trans as c_char),
33645 &(diag as c_char),
33646 &m,
33647 &n,
33648 alpha.as_ptr(),
33649 a.as_ptr(),
33650 b.as_mut_ptr(),
33651 &ldb,
33652 )
33653}
33654
33655#[inline]
33656pub unsafe fn ztfsm(
33657 transr: u8,
33658 side: u8,
33659 uplo: u8,
33660 trans: u8,
33661 diag: u8,
33662 m: i32,
33663 n: i32,
33664 alpha: &[c64],
33665 a: &[c64],
33666 b: &mut [c64],
33667 ldb: i32,
33668) {
33669 ffi::ztfsm_(
33670 &(transr as c_char),
33671 &(side as c_char),
33672 &(uplo as c_char),
33673 &(trans as c_char),
33674 &(diag as c_char),
33675 &m,
33676 &n,
33677 alpha.as_ptr() as *const _,
33678 a.as_ptr() as *const _,
33679 b.as_mut_ptr() as *mut _,
33680 &ldb,
33681 )
33682}
33683
33684#[inline]
33685pub unsafe fn ctftri(transr: u8, uplo: u8, diag: u8, n: i32, a: &mut [c32], info: &mut i32) {
33686 ffi::ctftri_(
33687 &(transr as c_char),
33688 &(uplo as c_char),
33689 &(diag as c_char),
33690 &n,
33691 a.as_mut_ptr() as *mut _,
33692 info,
33693 )
33694}
33695
33696#[inline]
33697pub unsafe fn dtftri(transr: u8, uplo: u8, diag: u8, n: i32, a: &mut [f64], info: &mut i32) {
33698 ffi::dtftri_(
33699 &(transr as c_char),
33700 &(uplo as c_char),
33701 &(diag as c_char),
33702 &n,
33703 a.as_mut_ptr(),
33704 info,
33705 )
33706}
33707
33708#[inline]
33709pub unsafe fn stftri(transr: u8, uplo: u8, diag: u8, n: i32, a: &mut [f32], info: &mut i32) {
33710 ffi::stftri_(
33711 &(transr as c_char),
33712 &(uplo as c_char),
33713 &(diag as c_char),
33714 &n,
33715 a.as_mut_ptr(),
33716 info,
33717 )
33718}
33719
33720#[inline]
33721pub unsafe fn ztftri(transr: u8, uplo: u8, diag: u8, n: i32, a: &mut [c64], info: &mut i32) {
33722 ffi::ztftri_(
33723 &(transr as c_char),
33724 &(uplo as c_char),
33725 &(diag as c_char),
33726 &n,
33727 a.as_mut_ptr() as *mut _,
33728 info,
33729 )
33730}
33731
33732#[inline]
33733pub unsafe fn ctfttp(transr: u8, uplo: u8, n: i32, arf: &[c32], ap: &mut [c32], info: &mut i32) {
33734 ffi::ctfttp_(
33735 &(transr as c_char),
33736 &(uplo as c_char),
33737 &n,
33738 arf.as_ptr() as *const _,
33739 ap.as_mut_ptr() as *mut _,
33740 info,
33741 )
33742}
33743
33744#[inline]
33745pub unsafe fn dtfttp(transr: u8, uplo: u8, n: i32, arf: &[f64], ap: &mut [f64], info: &mut i32) {
33746 ffi::dtfttp_(
33747 &(transr as c_char),
33748 &(uplo as c_char),
33749 &n,
33750 arf.as_ptr(),
33751 ap.as_mut_ptr(),
33752 info,
33753 )
33754}
33755
33756#[inline]
33757pub unsafe fn stfttp(transr: u8, uplo: u8, n: i32, arf: &[f32], ap: &mut [f32], info: &mut i32) {
33758 ffi::stfttp_(
33759 &(transr as c_char),
33760 &(uplo as c_char),
33761 &n,
33762 arf.as_ptr(),
33763 ap.as_mut_ptr(),
33764 info,
33765 )
33766}
33767
33768#[inline]
33769pub unsafe fn ztfttp(transr: u8, uplo: u8, n: i32, arf: &[c64], ap: &mut [c64], info: &mut i32) {
33770 ffi::ztfttp_(
33771 &(transr as c_char),
33772 &(uplo as c_char),
33773 &n,
33774 arf.as_ptr() as *const _,
33775 ap.as_mut_ptr() as *mut _,
33776 info,
33777 )
33778}
33779
33780#[inline]
33781pub unsafe fn ctfttr(
33782 transr: u8,
33783 uplo: u8,
33784 n: i32,
33785 arf: &[c32],
33786 a: &mut [c32],
33787 lda: i32,
33788 info: &mut i32,
33789) {
33790 ffi::ctfttr_(
33791 &(transr as c_char),
33792 &(uplo as c_char),
33793 &n,
33794 arf.as_ptr() as *const _,
33795 a.as_mut_ptr() as *mut _,
33796 &lda,
33797 info,
33798 )
33799}
33800
33801#[inline]
33802pub unsafe fn dtfttr(
33803 transr: u8,
33804 uplo: u8,
33805 n: i32,
33806 arf: &[f64],
33807 a: &mut [f64],
33808 lda: i32,
33809 info: &mut i32,
33810) {
33811 ffi::dtfttr_(
33812 &(transr as c_char),
33813 &(uplo as c_char),
33814 &n,
33815 arf.as_ptr(),
33816 a.as_mut_ptr(),
33817 &lda,
33818 info,
33819 )
33820}
33821
33822#[inline]
33823pub unsafe fn stfttr(
33824 transr: u8,
33825 uplo: u8,
33826 n: i32,
33827 arf: &[f32],
33828 a: &mut [f32],
33829 lda: i32,
33830 info: &mut i32,
33831) {
33832 ffi::stfttr_(
33833 &(transr as c_char),
33834 &(uplo as c_char),
33835 &n,
33836 arf.as_ptr(),
33837 a.as_mut_ptr(),
33838 &lda,
33839 info,
33840 )
33841}
33842
33843#[inline]
33844pub unsafe fn ztfttr(
33845 transr: u8,
33846 uplo: u8,
33847 n: i32,
33848 arf: &[c64],
33849 a: &mut [c64],
33850 lda: i32,
33851 info: &mut i32,
33852) {
33853 ffi::ztfttr_(
33854 &(transr as c_char),
33855 &(uplo as c_char),
33856 &n,
33857 arf.as_ptr() as *const _,
33858 a.as_mut_ptr() as *mut _,
33859 &lda,
33860 info,
33861 )
33862}
33863
33864#[inline]
33865pub unsafe fn ctgevc(
33866 side: u8,
33867 howmny: u8,
33868 select: &[i32],
33869 n: i32,
33870 s: &[c32],
33871 lds: i32,
33872 p: &[c32],
33873 ldp: i32,
33874 vl: &mut [c32],
33875 ldvl: i32,
33876 vr: &mut [c32],
33877 ldvr: i32,
33878 mm: i32,
33879 m: &mut i32,
33880 work: &mut [c32],
33881 rwork: &mut [f32],
33882 info: &mut i32,
33883) {
33884 ffi::ctgevc_(
33885 &(side as c_char),
33886 &(howmny as c_char),
33887 select.as_ptr(),
33888 &n,
33889 s.as_ptr() as *const _,
33890 &lds,
33891 p.as_ptr() as *const _,
33892 &ldp,
33893 vl.as_mut_ptr() as *mut _,
33894 &ldvl,
33895 vr.as_mut_ptr() as *mut _,
33896 &ldvr,
33897 &mm,
33898 m,
33899 work.as_mut_ptr() as *mut _,
33900 rwork.as_mut_ptr(),
33901 info,
33902 )
33903}
33904
33905#[inline]
33906pub unsafe fn dtgevc(
33907 side: u8,
33908 howmny: u8,
33909 select: &[i32],
33910 n: i32,
33911 s: &[f64],
33912 lds: i32,
33913 p: &[f64],
33914 ldp: i32,
33915 vl: &mut [f64],
33916 ldvl: i32,
33917 vr: &mut [f64],
33918 ldvr: i32,
33919 mm: i32,
33920 m: &mut i32,
33921 work: &mut [f64],
33922 info: &mut i32,
33923) {
33924 ffi::dtgevc_(
33925 &(side as c_char),
33926 &(howmny as c_char),
33927 select.as_ptr(),
33928 &n,
33929 s.as_ptr(),
33930 &lds,
33931 p.as_ptr(),
33932 &ldp,
33933 vl.as_mut_ptr(),
33934 &ldvl,
33935 vr.as_mut_ptr(),
33936 &ldvr,
33937 &mm,
33938 m,
33939 work.as_mut_ptr(),
33940 info,
33941 )
33942}
33943
33944#[inline]
33945pub unsafe fn stgevc(
33946 side: u8,
33947 howmny: u8,
33948 select: &[i32],
33949 n: i32,
33950 s: &[f32],
33951 lds: i32,
33952 p: &[f32],
33953 ldp: i32,
33954 vl: &mut [f32],
33955 ldvl: i32,
33956 vr: &mut [f32],
33957 ldvr: i32,
33958 mm: i32,
33959 m: &mut i32,
33960 work: &mut [f32],
33961 info: &mut i32,
33962) {
33963 ffi::stgevc_(
33964 &(side as c_char),
33965 &(howmny as c_char),
33966 select.as_ptr(),
33967 &n,
33968 s.as_ptr(),
33969 &lds,
33970 p.as_ptr(),
33971 &ldp,
33972 vl.as_mut_ptr(),
33973 &ldvl,
33974 vr.as_mut_ptr(),
33975 &ldvr,
33976 &mm,
33977 m,
33978 work.as_mut_ptr(),
33979 info,
33980 )
33981}
33982
33983#[inline]
33984pub unsafe fn ztgevc(
33985 side: u8,
33986 howmny: u8,
33987 select: &[i32],
33988 n: i32,
33989 s: &[c64],
33990 lds: i32,
33991 p: &[c64],
33992 ldp: i32,
33993 vl: &mut [c64],
33994 ldvl: i32,
33995 vr: &mut [c64],
33996 ldvr: i32,
33997 mm: i32,
33998 m: &mut i32,
33999 work: &mut [c64],
34000 rwork: &mut [f64],
34001 info: &mut i32,
34002) {
34003 ffi::ztgevc_(
34004 &(side as c_char),
34005 &(howmny as c_char),
34006 select.as_ptr(),
34007 &n,
34008 s.as_ptr() as *const _,
34009 &lds,
34010 p.as_ptr() as *const _,
34011 &ldp,
34012 vl.as_mut_ptr() as *mut _,
34013 &ldvl,
34014 vr.as_mut_ptr() as *mut _,
34015 &ldvr,
34016 &mm,
34017 m,
34018 work.as_mut_ptr() as *mut _,
34019 rwork.as_mut_ptr(),
34020 info,
34021 )
34022}
34023
34024#[inline]
34025pub unsafe fn ctgexc(
34026 wantq: &[i32],
34027 wantz: &[i32],
34028 n: i32,
34029 a: &mut [c32],
34030 lda: i32,
34031 b: &mut [c32],
34032 ldb: i32,
34033 q: &mut [c32],
34034 ldq: i32,
34035 z: &mut [c32],
34036 ldz: i32,
34037 ifst: &[i32],
34038 ilst: &mut [i32],
34039 info: &mut i32,
34040) {
34041 ffi::ctgexc_(
34042 wantq.as_ptr(),
34043 wantz.as_ptr(),
34044 &n,
34045 a.as_mut_ptr() as *mut _,
34046 &lda,
34047 b.as_mut_ptr() as *mut _,
34048 &ldb,
34049 q.as_mut_ptr() as *mut _,
34050 &ldq,
34051 z.as_mut_ptr() as *mut _,
34052 &ldz,
34053 ifst.as_ptr(),
34054 ilst.as_mut_ptr(),
34055 info,
34056 )
34057}
34058
34059#[inline]
34060pub unsafe fn dtgexc(
34061 wantq: &[i32],
34062 wantz: &[i32],
34063 n: i32,
34064 a: &mut [f64],
34065 lda: i32,
34066 b: &mut [f64],
34067 ldb: i32,
34068 q: &mut [f64],
34069 ldq: i32,
34070 z: &mut [f64],
34071 ldz: i32,
34072 ifst: &mut [i32],
34073 ilst: &mut [i32],
34074 work: &mut [f64],
34075 lwork: i32,
34076 info: &mut i32,
34077) {
34078 ffi::dtgexc_(
34079 wantq.as_ptr(),
34080 wantz.as_ptr(),
34081 &n,
34082 a.as_mut_ptr(),
34083 &lda,
34084 b.as_mut_ptr(),
34085 &ldb,
34086 q.as_mut_ptr(),
34087 &ldq,
34088 z.as_mut_ptr(),
34089 &ldz,
34090 ifst.as_mut_ptr(),
34091 ilst.as_mut_ptr(),
34092 work.as_mut_ptr(),
34093 &lwork,
34094 info,
34095 )
34096}
34097
34098#[inline]
34099pub unsafe fn stgexc(
34100 wantq: &[i32],
34101 wantz: &[i32],
34102 n: i32,
34103 a: &mut [f32],
34104 lda: i32,
34105 b: &mut [f32],
34106 ldb: i32,
34107 q: &mut [f32],
34108 ldq: i32,
34109 z: &mut [f32],
34110 ldz: i32,
34111 ifst: &mut [i32],
34112 ilst: &mut [i32],
34113 work: &mut [f32],
34114 lwork: i32,
34115 info: &mut i32,
34116) {
34117 ffi::stgexc_(
34118 wantq.as_ptr(),
34119 wantz.as_ptr(),
34120 &n,
34121 a.as_mut_ptr(),
34122 &lda,
34123 b.as_mut_ptr(),
34124 &ldb,
34125 q.as_mut_ptr(),
34126 &ldq,
34127 z.as_mut_ptr(),
34128 &ldz,
34129 ifst.as_mut_ptr(),
34130 ilst.as_mut_ptr(),
34131 work.as_mut_ptr(),
34132 &lwork,
34133 info,
34134 )
34135}
34136
34137#[inline]
34138pub unsafe fn ztgexc(
34139 wantq: &[i32],
34140 wantz: &[i32],
34141 n: i32,
34142 a: &mut [c64],
34143 lda: i32,
34144 b: &mut [c64],
34145 ldb: i32,
34146 q: &mut [c64],
34147 ldq: i32,
34148 z: &mut [c64],
34149 ldz: i32,
34150 ifst: &[i32],
34151 ilst: &mut [i32],
34152 info: &mut i32,
34153) {
34154 ffi::ztgexc_(
34155 wantq.as_ptr(),
34156 wantz.as_ptr(),
34157 &n,
34158 a.as_mut_ptr() as *mut _,
34159 &lda,
34160 b.as_mut_ptr() as *mut _,
34161 &ldb,
34162 q.as_mut_ptr() as *mut _,
34163 &ldq,
34164 z.as_mut_ptr() as *mut _,
34165 &ldz,
34166 ifst.as_ptr(),
34167 ilst.as_mut_ptr(),
34168 info,
34169 )
34170}
34171
34172#[inline]
34173pub unsafe fn ctgsen(
34174 ijob: &[i32],
34175 wantq: &[i32],
34176 wantz: &[i32],
34177 select: &[i32],
34178 n: i32,
34179 a: &mut [c32],
34180 lda: i32,
34181 b: &mut [c32],
34182 ldb: i32,
34183 alpha: &mut [c32],
34184 beta: &mut [c32],
34185 q: &mut [c32],
34186 ldq: i32,
34187 z: &mut [c32],
34188 ldz: i32,
34189 m: &mut i32,
34190 pl: &mut [f32],
34191 pr: &mut [f32],
34192 dif: &mut [f32],
34193 work: &mut [c32],
34194 lwork: i32,
34195 iwork: &mut [i32],
34196 liwork: i32,
34197 info: &mut i32,
34198) {
34199 ffi::ctgsen_(
34200 ijob.as_ptr(),
34201 wantq.as_ptr(),
34202 wantz.as_ptr(),
34203 select.as_ptr(),
34204 &n,
34205 a.as_mut_ptr() as *mut _,
34206 &lda,
34207 b.as_mut_ptr() as *mut _,
34208 &ldb,
34209 alpha.as_mut_ptr() as *mut _,
34210 beta.as_mut_ptr() as *mut _,
34211 q.as_mut_ptr() as *mut _,
34212 &ldq,
34213 z.as_mut_ptr() as *mut _,
34214 &ldz,
34215 m,
34216 pl.as_mut_ptr(),
34217 pr.as_mut_ptr(),
34218 dif.as_mut_ptr(),
34219 work.as_mut_ptr() as *mut _,
34220 &lwork,
34221 iwork.as_mut_ptr(),
34222 &liwork,
34223 info,
34224 )
34225}
34226
34227#[inline]
34228pub unsafe fn dtgsen(
34229 ijob: &[i32],
34230 wantq: &[i32],
34231 wantz: &[i32],
34232 select: &[i32],
34233 n: i32,
34234 a: &mut [f64],
34235 lda: i32,
34236 b: &mut [f64],
34237 ldb: i32,
34238 alphar: &mut [f64],
34239 alphai: &mut [f64],
34240 beta: &mut [f64],
34241 q: &mut [f64],
34242 ldq: i32,
34243 z: &mut [f64],
34244 ldz: i32,
34245 m: &mut i32,
34246 pl: &mut [f64],
34247 pr: &mut [f64],
34248 dif: &mut [f64],
34249 work: &mut [f64],
34250 lwork: i32,
34251 iwork: &mut [i32],
34252 liwork: i32,
34253 info: &mut i32,
34254) {
34255 ffi::dtgsen_(
34256 ijob.as_ptr(),
34257 wantq.as_ptr(),
34258 wantz.as_ptr(),
34259 select.as_ptr(),
34260 &n,
34261 a.as_mut_ptr(),
34262 &lda,
34263 b.as_mut_ptr(),
34264 &ldb,
34265 alphar.as_mut_ptr(),
34266 alphai.as_mut_ptr(),
34267 beta.as_mut_ptr(),
34268 q.as_mut_ptr(),
34269 &ldq,
34270 z.as_mut_ptr(),
34271 &ldz,
34272 m,
34273 pl.as_mut_ptr(),
34274 pr.as_mut_ptr(),
34275 dif.as_mut_ptr(),
34276 work.as_mut_ptr(),
34277 &lwork,
34278 iwork.as_mut_ptr(),
34279 &liwork,
34280 info,
34281 )
34282}
34283
34284#[inline]
34285pub unsafe fn stgsen(
34286 ijob: &[i32],
34287 wantq: &[i32],
34288 wantz: &[i32],
34289 select: &[i32],
34290 n: i32,
34291 a: &mut [f32],
34292 lda: i32,
34293 b: &mut [f32],
34294 ldb: i32,
34295 alphar: &mut [f32],
34296 alphai: &mut [f32],
34297 beta: &mut [f32],
34298 q: &mut [f32],
34299 ldq: i32,
34300 z: &mut [f32],
34301 ldz: i32,
34302 m: &mut i32,
34303 pl: &mut [f32],
34304 pr: &mut [f32],
34305 dif: &mut [f32],
34306 work: &mut [f32],
34307 lwork: i32,
34308 iwork: &mut [i32],
34309 liwork: i32,
34310 info: &mut i32,
34311) {
34312 ffi::stgsen_(
34313 ijob.as_ptr(),
34314 wantq.as_ptr(),
34315 wantz.as_ptr(),
34316 select.as_ptr(),
34317 &n,
34318 a.as_mut_ptr(),
34319 &lda,
34320 b.as_mut_ptr(),
34321 &ldb,
34322 alphar.as_mut_ptr(),
34323 alphai.as_mut_ptr(),
34324 beta.as_mut_ptr(),
34325 q.as_mut_ptr(),
34326 &ldq,
34327 z.as_mut_ptr(),
34328 &ldz,
34329 m,
34330 pl.as_mut_ptr(),
34331 pr.as_mut_ptr(),
34332 dif.as_mut_ptr(),
34333 work.as_mut_ptr(),
34334 &lwork,
34335 iwork.as_mut_ptr(),
34336 &liwork,
34337 info,
34338 )
34339}
34340
34341#[inline]
34342pub unsafe fn ztgsen(
34343 ijob: &[i32],
34344 wantq: &[i32],
34345 wantz: &[i32],
34346 select: &[i32],
34347 n: i32,
34348 a: &mut [c64],
34349 lda: i32,
34350 b: &mut [c64],
34351 ldb: i32,
34352 alpha: &mut [c64],
34353 beta: &mut [c64],
34354 q: &mut [c64],
34355 ldq: i32,
34356 z: &mut [c64],
34357 ldz: i32,
34358 m: &mut i32,
34359 pl: &mut [f64],
34360 pr: &mut [f64],
34361 dif: &mut [f64],
34362 work: &mut [c64],
34363 lwork: i32,
34364 iwork: &mut [i32],
34365 liwork: i32,
34366 info: &mut i32,
34367) {
34368 ffi::ztgsen_(
34369 ijob.as_ptr(),
34370 wantq.as_ptr(),
34371 wantz.as_ptr(),
34372 select.as_ptr(),
34373 &n,
34374 a.as_mut_ptr() as *mut _,
34375 &lda,
34376 b.as_mut_ptr() as *mut _,
34377 &ldb,
34378 alpha.as_mut_ptr() as *mut _,
34379 beta.as_mut_ptr() as *mut _,
34380 q.as_mut_ptr() as *mut _,
34381 &ldq,
34382 z.as_mut_ptr() as *mut _,
34383 &ldz,
34384 m,
34385 pl.as_mut_ptr(),
34386 pr.as_mut_ptr(),
34387 dif.as_mut_ptr(),
34388 work.as_mut_ptr() as *mut _,
34389 &lwork,
34390 iwork.as_mut_ptr(),
34391 &liwork,
34392 info,
34393 )
34394}
34395
34396#[inline]
34397pub unsafe fn ctgsja(
34398 jobu: u8,
34399 jobv: u8,
34400 jobq: u8,
34401 m: i32,
34402 p: i32,
34403 n: i32,
34404 k: i32,
34405 l: i32,
34406 a: &mut [c32],
34407 lda: i32,
34408 b: &mut [c32],
34409 ldb: i32,
34410 tola: f32,
34411 tolb: f32,
34412 alpha: &mut [f32],
34413 beta: &mut [f32],
34414 u: &mut [c32],
34415 ldu: i32,
34416 v: &mut [c32],
34417 ldv: i32,
34418 q: &mut [c32],
34419 ldq: i32,
34420 work: &mut [c32],
34421 ncycle: &mut [i32],
34422 info: &mut i32,
34423) {
34424 ffi::ctgsja_(
34425 &(jobu as c_char),
34426 &(jobv as c_char),
34427 &(jobq as c_char),
34428 &m,
34429 &p,
34430 &n,
34431 &k,
34432 &l,
34433 a.as_mut_ptr() as *mut _,
34434 &lda,
34435 b.as_mut_ptr() as *mut _,
34436 &ldb,
34437 &tola,
34438 &tolb,
34439 alpha.as_mut_ptr(),
34440 beta.as_mut_ptr(),
34441 u.as_mut_ptr() as *mut _,
34442 &ldu,
34443 v.as_mut_ptr() as *mut _,
34444 &ldv,
34445 q.as_mut_ptr() as *mut _,
34446 &ldq,
34447 work.as_mut_ptr() as *mut _,
34448 ncycle.as_mut_ptr(),
34449 info,
34450 )
34451}
34452
34453#[inline]
34454pub unsafe fn dtgsja(
34455 jobu: u8,
34456 jobv: u8,
34457 jobq: u8,
34458 m: i32,
34459 p: i32,
34460 n: i32,
34461 k: i32,
34462 l: i32,
34463 a: &mut [f64],
34464 lda: i32,
34465 b: &mut [f64],
34466 ldb: i32,
34467 tola: f64,
34468 tolb: f64,
34469 alpha: &mut [f64],
34470 beta: &mut [f64],
34471 u: &mut [f64],
34472 ldu: i32,
34473 v: &mut [f64],
34474 ldv: i32,
34475 q: &mut [f64],
34476 ldq: i32,
34477 work: &mut [f64],
34478 ncycle: &mut [i32],
34479 info: &mut i32,
34480) {
34481 ffi::dtgsja_(
34482 &(jobu as c_char),
34483 &(jobv as c_char),
34484 &(jobq as c_char),
34485 &m,
34486 &p,
34487 &n,
34488 &k,
34489 &l,
34490 a.as_mut_ptr(),
34491 &lda,
34492 b.as_mut_ptr(),
34493 &ldb,
34494 &tola,
34495 &tolb,
34496 alpha.as_mut_ptr(),
34497 beta.as_mut_ptr(),
34498 u.as_mut_ptr(),
34499 &ldu,
34500 v.as_mut_ptr(),
34501 &ldv,
34502 q.as_mut_ptr(),
34503 &ldq,
34504 work.as_mut_ptr(),
34505 ncycle.as_mut_ptr(),
34506 info,
34507 )
34508}
34509
34510#[inline]
34511pub unsafe fn stgsja(
34512 jobu: u8,
34513 jobv: u8,
34514 jobq: u8,
34515 m: i32,
34516 p: i32,
34517 n: i32,
34518 k: i32,
34519 l: i32,
34520 a: &mut [f32],
34521 lda: i32,
34522 b: &mut [f32],
34523 ldb: i32,
34524 tola: f32,
34525 tolb: f32,
34526 alpha: &mut [f32],
34527 beta: &mut [f32],
34528 u: &mut [f32],
34529 ldu: i32,
34530 v: &mut [f32],
34531 ldv: i32,
34532 q: &mut [f32],
34533 ldq: i32,
34534 work: &mut [f32],
34535 ncycle: &mut [i32],
34536 info: &mut i32,
34537) {
34538 ffi::stgsja_(
34539 &(jobu as c_char),
34540 &(jobv as c_char),
34541 &(jobq as c_char),
34542 &m,
34543 &p,
34544 &n,
34545 &k,
34546 &l,
34547 a.as_mut_ptr(),
34548 &lda,
34549 b.as_mut_ptr(),
34550 &ldb,
34551 &tola,
34552 &tolb,
34553 alpha.as_mut_ptr(),
34554 beta.as_mut_ptr(),
34555 u.as_mut_ptr(),
34556 &ldu,
34557 v.as_mut_ptr(),
34558 &ldv,
34559 q.as_mut_ptr(),
34560 &ldq,
34561 work.as_mut_ptr(),
34562 ncycle.as_mut_ptr(),
34563 info,
34564 )
34565}
34566
34567#[inline]
34568pub unsafe fn ztgsja(
34569 jobu: u8,
34570 jobv: u8,
34571 jobq: u8,
34572 m: i32,
34573 p: i32,
34574 n: i32,
34575 k: i32,
34576 l: i32,
34577 a: &mut [c64],
34578 lda: i32,
34579 b: &mut [c64],
34580 ldb: i32,
34581 tola: f64,
34582 tolb: f64,
34583 alpha: &mut [f64],
34584 beta: &mut [f64],
34585 u: &mut [c64],
34586 ldu: i32,
34587 v: &mut [c64],
34588 ldv: i32,
34589 q: &mut [c64],
34590 ldq: i32,
34591 work: &mut [c64],
34592 ncycle: &mut [i32],
34593 info: &mut i32,
34594) {
34595 ffi::ztgsja_(
34596 &(jobu as c_char),
34597 &(jobv as c_char),
34598 &(jobq as c_char),
34599 &m,
34600 &p,
34601 &n,
34602 &k,
34603 &l,
34604 a.as_mut_ptr() as *mut _,
34605 &lda,
34606 b.as_mut_ptr() as *mut _,
34607 &ldb,
34608 &tola,
34609 &tolb,
34610 alpha.as_mut_ptr(),
34611 beta.as_mut_ptr(),
34612 u.as_mut_ptr() as *mut _,
34613 &ldu,
34614 v.as_mut_ptr() as *mut _,
34615 &ldv,
34616 q.as_mut_ptr() as *mut _,
34617 &ldq,
34618 work.as_mut_ptr() as *mut _,
34619 ncycle.as_mut_ptr(),
34620 info,
34621 )
34622}
34623
34624#[inline]
34625pub unsafe fn ctgsna(
34626 job: u8,
34627 howmny: u8,
34628 select: &[i32],
34629 n: i32,
34630 a: &[c32],
34631 lda: i32,
34632 b: &[c32],
34633 ldb: i32,
34634 vl: &[c32],
34635 ldvl: i32,
34636 vr: &[c32],
34637 ldvr: i32,
34638 s: &mut [f32],
34639 dif: &mut [f32],
34640 mm: i32,
34641 m: &mut i32,
34642 work: &mut [c32],
34643 lwork: i32,
34644 iwork: &mut [i32],
34645 info: &mut i32,
34646) {
34647 ffi::ctgsna_(
34648 &(job as c_char),
34649 &(howmny as c_char),
34650 select.as_ptr(),
34651 &n,
34652 a.as_ptr() as *const _,
34653 &lda,
34654 b.as_ptr() as *const _,
34655 &ldb,
34656 vl.as_ptr() as *const _,
34657 &ldvl,
34658 vr.as_ptr() as *const _,
34659 &ldvr,
34660 s.as_mut_ptr(),
34661 dif.as_mut_ptr(),
34662 &mm,
34663 m,
34664 work.as_mut_ptr() as *mut _,
34665 &lwork,
34666 iwork.as_mut_ptr(),
34667 info,
34668 )
34669}
34670
34671#[inline]
34672pub unsafe fn dtgsna(
34673 job: u8,
34674 howmny: u8,
34675 select: &[i32],
34676 n: i32,
34677 a: &[f64],
34678 lda: i32,
34679 b: &[f64],
34680 ldb: i32,
34681 vl: &[f64],
34682 ldvl: i32,
34683 vr: &[f64],
34684 ldvr: i32,
34685 s: &mut [f64],
34686 dif: &mut [f64],
34687 mm: i32,
34688 m: &mut i32,
34689 work: &mut [f64],
34690 lwork: i32,
34691 iwork: &mut [i32],
34692 info: &mut i32,
34693) {
34694 ffi::dtgsna_(
34695 &(job as c_char),
34696 &(howmny as c_char),
34697 select.as_ptr(),
34698 &n,
34699 a.as_ptr(),
34700 &lda,
34701 b.as_ptr(),
34702 &ldb,
34703 vl.as_ptr(),
34704 &ldvl,
34705 vr.as_ptr(),
34706 &ldvr,
34707 s.as_mut_ptr(),
34708 dif.as_mut_ptr(),
34709 &mm,
34710 m,
34711 work.as_mut_ptr(),
34712 &lwork,
34713 iwork.as_mut_ptr(),
34714 info,
34715 )
34716}
34717
34718#[inline]
34719pub unsafe fn stgsna(
34720 job: u8,
34721 howmny: u8,
34722 select: &[i32],
34723 n: i32,
34724 a: &[f32],
34725 lda: i32,
34726 b: &[f32],
34727 ldb: i32,
34728 vl: &[f32],
34729 ldvl: i32,
34730 vr: &[f32],
34731 ldvr: i32,
34732 s: &mut [f32],
34733 dif: &mut [f32],
34734 mm: i32,
34735 m: &mut i32,
34736 work: &mut [f32],
34737 lwork: i32,
34738 iwork: &mut [i32],
34739 info: &mut i32,
34740) {
34741 ffi::stgsna_(
34742 &(job as c_char),
34743 &(howmny as c_char),
34744 select.as_ptr(),
34745 &n,
34746 a.as_ptr(),
34747 &lda,
34748 b.as_ptr(),
34749 &ldb,
34750 vl.as_ptr(),
34751 &ldvl,
34752 vr.as_ptr(),
34753 &ldvr,
34754 s.as_mut_ptr(),
34755 dif.as_mut_ptr(),
34756 &mm,
34757 m,
34758 work.as_mut_ptr(),
34759 &lwork,
34760 iwork.as_mut_ptr(),
34761 info,
34762 )
34763}
34764
34765#[inline]
34766pub unsafe fn ztgsna(
34767 job: u8,
34768 howmny: u8,
34769 select: &[i32],
34770 n: i32,
34771 a: &[c64],
34772 lda: i32,
34773 b: &[c64],
34774 ldb: i32,
34775 vl: &[c64],
34776 ldvl: i32,
34777 vr: &[c64],
34778 ldvr: i32,
34779 s: &mut [f64],
34780 dif: &mut [f64],
34781 mm: i32,
34782 m: &mut i32,
34783 work: &mut [c64],
34784 lwork: i32,
34785 iwork: &mut [i32],
34786 info: &mut i32,
34787) {
34788 ffi::ztgsna_(
34789 &(job as c_char),
34790 &(howmny as c_char),
34791 select.as_ptr(),
34792 &n,
34793 a.as_ptr() as *const _,
34794 &lda,
34795 b.as_ptr() as *const _,
34796 &ldb,
34797 vl.as_ptr() as *const _,
34798 &ldvl,
34799 vr.as_ptr() as *const _,
34800 &ldvr,
34801 s.as_mut_ptr(),
34802 dif.as_mut_ptr(),
34803 &mm,
34804 m,
34805 work.as_mut_ptr() as *mut _,
34806 &lwork,
34807 iwork.as_mut_ptr(),
34808 info,
34809 )
34810}
34811
34812#[inline]
34813pub unsafe fn ctgsyl(
34814 trans: u8,
34815 ijob: &[i32],
34816 m: i32,
34817 n: i32,
34818 a: &[c32],
34819 lda: i32,
34820 b: &[c32],
34821 ldb: i32,
34822 c: &mut [c32],
34823 ldc: i32,
34824 d: &[c32],
34825 ldd: i32,
34826 e: &[c32],
34827 lde: i32,
34828 f: &mut [c32],
34829 ldf: i32,
34830 dif: &mut f32,
34831 scale: &mut [f32],
34832 work: &mut [c32],
34833 lwork: i32,
34834 iwork: &mut [i32],
34835 info: &mut i32,
34836) {
34837 ffi::ctgsyl_(
34838 &(trans as c_char),
34839 ijob.as_ptr(),
34840 &m,
34841 &n,
34842 a.as_ptr() as *const _,
34843 &lda,
34844 b.as_ptr() as *const _,
34845 &ldb,
34846 c.as_mut_ptr() as *mut _,
34847 &ldc,
34848 d.as_ptr() as *const _,
34849 &ldd,
34850 e.as_ptr() as *const _,
34851 &lde,
34852 f.as_mut_ptr() as *mut _,
34853 &ldf,
34854 dif,
34855 scale.as_mut_ptr(),
34856 work.as_mut_ptr() as *mut _,
34857 &lwork,
34858 iwork.as_mut_ptr(),
34859 info,
34860 )
34861}
34862
34863#[inline]
34864pub unsafe fn dtgsyl(
34865 trans: u8,
34866 ijob: &[i32],
34867 m: i32,
34868 n: i32,
34869 a: &[f64],
34870 lda: i32,
34871 b: &[f64],
34872 ldb: i32,
34873 c: &mut [f64],
34874 ldc: i32,
34875 d: &[f64],
34876 ldd: i32,
34877 e: &[f64],
34878 lde: i32,
34879 f: &mut [f64],
34880 ldf: i32,
34881 dif: &mut f64,
34882 scale: &mut [f64],
34883 work: &mut [f64],
34884 lwork: i32,
34885 iwork: &mut [i32],
34886 info: &mut i32,
34887) {
34888 ffi::dtgsyl_(
34889 &(trans as c_char),
34890 ijob.as_ptr(),
34891 &m,
34892 &n,
34893 a.as_ptr(),
34894 &lda,
34895 b.as_ptr(),
34896 &ldb,
34897 c.as_mut_ptr(),
34898 &ldc,
34899 d.as_ptr(),
34900 &ldd,
34901 e.as_ptr(),
34902 &lde,
34903 f.as_mut_ptr(),
34904 &ldf,
34905 dif,
34906 scale.as_mut_ptr(),
34907 work.as_mut_ptr(),
34908 &lwork,
34909 iwork.as_mut_ptr(),
34910 info,
34911 )
34912}
34913
34914#[inline]
34915pub unsafe fn stgsyl(
34916 trans: u8,
34917 ijob: &[i32],
34918 m: i32,
34919 n: i32,
34920 a: &[f32],
34921 lda: i32,
34922 b: &[f32],
34923 ldb: i32,
34924 c: &mut [f32],
34925 ldc: i32,
34926 d: &[f32],
34927 ldd: i32,
34928 e: &[f32],
34929 lde: i32,
34930 f: &mut [f32],
34931 ldf: i32,
34932 dif: &mut f32,
34933 scale: &mut [f32],
34934 work: &mut [f32],
34935 lwork: i32,
34936 iwork: &mut [i32],
34937 info: &mut i32,
34938) {
34939 ffi::stgsyl_(
34940 &(trans as c_char),
34941 ijob.as_ptr(),
34942 &m,
34943 &n,
34944 a.as_ptr(),
34945 &lda,
34946 b.as_ptr(),
34947 &ldb,
34948 c.as_mut_ptr(),
34949 &ldc,
34950 d.as_ptr(),
34951 &ldd,
34952 e.as_ptr(),
34953 &lde,
34954 f.as_mut_ptr(),
34955 &ldf,
34956 dif,
34957 scale.as_mut_ptr(),
34958 work.as_mut_ptr(),
34959 &lwork,
34960 iwork.as_mut_ptr(),
34961 info,
34962 )
34963}
34964
34965#[inline]
34966pub unsafe fn ztgsyl(
34967 trans: u8,
34968 ijob: &[i32],
34969 m: i32,
34970 n: i32,
34971 a: &[c64],
34972 lda: i32,
34973 b: &[c64],
34974 ldb: i32,
34975 c: &mut [c64],
34976 ldc: i32,
34977 d: &[c64],
34978 ldd: i32,
34979 e: &[c64],
34980 lde: i32,
34981 f: &mut [c64],
34982 ldf: i32,
34983 dif: &mut f64,
34984 scale: &mut [f64],
34985 work: &mut [c64],
34986 lwork: i32,
34987 iwork: &mut [i32],
34988 info: &mut i32,
34989) {
34990 ffi::ztgsyl_(
34991 &(trans as c_char),
34992 ijob.as_ptr(),
34993 &m,
34994 &n,
34995 a.as_ptr() as *const _,
34996 &lda,
34997 b.as_ptr() as *const _,
34998 &ldb,
34999 c.as_mut_ptr() as *mut _,
35000 &ldc,
35001 d.as_ptr() as *const _,
35002 &ldd,
35003 e.as_ptr() as *const _,
35004 &lde,
35005 f.as_mut_ptr() as *mut _,
35006 &ldf,
35007 dif,
35008 scale.as_mut_ptr(),
35009 work.as_mut_ptr() as *mut _,
35010 &lwork,
35011 iwork.as_mut_ptr(),
35012 info,
35013 )
35014}
35015
35016#[inline]
35017pub unsafe fn ctpcon(
35018 norm: u8,
35019 uplo: u8,
35020 diag: u8,
35021 n: i32,
35022 ap: &[c32],
35023 rcond: &mut f32,
35024 work: &mut [c32],
35025 rwork: &mut [f32],
35026 info: &mut i32,
35027) {
35028 ffi::ctpcon_(
35029 &(norm as c_char),
35030 &(uplo as c_char),
35031 &(diag as c_char),
35032 &n,
35033 ap.as_ptr() as *const _,
35034 rcond,
35035 work.as_mut_ptr() as *mut _,
35036 rwork.as_mut_ptr(),
35037 info,
35038 )
35039}
35040
35041#[inline]
35042pub unsafe fn dtpcon(
35043 norm: u8,
35044 uplo: u8,
35045 diag: u8,
35046 n: i32,
35047 ap: &[f64],
35048 rcond: &mut f64,
35049 work: &mut [f64],
35050 iwork: &mut [i32],
35051 info: &mut i32,
35052) {
35053 ffi::dtpcon_(
35054 &(norm as c_char),
35055 &(uplo as c_char),
35056 &(diag as c_char),
35057 &n,
35058 ap.as_ptr(),
35059 rcond,
35060 work.as_mut_ptr(),
35061 iwork.as_mut_ptr(),
35062 info,
35063 )
35064}
35065
35066#[inline]
35067pub unsafe fn stpcon(
35068 norm: u8,
35069 uplo: u8,
35070 diag: u8,
35071 n: i32,
35072 ap: &[f32],
35073 rcond: &mut f32,
35074 work: &mut [f32],
35075 iwork: &mut [i32],
35076 info: &mut i32,
35077) {
35078 ffi::stpcon_(
35079 &(norm as c_char),
35080 &(uplo as c_char),
35081 &(diag as c_char),
35082 &n,
35083 ap.as_ptr(),
35084 rcond,
35085 work.as_mut_ptr(),
35086 iwork.as_mut_ptr(),
35087 info,
35088 )
35089}
35090
35091#[inline]
35092pub unsafe fn ztpcon(
35093 norm: u8,
35094 uplo: u8,
35095 diag: u8,
35096 n: i32,
35097 ap: &[c64],
35098 rcond: &mut f64,
35099 work: &mut [c64],
35100 rwork: &mut [f64],
35101 info: &mut i32,
35102) {
35103 ffi::ztpcon_(
35104 &(norm as c_char),
35105 &(uplo as c_char),
35106 &(diag as c_char),
35107 &n,
35108 ap.as_ptr() as *const _,
35109 rcond,
35110 work.as_mut_ptr() as *mut _,
35111 rwork.as_mut_ptr(),
35112 info,
35113 )
35114}
35115
35116#[inline]
35117pub unsafe fn ctplqt(
35118 m: i32,
35119 n: i32,
35120 l: i32,
35121 mb: &[i32],
35122 a: &mut [c32],
35123 lda: i32,
35124 b: &mut [c32],
35125 ldb: i32,
35126 t: &mut [c32],
35127 ldt: i32,
35128 work: &mut [c32],
35129 info: &mut i32,
35130) {
35131 ffi::ctplqt_(
35132 &m,
35133 &n,
35134 &l,
35135 mb.as_ptr(),
35136 a.as_mut_ptr() as *mut _,
35137 &lda,
35138 b.as_mut_ptr() as *mut _,
35139 &ldb,
35140 t.as_mut_ptr() as *mut _,
35141 &ldt,
35142 work.as_mut_ptr() as *mut _,
35143 info,
35144 )
35145}
35146
35147#[inline]
35148pub unsafe fn dtplqt(
35149 m: i32,
35150 n: i32,
35151 l: i32,
35152 mb: &[i32],
35153 a: &mut [f64],
35154 lda: i32,
35155 b: &mut [f64],
35156 ldb: i32,
35157 t: &mut [f64],
35158 ldt: i32,
35159 work: &mut [f64],
35160 info: &mut i32,
35161) {
35162 ffi::dtplqt_(
35163 &m,
35164 &n,
35165 &l,
35166 mb.as_ptr(),
35167 a.as_mut_ptr(),
35168 &lda,
35169 b.as_mut_ptr(),
35170 &ldb,
35171 t.as_mut_ptr(),
35172 &ldt,
35173 work.as_mut_ptr(),
35174 info,
35175 )
35176}
35177
35178#[inline]
35179pub unsafe fn stplqt(
35180 m: i32,
35181 n: i32,
35182 l: i32,
35183 mb: &[i32],
35184 a: &mut [f32],
35185 lda: i32,
35186 b: &mut [f32],
35187 ldb: i32,
35188 t: &mut [f32],
35189 ldt: i32,
35190 work: &mut [f32],
35191 info: &mut i32,
35192) {
35193 ffi::stplqt_(
35194 &m,
35195 &n,
35196 &l,
35197 mb.as_ptr(),
35198 a.as_mut_ptr(),
35199 &lda,
35200 b.as_mut_ptr(),
35201 &ldb,
35202 t.as_mut_ptr(),
35203 &ldt,
35204 work.as_mut_ptr(),
35205 info,
35206 )
35207}
35208
35209#[inline]
35210pub unsafe fn ztplqt(
35211 m: i32,
35212 n: i32,
35213 l: i32,
35214 mb: &[i32],
35215 a: &mut [c64],
35216 lda: i32,
35217 b: &mut [c64],
35218 ldb: i32,
35219 t: &mut [c64],
35220 ldt: i32,
35221 work: &mut [c64],
35222 info: &mut i32,
35223) {
35224 ffi::ztplqt_(
35225 &m,
35226 &n,
35227 &l,
35228 mb.as_ptr(),
35229 a.as_mut_ptr() as *mut _,
35230 &lda,
35231 b.as_mut_ptr() as *mut _,
35232 &ldb,
35233 t.as_mut_ptr() as *mut _,
35234 &ldt,
35235 work.as_mut_ptr() as *mut _,
35236 info,
35237 )
35238}
35239
35240#[inline]
35241pub unsafe fn ctplqt2(
35242 m: i32,
35243 n: i32,
35244 l: i32,
35245 a: &mut [c32],
35246 lda: i32,
35247 b: &mut [c32],
35248 ldb: i32,
35249 t: &mut [c32],
35250 ldt: i32,
35251 info: &mut i32,
35252) {
35253 ffi::ctplqt2_(
35254 &m,
35255 &n,
35256 &l,
35257 a.as_mut_ptr() as *mut _,
35258 &lda,
35259 b.as_mut_ptr() as *mut _,
35260 &ldb,
35261 t.as_mut_ptr() as *mut _,
35262 &ldt,
35263 info,
35264 )
35265}
35266
35267#[inline]
35268pub unsafe fn dtplqt2(
35269 m: i32,
35270 n: i32,
35271 l: i32,
35272 a: &mut [f64],
35273 lda: i32,
35274 b: &mut [f64],
35275 ldb: i32,
35276 t: &mut [f64],
35277 ldt: i32,
35278 info: &mut i32,
35279) {
35280 ffi::dtplqt2_(
35281 &m,
35282 &n,
35283 &l,
35284 a.as_mut_ptr(),
35285 &lda,
35286 b.as_mut_ptr(),
35287 &ldb,
35288 t.as_mut_ptr(),
35289 &ldt,
35290 info,
35291 )
35292}
35293
35294#[inline]
35295pub unsafe fn stplqt2(
35296 m: i32,
35297 n: i32,
35298 l: i32,
35299 a: &mut [f32],
35300 lda: i32,
35301 b: &mut [f32],
35302 ldb: i32,
35303 t: &mut [f32],
35304 ldt: i32,
35305 info: &mut i32,
35306) {
35307 ffi::stplqt2_(
35308 &m,
35309 &n,
35310 &l,
35311 a.as_mut_ptr(),
35312 &lda,
35313 b.as_mut_ptr(),
35314 &ldb,
35315 t.as_mut_ptr(),
35316 &ldt,
35317 info,
35318 )
35319}
35320
35321#[inline]
35322pub unsafe fn ztplqt2(
35323 m: i32,
35324 n: i32,
35325 l: i32,
35326 a: &mut [c64],
35327 lda: i32,
35328 b: &mut [c64],
35329 ldb: i32,
35330 t: &mut [c64],
35331 ldt: i32,
35332 info: &mut i32,
35333) {
35334 ffi::ztplqt2_(
35335 &m,
35336 &n,
35337 &l,
35338 a.as_mut_ptr() as *mut _,
35339 &lda,
35340 b.as_mut_ptr() as *mut _,
35341 &ldb,
35342 t.as_mut_ptr() as *mut _,
35343 &ldt,
35344 info,
35345 )
35346}
35347
35348#[inline]
35349pub unsafe fn ctpmlqt(
35350 side: u8,
35351 trans: u8,
35352 m: i32,
35353 n: i32,
35354 k: i32,
35355 l: i32,
35356 mb: &[i32],
35357 v: &[c32],
35358 ldv: i32,
35359 t: &[c32],
35360 ldt: i32,
35361 a: &mut [c32],
35362 lda: i32,
35363 b: &mut [c32],
35364 ldb: i32,
35365 work: &mut [c32],
35366 info: &mut i32,
35367) {
35368 ffi::ctpmlqt_(
35369 &(side as c_char),
35370 &(trans as c_char),
35371 &m,
35372 &n,
35373 &k,
35374 &l,
35375 mb.as_ptr(),
35376 v.as_ptr() as *const _,
35377 &ldv,
35378 t.as_ptr() as *const _,
35379 &ldt,
35380 a.as_mut_ptr() as *mut _,
35381 &lda,
35382 b.as_mut_ptr() as *mut _,
35383 &ldb,
35384 work.as_mut_ptr() as *mut _,
35385 info,
35386 )
35387}
35388
35389#[inline]
35390pub unsafe fn dtpmlqt(
35391 side: u8,
35392 trans: u8,
35393 m: i32,
35394 n: i32,
35395 k: i32,
35396 l: i32,
35397 mb: &[i32],
35398 v: &[f64],
35399 ldv: i32,
35400 t: &[f64],
35401 ldt: i32,
35402 a: &mut [f64],
35403 lda: i32,
35404 b: &mut [f64],
35405 ldb: i32,
35406 work: &mut [f64],
35407 info: &mut i32,
35408) {
35409 ffi::dtpmlqt_(
35410 &(side as c_char),
35411 &(trans as c_char),
35412 &m,
35413 &n,
35414 &k,
35415 &l,
35416 mb.as_ptr(),
35417 v.as_ptr(),
35418 &ldv,
35419 t.as_ptr(),
35420 &ldt,
35421 a.as_mut_ptr(),
35422 &lda,
35423 b.as_mut_ptr(),
35424 &ldb,
35425 work.as_mut_ptr(),
35426 info,
35427 )
35428}
35429
35430#[inline]
35431pub unsafe fn stpmlqt(
35432 side: u8,
35433 trans: u8,
35434 m: i32,
35435 n: i32,
35436 k: i32,
35437 l: i32,
35438 mb: &[i32],
35439 v: &[f32],
35440 ldv: i32,
35441 t: &[f32],
35442 ldt: i32,
35443 a: &mut [f32],
35444 lda: i32,
35445 b: &mut [f32],
35446 ldb: i32,
35447 work: &mut [f32],
35448 info: &mut i32,
35449) {
35450 ffi::stpmlqt_(
35451 &(side as c_char),
35452 &(trans as c_char),
35453 &m,
35454 &n,
35455 &k,
35456 &l,
35457 mb.as_ptr(),
35458 v.as_ptr(),
35459 &ldv,
35460 t.as_ptr(),
35461 &ldt,
35462 a.as_mut_ptr(),
35463 &lda,
35464 b.as_mut_ptr(),
35465 &ldb,
35466 work.as_mut_ptr(),
35467 info,
35468 )
35469}
35470
35471#[inline]
35472pub unsafe fn ztpmlqt(
35473 side: u8,
35474 trans: u8,
35475 m: i32,
35476 n: i32,
35477 k: i32,
35478 l: i32,
35479 mb: &[i32],
35480 v: &[c64],
35481 ldv: i32,
35482 t: &[c64],
35483 ldt: i32,
35484 a: &mut [c64],
35485 lda: i32,
35486 b: &mut [c64],
35487 ldb: i32,
35488 work: &mut [c64],
35489 info: &mut i32,
35490) {
35491 ffi::ztpmlqt_(
35492 &(side as c_char),
35493 &(trans as c_char),
35494 &m,
35495 &n,
35496 &k,
35497 &l,
35498 mb.as_ptr(),
35499 v.as_ptr() as *const _,
35500 &ldv,
35501 t.as_ptr() as *const _,
35502 &ldt,
35503 a.as_mut_ptr() as *mut _,
35504 &lda,
35505 b.as_mut_ptr() as *mut _,
35506 &ldb,
35507 work.as_mut_ptr() as *mut _,
35508 info,
35509 )
35510}
35511
35512#[inline]
35513pub unsafe fn ctpmqrt(
35514 side: u8,
35515 trans: u8,
35516 m: i32,
35517 n: i32,
35518 k: i32,
35519 l: i32,
35520 nb: i32,
35521 v: &[c32],
35522 ldv: i32,
35523 t: &[c32],
35524 ldt: i32,
35525 a: &mut [c32],
35526 lda: i32,
35527 b: &mut [c32],
35528 ldb: i32,
35529 work: &mut [c32],
35530 info: &mut i32,
35531) {
35532 ffi::ctpmqrt_(
35533 &(side as c_char),
35534 &(trans as c_char),
35535 &m,
35536 &n,
35537 &k,
35538 &l,
35539 &nb,
35540 v.as_ptr() as *const _,
35541 &ldv,
35542 t.as_ptr() as *const _,
35543 &ldt,
35544 a.as_mut_ptr() as *mut _,
35545 &lda,
35546 b.as_mut_ptr() as *mut _,
35547 &ldb,
35548 work.as_mut_ptr() as *mut _,
35549 info,
35550 )
35551}
35552
35553#[inline]
35554pub unsafe fn dtpmqrt(
35555 side: u8,
35556 trans: u8,
35557 m: i32,
35558 n: i32,
35559 k: i32,
35560 l: i32,
35561 nb: i32,
35562 v: &[f64],
35563 ldv: i32,
35564 t: &[f64],
35565 ldt: i32,
35566 a: &mut [f64],
35567 lda: i32,
35568 b: &mut [f64],
35569 ldb: i32,
35570 work: &mut [f64],
35571 info: &mut i32,
35572) {
35573 ffi::dtpmqrt_(
35574 &(side as c_char),
35575 &(trans as c_char),
35576 &m,
35577 &n,
35578 &k,
35579 &l,
35580 &nb,
35581 v.as_ptr(),
35582 &ldv,
35583 t.as_ptr(),
35584 &ldt,
35585 a.as_mut_ptr(),
35586 &lda,
35587 b.as_mut_ptr(),
35588 &ldb,
35589 work.as_mut_ptr(),
35590 info,
35591 )
35592}
35593
35594#[inline]
35595pub unsafe fn stpmqrt(
35596 side: u8,
35597 trans: u8,
35598 m: i32,
35599 n: i32,
35600 k: i32,
35601 l: i32,
35602 nb: i32,
35603 v: &[f32],
35604 ldv: i32,
35605 t: &[f32],
35606 ldt: i32,
35607 a: &mut [f32],
35608 lda: i32,
35609 b: &mut [f32],
35610 ldb: i32,
35611 work: &mut [f32],
35612 info: &mut i32,
35613) {
35614 ffi::stpmqrt_(
35615 &(side as c_char),
35616 &(trans as c_char),
35617 &m,
35618 &n,
35619 &k,
35620 &l,
35621 &nb,
35622 v.as_ptr(),
35623 &ldv,
35624 t.as_ptr(),
35625 &ldt,
35626 a.as_mut_ptr(),
35627 &lda,
35628 b.as_mut_ptr(),
35629 &ldb,
35630 work.as_mut_ptr(),
35631 info,
35632 )
35633}
35634
35635#[inline]
35636pub unsafe fn ztpmqrt(
35637 side: u8,
35638 trans: u8,
35639 m: i32,
35640 n: i32,
35641 k: i32,
35642 l: i32,
35643 nb: i32,
35644 v: &[c64],
35645 ldv: i32,
35646 t: &[c64],
35647 ldt: i32,
35648 a: &mut [c64],
35649 lda: i32,
35650 b: &mut [c64],
35651 ldb: i32,
35652 work: &mut [c64],
35653 info: &mut i32,
35654) {
35655 ffi::ztpmqrt_(
35656 &(side as c_char),
35657 &(trans as c_char),
35658 &m,
35659 &n,
35660 &k,
35661 &l,
35662 &nb,
35663 v.as_ptr() as *const _,
35664 &ldv,
35665 t.as_ptr() as *const _,
35666 &ldt,
35667 a.as_mut_ptr() as *mut _,
35668 &lda,
35669 b.as_mut_ptr() as *mut _,
35670 &ldb,
35671 work.as_mut_ptr() as *mut _,
35672 info,
35673 )
35674}
35675
35676#[inline]
35677pub unsafe fn ctpqrt(
35678 m: i32,
35679 n: i32,
35680 l: i32,
35681 nb: i32,
35682 a: &mut [c32],
35683 lda: i32,
35684 b: &mut [c32],
35685 ldb: i32,
35686 t: &mut [c32],
35687 ldt: i32,
35688 work: &mut [c32],
35689 info: &mut i32,
35690) {
35691 ffi::ctpqrt_(
35692 &m,
35693 &n,
35694 &l,
35695 &nb,
35696 a.as_mut_ptr() as *mut _,
35697 &lda,
35698 b.as_mut_ptr() as *mut _,
35699 &ldb,
35700 t.as_mut_ptr() as *mut _,
35701 &ldt,
35702 work.as_mut_ptr() as *mut _,
35703 info,
35704 )
35705}
35706
35707#[inline]
35708pub unsafe fn dtpqrt(
35709 m: i32,
35710 n: i32,
35711 l: i32,
35712 nb: i32,
35713 a: &mut [f64],
35714 lda: i32,
35715 b: &mut [f64],
35716 ldb: i32,
35717 t: &mut [f64],
35718 ldt: i32,
35719 work: &mut [f64],
35720 info: &mut i32,
35721) {
35722 ffi::dtpqrt_(
35723 &m,
35724 &n,
35725 &l,
35726 &nb,
35727 a.as_mut_ptr(),
35728 &lda,
35729 b.as_mut_ptr(),
35730 &ldb,
35731 t.as_mut_ptr(),
35732 &ldt,
35733 work.as_mut_ptr(),
35734 info,
35735 )
35736}
35737
35738#[inline]
35739pub unsafe fn stpqrt(
35740 m: i32,
35741 n: i32,
35742 l: i32,
35743 nb: i32,
35744 a: &mut [f32],
35745 lda: i32,
35746 b: &mut [f32],
35747 ldb: i32,
35748 t: &mut [f32],
35749 ldt: i32,
35750 work: &mut [f32],
35751 info: &mut i32,
35752) {
35753 ffi::stpqrt_(
35754 &m,
35755 &n,
35756 &l,
35757 &nb,
35758 a.as_mut_ptr(),
35759 &lda,
35760 b.as_mut_ptr(),
35761 &ldb,
35762 t.as_mut_ptr(),
35763 &ldt,
35764 work.as_mut_ptr(),
35765 info,
35766 )
35767}
35768
35769#[inline]
35770pub unsafe fn ztpqrt(
35771 m: i32,
35772 n: i32,
35773 l: i32,
35774 nb: i32,
35775 a: &mut [c64],
35776 lda: i32,
35777 b: &mut [c64],
35778 ldb: i32,
35779 t: &mut [c64],
35780 ldt: i32,
35781 work: &mut [c64],
35782 info: &mut i32,
35783) {
35784 ffi::ztpqrt_(
35785 &m,
35786 &n,
35787 &l,
35788 &nb,
35789 a.as_mut_ptr() as *mut _,
35790 &lda,
35791 b.as_mut_ptr() as *mut _,
35792 &ldb,
35793 t.as_mut_ptr() as *mut _,
35794 &ldt,
35795 work.as_mut_ptr() as *mut _,
35796 info,
35797 )
35798}
35799
35800#[inline]
35801pub unsafe fn ctpqrt2(
35802 m: i32,
35803 n: i32,
35804 l: i32,
35805 a: &mut [c32],
35806 lda: i32,
35807 b: &mut [c32],
35808 ldb: i32,
35809 t: &mut [c32],
35810 ldt: i32,
35811 info: &mut i32,
35812) {
35813 ffi::ctpqrt2_(
35814 &m,
35815 &n,
35816 &l,
35817 a.as_mut_ptr() as *mut _,
35818 &lda,
35819 b.as_mut_ptr() as *mut _,
35820 &ldb,
35821 t.as_mut_ptr() as *mut _,
35822 &ldt,
35823 info,
35824 )
35825}
35826
35827#[inline]
35828pub unsafe fn dtpqrt2(
35829 m: i32,
35830 n: i32,
35831 l: i32,
35832 a: &mut [f64],
35833 lda: i32,
35834 b: &mut [f64],
35835 ldb: i32,
35836 t: &mut [f64],
35837 ldt: i32,
35838 info: &mut i32,
35839) {
35840 ffi::dtpqrt2_(
35841 &m,
35842 &n,
35843 &l,
35844 a.as_mut_ptr(),
35845 &lda,
35846 b.as_mut_ptr(),
35847 &ldb,
35848 t.as_mut_ptr(),
35849 &ldt,
35850 info,
35851 )
35852}
35853
35854#[inline]
35855pub unsafe fn stpqrt2(
35856 m: i32,
35857 n: i32,
35858 l: i32,
35859 a: &mut [f32],
35860 lda: i32,
35861 b: &mut [f32],
35862 ldb: i32,
35863 t: &mut [f32],
35864 ldt: i32,
35865 info: &mut i32,
35866) {
35867 ffi::stpqrt2_(
35868 &m,
35869 &n,
35870 &l,
35871 a.as_mut_ptr(),
35872 &lda,
35873 b.as_mut_ptr(),
35874 &ldb,
35875 t.as_mut_ptr(),
35876 &ldt,
35877 info,
35878 )
35879}
35880
35881#[inline]
35882pub unsafe fn ztpqrt2(
35883 m: i32,
35884 n: i32,
35885 l: i32,
35886 a: &mut [c64],
35887 lda: i32,
35888 b: &mut [c64],
35889 ldb: i32,
35890 t: &mut [c64],
35891 ldt: i32,
35892 info: &mut i32,
35893) {
35894 ffi::ztpqrt2_(
35895 &m,
35896 &n,
35897 &l,
35898 a.as_mut_ptr() as *mut _,
35899 &lda,
35900 b.as_mut_ptr() as *mut _,
35901 &ldb,
35902 t.as_mut_ptr() as *mut _,
35903 &ldt,
35904 info,
35905 )
35906}
35907
35908#[inline]
35909pub unsafe fn ctprfb(
35910 side: u8,
35911 trans: u8,
35912 direct: u8,
35913 storev: u8,
35914 m: i32,
35915 n: i32,
35916 k: i32,
35917 l: i32,
35918 v: &[c32],
35919 ldv: i32,
35920 t: &[c32],
35921 ldt: i32,
35922 a: &mut [c32],
35923 lda: i32,
35924 b: &mut [c32],
35925 ldb: i32,
35926 work: &mut [c32],
35927 ldwork: i32,
35928) {
35929 ffi::ctprfb_(
35930 &(side as c_char),
35931 &(trans as c_char),
35932 &(direct as c_char),
35933 &(storev as c_char),
35934 &m,
35935 &n,
35936 &k,
35937 &l,
35938 v.as_ptr() as *const _,
35939 &ldv,
35940 t.as_ptr() as *const _,
35941 &ldt,
35942 a.as_mut_ptr() as *mut _,
35943 &lda,
35944 b.as_mut_ptr() as *mut _,
35945 &ldb,
35946 work.as_mut_ptr() as *mut _,
35947 &ldwork,
35948 )
35949}
35950
35951#[inline]
35952pub unsafe fn dtprfb(
35953 side: u8,
35954 trans: u8,
35955 direct: u8,
35956 storev: u8,
35957 m: i32,
35958 n: i32,
35959 k: i32,
35960 l: i32,
35961 v: &[f64],
35962 ldv: i32,
35963 t: &[f64],
35964 ldt: i32,
35965 a: &mut [f64],
35966 lda: i32,
35967 b: &mut [f64],
35968 ldb: i32,
35969 work: &mut [f64],
35970 ldwork: i32,
35971) {
35972 ffi::dtprfb_(
35973 &(side as c_char),
35974 &(trans as c_char),
35975 &(direct as c_char),
35976 &(storev as c_char),
35977 &m,
35978 &n,
35979 &k,
35980 &l,
35981 v.as_ptr(),
35982 &ldv,
35983 t.as_ptr(),
35984 &ldt,
35985 a.as_mut_ptr(),
35986 &lda,
35987 b.as_mut_ptr(),
35988 &ldb,
35989 work.as_mut_ptr(),
35990 &ldwork,
35991 )
35992}
35993
35994#[inline]
35995pub unsafe fn stprfb(
35996 side: u8,
35997 trans: u8,
35998 direct: u8,
35999 storev: u8,
36000 m: i32,
36001 n: i32,
36002 k: i32,
36003 l: i32,
36004 v: &[f32],
36005 ldv: i32,
36006 t: &[f32],
36007 ldt: i32,
36008 a: &mut [f32],
36009 lda: i32,
36010 b: &mut [f32],
36011 ldb: i32,
36012 work: &mut [f32],
36013 ldwork: i32,
36014) {
36015 ffi::stprfb_(
36016 &(side as c_char),
36017 &(trans as c_char),
36018 &(direct as c_char),
36019 &(storev as c_char),
36020 &m,
36021 &n,
36022 &k,
36023 &l,
36024 v.as_ptr(),
36025 &ldv,
36026 t.as_ptr(),
36027 &ldt,
36028 a.as_mut_ptr(),
36029 &lda,
36030 b.as_mut_ptr(),
36031 &ldb,
36032 work.as_mut_ptr(),
36033 &ldwork,
36034 )
36035}
36036
36037#[inline]
36038pub unsafe fn ztprfb(
36039 side: u8,
36040 trans: u8,
36041 direct: u8,
36042 storev: u8,
36043 m: i32,
36044 n: i32,
36045 k: i32,
36046 l: i32,
36047 v: &[c64],
36048 ldv: i32,
36049 t: &[c64],
36050 ldt: i32,
36051 a: &mut [c64],
36052 lda: i32,
36053 b: &mut [c64],
36054 ldb: i32,
36055 work: &mut [c64],
36056 ldwork: i32,
36057) {
36058 ffi::ztprfb_(
36059 &(side as c_char),
36060 &(trans as c_char),
36061 &(direct as c_char),
36062 &(storev as c_char),
36063 &m,
36064 &n,
36065 &k,
36066 &l,
36067 v.as_ptr() as *const _,
36068 &ldv,
36069 t.as_ptr() as *const _,
36070 &ldt,
36071 a.as_mut_ptr() as *mut _,
36072 &lda,
36073 b.as_mut_ptr() as *mut _,
36074 &ldb,
36075 work.as_mut_ptr() as *mut _,
36076 &ldwork,
36077 )
36078}
36079
36080#[inline]
36081pub unsafe fn ctprfs(
36082 uplo: u8,
36083 trans: u8,
36084 diag: u8,
36085 n: i32,
36086 nrhs: i32,
36087 ap: &[c32],
36088 b: &[c32],
36089 ldb: i32,
36090 x: &[c32],
36091 ldx: i32,
36092 ferr: &mut [f32],
36093 berr: &mut [f32],
36094 work: &mut [c32],
36095 rwork: &mut [f32],
36096 info: &mut i32,
36097) {
36098 ffi::ctprfs_(
36099 &(uplo as c_char),
36100 &(trans as c_char),
36101 &(diag as c_char),
36102 &n,
36103 &nrhs,
36104 ap.as_ptr() as *const _,
36105 b.as_ptr() as *const _,
36106 &ldb,
36107 x.as_ptr() as *const _,
36108 &ldx,
36109 ferr.as_mut_ptr(),
36110 berr.as_mut_ptr(),
36111 work.as_mut_ptr() as *mut _,
36112 rwork.as_mut_ptr(),
36113 info,
36114 )
36115}
36116
36117#[inline]
36118pub unsafe fn dtprfs(
36119 uplo: u8,
36120 trans: u8,
36121 diag: u8,
36122 n: i32,
36123 nrhs: i32,
36124 ap: &[f64],
36125 b: &[f64],
36126 ldb: i32,
36127 x: &[f64],
36128 ldx: i32,
36129 ferr: &mut [f64],
36130 berr: &mut [f64],
36131 work: &mut [f64],
36132 iwork: &mut [i32],
36133 info: &mut i32,
36134) {
36135 ffi::dtprfs_(
36136 &(uplo as c_char),
36137 &(trans as c_char),
36138 &(diag as c_char),
36139 &n,
36140 &nrhs,
36141 ap.as_ptr(),
36142 b.as_ptr(),
36143 &ldb,
36144 x.as_ptr(),
36145 &ldx,
36146 ferr.as_mut_ptr(),
36147 berr.as_mut_ptr(),
36148 work.as_mut_ptr(),
36149 iwork.as_mut_ptr(),
36150 info,
36151 )
36152}
36153
36154#[inline]
36155pub unsafe fn stprfs(
36156 uplo: u8,
36157 trans: u8,
36158 diag: u8,
36159 n: i32,
36160 nrhs: i32,
36161 ap: &[f32],
36162 b: &[f32],
36163 ldb: i32,
36164 x: &[f32],
36165 ldx: i32,
36166 ferr: &mut [f32],
36167 berr: &mut [f32],
36168 work: &mut [f32],
36169 iwork: &mut [i32],
36170 info: &mut i32,
36171) {
36172 ffi::stprfs_(
36173 &(uplo as c_char),
36174 &(trans as c_char),
36175 &(diag as c_char),
36176 &n,
36177 &nrhs,
36178 ap.as_ptr(),
36179 b.as_ptr(),
36180 &ldb,
36181 x.as_ptr(),
36182 &ldx,
36183 ferr.as_mut_ptr(),
36184 berr.as_mut_ptr(),
36185 work.as_mut_ptr(),
36186 iwork.as_mut_ptr(),
36187 info,
36188 )
36189}
36190
36191#[inline]
36192pub unsafe fn ztprfs(
36193 uplo: u8,
36194 trans: u8,
36195 diag: u8,
36196 n: i32,
36197 nrhs: i32,
36198 ap: &[c64],
36199 b: &[c64],
36200 ldb: i32,
36201 x: &[c64],
36202 ldx: i32,
36203 ferr: &mut [f64],
36204 berr: &mut [f64],
36205 work: &mut [c64],
36206 rwork: &mut [f64],
36207 info: &mut i32,
36208) {
36209 ffi::ztprfs_(
36210 &(uplo as c_char),
36211 &(trans as c_char),
36212 &(diag as c_char),
36213 &n,
36214 &nrhs,
36215 ap.as_ptr() as *const _,
36216 b.as_ptr() as *const _,
36217 &ldb,
36218 x.as_ptr() as *const _,
36219 &ldx,
36220 ferr.as_mut_ptr(),
36221 berr.as_mut_ptr(),
36222 work.as_mut_ptr() as *mut _,
36223 rwork.as_mut_ptr(),
36224 info,
36225 )
36226}
36227
36228#[inline]
36229pub unsafe fn ctptri(uplo: u8, diag: u8, n: i32, ap: &mut [c32], info: &mut i32) {
36230 ffi::ctptri_(
36231 &(uplo as c_char),
36232 &(diag as c_char),
36233 &n,
36234 ap.as_mut_ptr() as *mut _,
36235 info,
36236 )
36237}
36238
36239#[inline]
36240pub unsafe fn dtptri(uplo: u8, diag: u8, n: i32, ap: &mut [f64], info: &mut i32) {
36241 ffi::dtptri_(
36242 &(uplo as c_char),
36243 &(diag as c_char),
36244 &n,
36245 ap.as_mut_ptr(),
36246 info,
36247 )
36248}
36249
36250#[inline]
36251pub unsafe fn stptri(uplo: u8, diag: u8, n: i32, ap: &mut [f32], info: &mut i32) {
36252 ffi::stptri_(
36253 &(uplo as c_char),
36254 &(diag as c_char),
36255 &n,
36256 ap.as_mut_ptr(),
36257 info,
36258 )
36259}
36260
36261#[inline]
36262pub unsafe fn ztptri(uplo: u8, diag: u8, n: i32, ap: &mut [c64], info: &mut i32) {
36263 ffi::ztptri_(
36264 &(uplo as c_char),
36265 &(diag as c_char),
36266 &n,
36267 ap.as_mut_ptr() as *mut _,
36268 info,
36269 )
36270}
36271
36272#[inline]
36273pub unsafe fn ctptrs(
36274 uplo: u8,
36275 trans: u8,
36276 diag: u8,
36277 n: i32,
36278 nrhs: i32,
36279 ap: &[c32],
36280 b: &mut [c32],
36281 ldb: i32,
36282 info: &mut i32,
36283) {
36284 ffi::ctptrs_(
36285 &(uplo as c_char),
36286 &(trans as c_char),
36287 &(diag as c_char),
36288 &n,
36289 &nrhs,
36290 ap.as_ptr() as *const _,
36291 b.as_mut_ptr() as *mut _,
36292 &ldb,
36293 info,
36294 )
36295}
36296
36297#[inline]
36298pub unsafe fn dtptrs(
36299 uplo: u8,
36300 trans: u8,
36301 diag: u8,
36302 n: i32,
36303 nrhs: i32,
36304 ap: &[f64],
36305 b: &mut [f64],
36306 ldb: i32,
36307 info: &mut i32,
36308) {
36309 ffi::dtptrs_(
36310 &(uplo as c_char),
36311 &(trans as c_char),
36312 &(diag as c_char),
36313 &n,
36314 &nrhs,
36315 ap.as_ptr(),
36316 b.as_mut_ptr(),
36317 &ldb,
36318 info,
36319 )
36320}
36321
36322#[inline]
36323pub unsafe fn stptrs(
36324 uplo: u8,
36325 trans: u8,
36326 diag: u8,
36327 n: i32,
36328 nrhs: i32,
36329 ap: &[f32],
36330 b: &mut [f32],
36331 ldb: i32,
36332 info: &mut i32,
36333) {
36334 ffi::stptrs_(
36335 &(uplo as c_char),
36336 &(trans as c_char),
36337 &(diag as c_char),
36338 &n,
36339 &nrhs,
36340 ap.as_ptr(),
36341 b.as_mut_ptr(),
36342 &ldb,
36343 info,
36344 )
36345}
36346
36347#[inline]
36348pub unsafe fn ztptrs(
36349 uplo: u8,
36350 trans: u8,
36351 diag: u8,
36352 n: i32,
36353 nrhs: i32,
36354 ap: &[c64],
36355 b: &mut [c64],
36356 ldb: i32,
36357 info: &mut i32,
36358) {
36359 ffi::ztptrs_(
36360 &(uplo as c_char),
36361 &(trans as c_char),
36362 &(diag as c_char),
36363 &n,
36364 &nrhs,
36365 ap.as_ptr() as *const _,
36366 b.as_mut_ptr() as *mut _,
36367 &ldb,
36368 info,
36369 )
36370}
36371
36372#[inline]
36373pub unsafe fn ctpttf(transr: u8, uplo: u8, n: i32, ap: &[c32], arf: &mut [c32], info: &mut i32) {
36374 ffi::ctpttf_(
36375 &(transr as c_char),
36376 &(uplo as c_char),
36377 &n,
36378 ap.as_ptr() as *const _,
36379 arf.as_mut_ptr() as *mut _,
36380 info,
36381 )
36382}
36383
36384#[inline]
36385pub unsafe fn dtpttf(transr: u8, uplo: u8, n: i32, ap: &[f64], arf: &mut [f64], info: &mut i32) {
36386 ffi::dtpttf_(
36387 &(transr as c_char),
36388 &(uplo as c_char),
36389 &n,
36390 ap.as_ptr(),
36391 arf.as_mut_ptr(),
36392 info,
36393 )
36394}
36395
36396#[inline]
36397pub unsafe fn stpttf(transr: u8, uplo: u8, n: i32, ap: &[f32], arf: &mut [f32], info: &mut i32) {
36398 ffi::stpttf_(
36399 &(transr as c_char),
36400 &(uplo as c_char),
36401 &n,
36402 ap.as_ptr(),
36403 arf.as_mut_ptr(),
36404 info,
36405 )
36406}
36407
36408#[inline]
36409pub unsafe fn ztpttf(transr: u8, uplo: u8, n: i32, ap: &[c64], arf: &mut [c64], info: &mut i32) {
36410 ffi::ztpttf_(
36411 &(transr as c_char),
36412 &(uplo as c_char),
36413 &n,
36414 ap.as_ptr() as *const _,
36415 arf.as_mut_ptr() as *mut _,
36416 info,
36417 )
36418}
36419
36420#[inline]
36421pub unsafe fn ctpttr(uplo: u8, n: i32, ap: &[c32], a: &mut [c32], lda: i32, info: &mut i32) {
36422 ffi::ctpttr_(
36423 &(uplo as c_char),
36424 &n,
36425 ap.as_ptr() as *const _,
36426 a.as_mut_ptr() as *mut _,
36427 &lda,
36428 info,
36429 )
36430}
36431
36432#[inline]
36433pub unsafe fn dtpttr(uplo: u8, n: i32, ap: &[f64], a: &mut [f64], lda: i32, info: &mut i32) {
36434 ffi::dtpttr_(
36435 &(uplo as c_char),
36436 &n,
36437 ap.as_ptr(),
36438 a.as_mut_ptr(),
36439 &lda,
36440 info,
36441 )
36442}
36443
36444#[inline]
36445pub unsafe fn stpttr(uplo: u8, n: i32, ap: &[f32], a: &mut [f32], lda: i32, info: &mut i32) {
36446 ffi::stpttr_(
36447 &(uplo as c_char),
36448 &n,
36449 ap.as_ptr(),
36450 a.as_mut_ptr(),
36451 &lda,
36452 info,
36453 )
36454}
36455
36456#[inline]
36457pub unsafe fn ztpttr(uplo: u8, n: i32, ap: &[c64], a: &mut [c64], lda: i32, info: &mut i32) {
36458 ffi::ztpttr_(
36459 &(uplo as c_char),
36460 &n,
36461 ap.as_ptr() as *const _,
36462 a.as_mut_ptr() as *mut _,
36463 &lda,
36464 info,
36465 )
36466}
36467
36468#[inline]
36469pub unsafe fn ctrcon(
36470 norm: u8,
36471 uplo: u8,
36472 diag: u8,
36473 n: i32,
36474 a: &[c32],
36475 lda: i32,
36476 rcond: &mut f32,
36477 work: &mut [c32],
36478 rwork: &mut [f32],
36479 info: &mut i32,
36480) {
36481 ffi::ctrcon_(
36482 &(norm as c_char),
36483 &(uplo as c_char),
36484 &(diag as c_char),
36485 &n,
36486 a.as_ptr() as *const _,
36487 &lda,
36488 rcond,
36489 work.as_mut_ptr() as *mut _,
36490 rwork.as_mut_ptr(),
36491 info,
36492 )
36493}
36494
36495#[inline]
36496pub unsafe fn dtrcon(
36497 norm: u8,
36498 uplo: u8,
36499 diag: u8,
36500 n: i32,
36501 a: &[f64],
36502 lda: i32,
36503 rcond: &mut f64,
36504 work: &mut [f64],
36505 iwork: &mut [i32],
36506 info: &mut i32,
36507) {
36508 ffi::dtrcon_(
36509 &(norm as c_char),
36510 &(uplo as c_char),
36511 &(diag as c_char),
36512 &n,
36513 a.as_ptr(),
36514 &lda,
36515 rcond,
36516 work.as_mut_ptr(),
36517 iwork.as_mut_ptr(),
36518 info,
36519 )
36520}
36521
36522#[inline]
36523pub unsafe fn strcon(
36524 norm: u8,
36525 uplo: u8,
36526 diag: u8,
36527 n: i32,
36528 a: &[f32],
36529 lda: i32,
36530 rcond: &mut f32,
36531 work: &mut [f32],
36532 iwork: &mut [i32],
36533 info: &mut i32,
36534) {
36535 ffi::strcon_(
36536 &(norm as c_char),
36537 &(uplo as c_char),
36538 &(diag as c_char),
36539 &n,
36540 a.as_ptr(),
36541 &lda,
36542 rcond,
36543 work.as_mut_ptr(),
36544 iwork.as_mut_ptr(),
36545 info,
36546 )
36547}
36548
36549#[inline]
36550pub unsafe fn ztrcon(
36551 norm: u8,
36552 uplo: u8,
36553 diag: u8,
36554 n: i32,
36555 a: &[c64],
36556 lda: i32,
36557 rcond: &mut f64,
36558 work: &mut [c64],
36559 rwork: &mut [f64],
36560 info: &mut i32,
36561) {
36562 ffi::ztrcon_(
36563 &(norm as c_char),
36564 &(uplo as c_char),
36565 &(diag as c_char),
36566 &n,
36567 a.as_ptr() as *const _,
36568 &lda,
36569 rcond,
36570 work.as_mut_ptr() as *mut _,
36571 rwork.as_mut_ptr(),
36572 info,
36573 )
36574}
36575
36576#[inline]
36577pub unsafe fn ctrevc(
36578 side: u8,
36579 howmny: u8,
36580 select: &[i32],
36581 n: i32,
36582 t: &mut [c32],
36583 ldt: i32,
36584 vl: &mut [c32],
36585 ldvl: i32,
36586 vr: &mut [c32],
36587 ldvr: i32,
36588 mm: i32,
36589 m: &mut i32,
36590 work: &mut [c32],
36591 rwork: &mut [f32],
36592 info: &mut i32,
36593) {
36594 ffi::ctrevc_(
36595 &(side as c_char),
36596 &(howmny as c_char),
36597 select.as_ptr(),
36598 &n,
36599 t.as_mut_ptr() as *mut _,
36600 &ldt,
36601 vl.as_mut_ptr() as *mut _,
36602 &ldvl,
36603 vr.as_mut_ptr() as *mut _,
36604 &ldvr,
36605 &mm,
36606 m,
36607 work.as_mut_ptr() as *mut _,
36608 rwork.as_mut_ptr(),
36609 info,
36610 )
36611}
36612
36613#[inline]
36614pub unsafe fn dtrevc(
36615 side: u8,
36616 howmny: u8,
36617 select: &mut [i32],
36618 n: i32,
36619 t: &[f64],
36620 ldt: i32,
36621 vl: &mut [f64],
36622 ldvl: i32,
36623 vr: &mut [f64],
36624 ldvr: i32,
36625 mm: i32,
36626 m: &mut i32,
36627 work: &mut [f64],
36628 info: &mut i32,
36629) {
36630 ffi::dtrevc_(
36631 &(side as c_char),
36632 &(howmny as c_char),
36633 select.as_mut_ptr(),
36634 &n,
36635 t.as_ptr(),
36636 &ldt,
36637 vl.as_mut_ptr(),
36638 &ldvl,
36639 vr.as_mut_ptr(),
36640 &ldvr,
36641 &mm,
36642 m,
36643 work.as_mut_ptr(),
36644 info,
36645 )
36646}
36647
36648#[inline]
36649pub unsafe fn strevc(
36650 side: u8,
36651 howmny: u8,
36652 select: &mut [i32],
36653 n: i32,
36654 t: &[f32],
36655 ldt: i32,
36656 vl: &mut [f32],
36657 ldvl: i32,
36658 vr: &mut [f32],
36659 ldvr: i32,
36660 mm: i32,
36661 m: &mut i32,
36662 work: &mut [f32],
36663 info: &mut i32,
36664) {
36665 ffi::strevc_(
36666 &(side as c_char),
36667 &(howmny as c_char),
36668 select.as_mut_ptr(),
36669 &n,
36670 t.as_ptr(),
36671 &ldt,
36672 vl.as_mut_ptr(),
36673 &ldvl,
36674 vr.as_mut_ptr(),
36675 &ldvr,
36676 &mm,
36677 m,
36678 work.as_mut_ptr(),
36679 info,
36680 )
36681}
36682
36683#[inline]
36684pub unsafe fn ztrevc(
36685 side: u8,
36686 howmny: u8,
36687 select: &[i32],
36688 n: i32,
36689 t: &mut [c64],
36690 ldt: i32,
36691 vl: &mut [c64],
36692 ldvl: i32,
36693 vr: &mut [c64],
36694 ldvr: i32,
36695 mm: i32,
36696 m: &mut i32,
36697 work: &mut [c64],
36698 rwork: &mut [f64],
36699 info: &mut i32,
36700) {
36701 ffi::ztrevc_(
36702 &(side as c_char),
36703 &(howmny as c_char),
36704 select.as_ptr(),
36705 &n,
36706 t.as_mut_ptr() as *mut _,
36707 &ldt,
36708 vl.as_mut_ptr() as *mut _,
36709 &ldvl,
36710 vr.as_mut_ptr() as *mut _,
36711 &ldvr,
36712 &mm,
36713 m,
36714 work.as_mut_ptr() as *mut _,
36715 rwork.as_mut_ptr(),
36716 info,
36717 )
36718}
36719
36720#[inline]
36721pub unsafe fn ctrevc3(
36722 side: u8,
36723 howmny: u8,
36724 select: &[i32],
36725 n: i32,
36726 t: &mut [c32],
36727 ldt: i32,
36728 vl: &mut [c32],
36729 ldvl: i32,
36730 vr: &mut [c32],
36731 ldvr: i32,
36732 mm: i32,
36733 m: &mut i32,
36734 work: &mut [c32],
36735 lwork: i32,
36736 rwork: &mut [f32],
36737 lrwork: i32,
36738 info: &mut i32,
36739) {
36740 ffi::ctrevc3_(
36741 &(side as c_char),
36742 &(howmny as c_char),
36743 select.as_ptr(),
36744 &n,
36745 t.as_mut_ptr() as *mut _,
36746 &ldt,
36747 vl.as_mut_ptr() as *mut _,
36748 &ldvl,
36749 vr.as_mut_ptr() as *mut _,
36750 &ldvr,
36751 &mm,
36752 m,
36753 work.as_mut_ptr() as *mut _,
36754 &lwork,
36755 rwork.as_mut_ptr(),
36756 &lrwork,
36757 info,
36758 )
36759}
36760
36761#[inline]
36762pub unsafe fn dtrevc3(
36763 side: u8,
36764 howmny: u8,
36765 select: &mut [i32],
36766 n: i32,
36767 t: &[f64],
36768 ldt: i32,
36769 vl: &mut [f64],
36770 ldvl: i32,
36771 vr: &mut [f64],
36772 ldvr: i32,
36773 mm: i32,
36774 m: &mut i32,
36775 work: &mut [f64],
36776 lwork: i32,
36777 info: &mut i32,
36778) {
36779 ffi::dtrevc3_(
36780 &(side as c_char),
36781 &(howmny as c_char),
36782 select.as_mut_ptr(),
36783 &n,
36784 t.as_ptr(),
36785 &ldt,
36786 vl.as_mut_ptr(),
36787 &ldvl,
36788 vr.as_mut_ptr(),
36789 &ldvr,
36790 &mm,
36791 m,
36792 work.as_mut_ptr(),
36793 &lwork,
36794 info,
36795 )
36796}
36797
36798#[inline]
36799pub unsafe fn strevc3(
36800 side: u8,
36801 howmny: u8,
36802 select: &mut [i32],
36803 n: i32,
36804 t: &[f32],
36805 ldt: i32,
36806 vl: &mut [f32],
36807 ldvl: i32,
36808 vr: &mut [f32],
36809 ldvr: i32,
36810 mm: i32,
36811 m: &mut i32,
36812 work: &mut [f32],
36813 lwork: i32,
36814 info: &mut i32,
36815) {
36816 ffi::strevc3_(
36817 &(side as c_char),
36818 &(howmny as c_char),
36819 select.as_mut_ptr(),
36820 &n,
36821 t.as_ptr(),
36822 &ldt,
36823 vl.as_mut_ptr(),
36824 &ldvl,
36825 vr.as_mut_ptr(),
36826 &ldvr,
36827 &mm,
36828 m,
36829 work.as_mut_ptr(),
36830 &lwork,
36831 info,
36832 )
36833}
36834
36835#[inline]
36836pub unsafe fn ztrevc3(
36837 side: u8,
36838 howmny: u8,
36839 select: &[i32],
36840 n: i32,
36841 t: &mut [c64],
36842 ldt: i32,
36843 vl: &mut [c64],
36844 ldvl: i32,
36845 vr: &mut [c64],
36846 ldvr: i32,
36847 mm: i32,
36848 m: &mut i32,
36849 work: &mut [c64],
36850 lwork: i32,
36851 rwork: &mut [f64],
36852 lrwork: i32,
36853 info: &mut i32,
36854) {
36855 ffi::ztrevc3_(
36856 &(side as c_char),
36857 &(howmny as c_char),
36858 select.as_ptr(),
36859 &n,
36860 t.as_mut_ptr() as *mut _,
36861 &ldt,
36862 vl.as_mut_ptr() as *mut _,
36863 &ldvl,
36864 vr.as_mut_ptr() as *mut _,
36865 &ldvr,
36866 &mm,
36867 m,
36868 work.as_mut_ptr() as *mut _,
36869 &lwork,
36870 rwork.as_mut_ptr(),
36871 &lrwork,
36872 info,
36873 )
36874}
36875
36876#[inline]
36877pub unsafe fn ctrexc(
36878 compq: u8,
36879 n: i32,
36880 t: &mut [c32],
36881 ldt: i32,
36882 q: &mut [c32],
36883 ldq: i32,
36884 ifst: &[i32],
36885 ilst: &[i32],
36886 info: &mut i32,
36887) {
36888 ffi::ctrexc_(
36889 &(compq as c_char),
36890 &n,
36891 t.as_mut_ptr() as *mut _,
36892 &ldt,
36893 q.as_mut_ptr() as *mut _,
36894 &ldq,
36895 ifst.as_ptr(),
36896 ilst.as_ptr(),
36897 info,
36898 )
36899}
36900
36901#[inline]
36902pub unsafe fn dtrexc(
36903 compq: u8,
36904 n: i32,
36905 t: &mut [f64],
36906 ldt: i32,
36907 q: &mut [f64],
36908 ldq: i32,
36909 ifst: &mut [i32],
36910 ilst: &mut [i32],
36911 work: &mut [f64],
36912 info: &mut i32,
36913) {
36914 ffi::dtrexc_(
36915 &(compq as c_char),
36916 &n,
36917 t.as_mut_ptr(),
36918 &ldt,
36919 q.as_mut_ptr(),
36920 &ldq,
36921 ifst.as_mut_ptr(),
36922 ilst.as_mut_ptr(),
36923 work.as_mut_ptr(),
36924 info,
36925 )
36926}
36927
36928#[inline]
36929pub unsafe fn strexc(
36930 compq: u8,
36931 n: i32,
36932 t: &mut [f32],
36933 ldt: i32,
36934 q: &mut [f32],
36935 ldq: i32,
36936 ifst: &mut [i32],
36937 ilst: &mut [i32],
36938 work: &mut [f32],
36939 info: &mut i32,
36940) {
36941 ffi::strexc_(
36942 &(compq as c_char),
36943 &n,
36944 t.as_mut_ptr(),
36945 &ldt,
36946 q.as_mut_ptr(),
36947 &ldq,
36948 ifst.as_mut_ptr(),
36949 ilst.as_mut_ptr(),
36950 work.as_mut_ptr(),
36951 info,
36952 )
36953}
36954
36955#[inline]
36956pub unsafe fn ztrexc(
36957 compq: u8,
36958 n: i32,
36959 t: &mut [c64],
36960 ldt: i32,
36961 q: &mut [c64],
36962 ldq: i32,
36963 ifst: &[i32],
36964 ilst: &[i32],
36965 info: &mut i32,
36966) {
36967 ffi::ztrexc_(
36968 &(compq as c_char),
36969 &n,
36970 t.as_mut_ptr() as *mut _,
36971 &ldt,
36972 q.as_mut_ptr() as *mut _,
36973 &ldq,
36974 ifst.as_ptr(),
36975 ilst.as_ptr(),
36976 info,
36977 )
36978}
36979
36980#[inline]
36981pub unsafe fn ctrrfs(
36982 uplo: u8,
36983 trans: u8,
36984 diag: u8,
36985 n: i32,
36986 nrhs: i32,
36987 a: &[c32],
36988 lda: i32,
36989 b: &[c32],
36990 ldb: i32,
36991 x: &[c32],
36992 ldx: i32,
36993 ferr: &mut [f32],
36994 berr: &mut [f32],
36995 work: &mut [c32],
36996 rwork: &mut [f32],
36997 info: &mut i32,
36998) {
36999 ffi::ctrrfs_(
37000 &(uplo as c_char),
37001 &(trans as c_char),
37002 &(diag as c_char),
37003 &n,
37004 &nrhs,
37005 a.as_ptr() as *const _,
37006 &lda,
37007 b.as_ptr() as *const _,
37008 &ldb,
37009 x.as_ptr() as *const _,
37010 &ldx,
37011 ferr.as_mut_ptr(),
37012 berr.as_mut_ptr(),
37013 work.as_mut_ptr() as *mut _,
37014 rwork.as_mut_ptr(),
37015 info,
37016 )
37017}
37018
37019#[inline]
37020pub unsafe fn dtrrfs(
37021 uplo: u8,
37022 trans: u8,
37023 diag: u8,
37024 n: i32,
37025 nrhs: i32,
37026 a: &[f64],
37027 lda: i32,
37028 b: &[f64],
37029 ldb: i32,
37030 x: &[f64],
37031 ldx: i32,
37032 ferr: &mut [f64],
37033 berr: &mut [f64],
37034 work: &mut [f64],
37035 iwork: &mut [i32],
37036 info: &mut i32,
37037) {
37038 ffi::dtrrfs_(
37039 &(uplo as c_char),
37040 &(trans as c_char),
37041 &(diag as c_char),
37042 &n,
37043 &nrhs,
37044 a.as_ptr(),
37045 &lda,
37046 b.as_ptr(),
37047 &ldb,
37048 x.as_ptr(),
37049 &ldx,
37050 ferr.as_mut_ptr(),
37051 berr.as_mut_ptr(),
37052 work.as_mut_ptr(),
37053 iwork.as_mut_ptr(),
37054 info,
37055 )
37056}
37057
37058#[inline]
37059pub unsafe fn strrfs(
37060 uplo: u8,
37061 trans: u8,
37062 diag: u8,
37063 n: i32,
37064 nrhs: i32,
37065 a: &[f32],
37066 lda: i32,
37067 b: &[f32],
37068 ldb: i32,
37069 x: &[f32],
37070 ldx: i32,
37071 ferr: &mut [f32],
37072 berr: &mut [f32],
37073 work: &mut [f32],
37074 iwork: &mut [i32],
37075 info: &mut i32,
37076) {
37077 ffi::strrfs_(
37078 &(uplo as c_char),
37079 &(trans as c_char),
37080 &(diag as c_char),
37081 &n,
37082 &nrhs,
37083 a.as_ptr(),
37084 &lda,
37085 b.as_ptr(),
37086 &ldb,
37087 x.as_ptr(),
37088 &ldx,
37089 ferr.as_mut_ptr(),
37090 berr.as_mut_ptr(),
37091 work.as_mut_ptr(),
37092 iwork.as_mut_ptr(),
37093 info,
37094 )
37095}
37096
37097#[inline]
37098pub unsafe fn ztrrfs(
37099 uplo: u8,
37100 trans: u8,
37101 diag: u8,
37102 n: i32,
37103 nrhs: i32,
37104 a: &[c64],
37105 lda: i32,
37106 b: &[c64],
37107 ldb: i32,
37108 x: &[c64],
37109 ldx: i32,
37110 ferr: &mut [f64],
37111 berr: &mut [f64],
37112 work: &mut [c64],
37113 rwork: &mut [f64],
37114 info: &mut i32,
37115) {
37116 ffi::ztrrfs_(
37117 &(uplo as c_char),
37118 &(trans as c_char),
37119 &(diag as c_char),
37120 &n,
37121 &nrhs,
37122 a.as_ptr() as *const _,
37123 &lda,
37124 b.as_ptr() as *const _,
37125 &ldb,
37126 x.as_ptr() as *const _,
37127 &ldx,
37128 ferr.as_mut_ptr(),
37129 berr.as_mut_ptr(),
37130 work.as_mut_ptr() as *mut _,
37131 rwork.as_mut_ptr(),
37132 info,
37133 )
37134}
37135
37136#[inline]
37137pub unsafe fn ctrsen(
37138 job: u8,
37139 compq: u8,
37140 select: &[i32],
37141 n: i32,
37142 t: &mut [c32],
37143 ldt: i32,
37144 q: &mut [c32],
37145 ldq: i32,
37146 w: &mut [c32],
37147 m: &mut i32,
37148 s: &mut [f32],
37149 sep: &mut [f32],
37150 work: &mut [c32],
37151 lwork: i32,
37152 info: &mut i32,
37153) {
37154 ffi::ctrsen_(
37155 &(job as c_char),
37156 &(compq as c_char),
37157 select.as_ptr(),
37158 &n,
37159 t.as_mut_ptr() as *mut _,
37160 &ldt,
37161 q.as_mut_ptr() as *mut _,
37162 &ldq,
37163 w.as_mut_ptr() as *mut _,
37164 m,
37165 s.as_mut_ptr(),
37166 sep.as_mut_ptr(),
37167 work.as_mut_ptr() as *mut _,
37168 &lwork,
37169 info,
37170 )
37171}
37172
37173#[inline]
37174pub unsafe fn dtrsen(
37175 job: u8,
37176 compq: u8,
37177 select: &[i32],
37178 n: i32,
37179 t: &mut [f64],
37180 ldt: i32,
37181 q: &mut [f64],
37182 ldq: i32,
37183 wr: &mut [f64],
37184 wi: &mut [f64],
37185 m: &mut i32,
37186 s: &mut [f64],
37187 sep: &mut [f64],
37188 work: &mut [f64],
37189 lwork: i32,
37190 iwork: &mut [i32],
37191 liwork: i32,
37192 info: &mut i32,
37193) {
37194 ffi::dtrsen_(
37195 &(job as c_char),
37196 &(compq as c_char),
37197 select.as_ptr(),
37198 &n,
37199 t.as_mut_ptr(),
37200 &ldt,
37201 q.as_mut_ptr(),
37202 &ldq,
37203 wr.as_mut_ptr(),
37204 wi.as_mut_ptr(),
37205 m,
37206 s.as_mut_ptr(),
37207 sep.as_mut_ptr(),
37208 work.as_mut_ptr(),
37209 &lwork,
37210 iwork.as_mut_ptr(),
37211 &liwork,
37212 info,
37213 )
37214}
37215
37216#[inline]
37217pub unsafe fn strsen(
37218 job: u8,
37219 compq: u8,
37220 select: &[i32],
37221 n: i32,
37222 t: &mut [f32],
37223 ldt: i32,
37224 q: &mut [f32],
37225 ldq: i32,
37226 wr: &mut [f32],
37227 wi: &mut [f32],
37228 m: &mut i32,
37229 s: &mut [f32],
37230 sep: &mut [f32],
37231 work: &mut [f32],
37232 lwork: i32,
37233 iwork: &mut [i32],
37234 liwork: i32,
37235 info: &mut i32,
37236) {
37237 ffi::strsen_(
37238 &(job as c_char),
37239 &(compq as c_char),
37240 select.as_ptr(),
37241 &n,
37242 t.as_mut_ptr(),
37243 &ldt,
37244 q.as_mut_ptr(),
37245 &ldq,
37246 wr.as_mut_ptr(),
37247 wi.as_mut_ptr(),
37248 m,
37249 s.as_mut_ptr(),
37250 sep.as_mut_ptr(),
37251 work.as_mut_ptr(),
37252 &lwork,
37253 iwork.as_mut_ptr(),
37254 &liwork,
37255 info,
37256 )
37257}
37258
37259#[inline]
37260pub unsafe fn ztrsen(
37261 job: u8,
37262 compq: u8,
37263 select: &[i32],
37264 n: i32,
37265 t: &mut [c64],
37266 ldt: i32,
37267 q: &mut [c64],
37268 ldq: i32,
37269 w: &mut [c64],
37270 m: &mut i32,
37271 s: &mut [f64],
37272 sep: &mut [f64],
37273 work: &mut [c64],
37274 lwork: i32,
37275 info: &mut i32,
37276) {
37277 ffi::ztrsen_(
37278 &(job as c_char),
37279 &(compq as c_char),
37280 select.as_ptr(),
37281 &n,
37282 t.as_mut_ptr() as *mut _,
37283 &ldt,
37284 q.as_mut_ptr() as *mut _,
37285 &ldq,
37286 w.as_mut_ptr() as *mut _,
37287 m,
37288 s.as_mut_ptr(),
37289 sep.as_mut_ptr(),
37290 work.as_mut_ptr() as *mut _,
37291 &lwork,
37292 info,
37293 )
37294}
37295
37296#[inline]
37297pub unsafe fn ctrsna(
37298 job: u8,
37299 howmny: u8,
37300 select: &[i32],
37301 n: i32,
37302 t: &[c32],
37303 ldt: i32,
37304 vl: &[c32],
37305 ldvl: i32,
37306 vr: &[c32],
37307 ldvr: i32,
37308 s: &mut [f32],
37309 sep: &mut [f32],
37310 mm: i32,
37311 m: &mut i32,
37312 work: &mut [c32],
37313 ldwork: i32,
37314 rwork: &mut [f32],
37315 info: &mut i32,
37316) {
37317 ffi::ctrsna_(
37318 &(job as c_char),
37319 &(howmny as c_char),
37320 select.as_ptr(),
37321 &n,
37322 t.as_ptr() as *const _,
37323 &ldt,
37324 vl.as_ptr() as *const _,
37325 &ldvl,
37326 vr.as_ptr() as *const _,
37327 &ldvr,
37328 s.as_mut_ptr(),
37329 sep.as_mut_ptr(),
37330 &mm,
37331 m,
37332 work.as_mut_ptr() as *mut _,
37333 &ldwork,
37334 rwork.as_mut_ptr(),
37335 info,
37336 )
37337}
37338
37339#[inline]
37340pub unsafe fn dtrsna(
37341 job: u8,
37342 howmny: u8,
37343 select: &[i32],
37344 n: i32,
37345 t: &[f64],
37346 ldt: i32,
37347 vl: &[f64],
37348 ldvl: i32,
37349 vr: &[f64],
37350 ldvr: i32,
37351 s: &mut [f64],
37352 sep: &mut [f64],
37353 mm: i32,
37354 m: &mut i32,
37355 work: &mut [f64],
37356 ldwork: i32,
37357 iwork: &mut [i32],
37358 info: &mut i32,
37359) {
37360 ffi::dtrsna_(
37361 &(job as c_char),
37362 &(howmny as c_char),
37363 select.as_ptr(),
37364 &n,
37365 t.as_ptr(),
37366 &ldt,
37367 vl.as_ptr(),
37368 &ldvl,
37369 vr.as_ptr(),
37370 &ldvr,
37371 s.as_mut_ptr(),
37372 sep.as_mut_ptr(),
37373 &mm,
37374 m,
37375 work.as_mut_ptr(),
37376 &ldwork,
37377 iwork.as_mut_ptr(),
37378 info,
37379 )
37380}
37381
37382#[inline]
37383pub unsafe fn strsna(
37384 job: u8,
37385 howmny: u8,
37386 select: &[i32],
37387 n: i32,
37388 t: &[f32],
37389 ldt: i32,
37390 vl: &[f32],
37391 ldvl: i32,
37392 vr: &[f32],
37393 ldvr: i32,
37394 s: &mut [f32],
37395 sep: &mut [f32],
37396 mm: i32,
37397 m: &mut i32,
37398 work: &mut [f32],
37399 ldwork: i32,
37400 iwork: &mut [i32],
37401 info: &mut i32,
37402) {
37403 ffi::strsna_(
37404 &(job as c_char),
37405 &(howmny as c_char),
37406 select.as_ptr(),
37407 &n,
37408 t.as_ptr(),
37409 &ldt,
37410 vl.as_ptr(),
37411 &ldvl,
37412 vr.as_ptr(),
37413 &ldvr,
37414 s.as_mut_ptr(),
37415 sep.as_mut_ptr(),
37416 &mm,
37417 m,
37418 work.as_mut_ptr(),
37419 &ldwork,
37420 iwork.as_mut_ptr(),
37421 info,
37422 )
37423}
37424
37425#[inline]
37426pub unsafe fn ztrsna(
37427 job: u8,
37428 howmny: u8,
37429 select: &[i32],
37430 n: i32,
37431 t: &[c64],
37432 ldt: i32,
37433 vl: &[c64],
37434 ldvl: i32,
37435 vr: &[c64],
37436 ldvr: i32,
37437 s: &mut [f64],
37438 sep: &mut [f64],
37439 mm: i32,
37440 m: &mut i32,
37441 work: &mut [c64],
37442 ldwork: i32,
37443 rwork: &mut [f64],
37444 info: &mut i32,
37445) {
37446 ffi::ztrsna_(
37447 &(job as c_char),
37448 &(howmny as c_char),
37449 select.as_ptr(),
37450 &n,
37451 t.as_ptr() as *const _,
37452 &ldt,
37453 vl.as_ptr() as *const _,
37454 &ldvl,
37455 vr.as_ptr() as *const _,
37456 &ldvr,
37457 s.as_mut_ptr(),
37458 sep.as_mut_ptr(),
37459 &mm,
37460 m,
37461 work.as_mut_ptr() as *mut _,
37462 &ldwork,
37463 rwork.as_mut_ptr(),
37464 info,
37465 )
37466}
37467
37468#[inline]
37469pub unsafe fn ctrsyl(
37470 trana: u8,
37471 tranb: u8,
37472 isgn: &[i32],
37473 m: i32,
37474 n: i32,
37475 a: &[c32],
37476 lda: i32,
37477 b: &[c32],
37478 ldb: i32,
37479 c: &mut [c32],
37480 ldc: i32,
37481 scale: &mut [f32],
37482 info: &mut i32,
37483) {
37484 ffi::ctrsyl_(
37485 &(trana as c_char),
37486 &(tranb as c_char),
37487 isgn.as_ptr(),
37488 &m,
37489 &n,
37490 a.as_ptr() as *const _,
37491 &lda,
37492 b.as_ptr() as *const _,
37493 &ldb,
37494 c.as_mut_ptr() as *mut _,
37495 &ldc,
37496 scale.as_mut_ptr(),
37497 info,
37498 )
37499}
37500
37501#[inline]
37502pub unsafe fn dtrsyl(
37503 trana: u8,
37504 tranb: u8,
37505 isgn: &[i32],
37506 m: i32,
37507 n: i32,
37508 a: &[f64],
37509 lda: i32,
37510 b: &[f64],
37511 ldb: i32,
37512 c: &mut [f64],
37513 ldc: i32,
37514 scale: &mut [f64],
37515 info: &mut i32,
37516) {
37517 ffi::dtrsyl_(
37518 &(trana as c_char),
37519 &(tranb as c_char),
37520 isgn.as_ptr(),
37521 &m,
37522 &n,
37523 a.as_ptr(),
37524 &lda,
37525 b.as_ptr(),
37526 &ldb,
37527 c.as_mut_ptr(),
37528 &ldc,
37529 scale.as_mut_ptr(),
37530 info,
37531 )
37532}
37533
37534#[inline]
37535pub unsafe fn strsyl(
37536 trana: u8,
37537 tranb: u8,
37538 isgn: &[i32],
37539 m: i32,
37540 n: i32,
37541 a: &[f32],
37542 lda: i32,
37543 b: &[f32],
37544 ldb: i32,
37545 c: &mut [f32],
37546 ldc: i32,
37547 scale: &mut [f32],
37548 info: &mut i32,
37549) {
37550 ffi::strsyl_(
37551 &(trana as c_char),
37552 &(tranb as c_char),
37553 isgn.as_ptr(),
37554 &m,
37555 &n,
37556 a.as_ptr(),
37557 &lda,
37558 b.as_ptr(),
37559 &ldb,
37560 c.as_mut_ptr(),
37561 &ldc,
37562 scale.as_mut_ptr(),
37563 info,
37564 )
37565}
37566
37567#[inline]
37568pub unsafe fn ztrsyl(
37569 trana: u8,
37570 tranb: u8,
37571 isgn: &[i32],
37572 m: i32,
37573 n: i32,
37574 a: &[c64],
37575 lda: i32,
37576 b: &[c64],
37577 ldb: i32,
37578 c: &mut [c64],
37579 ldc: i32,
37580 scale: &mut [f64],
37581 info: &mut i32,
37582) {
37583 ffi::ztrsyl_(
37584 &(trana as c_char),
37585 &(tranb as c_char),
37586 isgn.as_ptr(),
37587 &m,
37588 &n,
37589 a.as_ptr() as *const _,
37590 &lda,
37591 b.as_ptr() as *const _,
37592 &ldb,
37593 c.as_mut_ptr() as *mut _,
37594 &ldc,
37595 scale.as_mut_ptr(),
37596 info,
37597 )
37598}
37599
37600#[inline]
37601pub unsafe fn ctrtri(uplo: u8, diag: u8, n: i32, a: &mut [c32], lda: i32, info: &mut i32) {
37602 ffi::ctrtri_(
37603 &(uplo as c_char),
37604 &(diag as c_char),
37605 &n,
37606 a.as_mut_ptr() as *mut _,
37607 &lda,
37608 info,
37609 )
37610}
37611
37612#[inline]
37613pub unsafe fn dtrtri(uplo: u8, diag: u8, n: i32, a: &mut [f64], lda: i32, info: &mut i32) {
37614 ffi::dtrtri_(
37615 &(uplo as c_char),
37616 &(diag as c_char),
37617 &n,
37618 a.as_mut_ptr(),
37619 &lda,
37620 info,
37621 )
37622}
37623
37624#[inline]
37625pub unsafe fn strtri(uplo: u8, diag: u8, n: i32, a: &mut [f32], lda: i32, info: &mut i32) {
37626 ffi::strtri_(
37627 &(uplo as c_char),
37628 &(diag as c_char),
37629 &n,
37630 a.as_mut_ptr(),
37631 &lda,
37632 info,
37633 )
37634}
37635
37636#[inline]
37637pub unsafe fn ztrtri(uplo: u8, diag: u8, n: i32, a: &mut [c64], lda: i32, info: &mut i32) {
37638 ffi::ztrtri_(
37639 &(uplo as c_char),
37640 &(diag as c_char),
37641 &n,
37642 a.as_mut_ptr() as *mut _,
37643 &lda,
37644 info,
37645 )
37646}
37647
37648#[inline]
37649pub unsafe fn ctrtrs(
37650 uplo: u8,
37651 trans: u8,
37652 diag: u8,
37653 n: i32,
37654 nrhs: i32,
37655 a: &[c32],
37656 lda: i32,
37657 b: &mut [c32],
37658 ldb: i32,
37659 info: &mut i32,
37660) {
37661 ffi::ctrtrs_(
37662 &(uplo as c_char),
37663 &(trans as c_char),
37664 &(diag as c_char),
37665 &n,
37666 &nrhs,
37667 a.as_ptr() as *const _,
37668 &lda,
37669 b.as_mut_ptr() as *mut _,
37670 &ldb,
37671 info,
37672 )
37673}
37674
37675#[inline]
37676pub unsafe fn dtrtrs(
37677 uplo: u8,
37678 trans: u8,
37679 diag: u8,
37680 n: i32,
37681 nrhs: i32,
37682 a: &[f64],
37683 lda: i32,
37684 b: &mut [f64],
37685 ldb: i32,
37686 info: &mut i32,
37687) {
37688 ffi::dtrtrs_(
37689 &(uplo as c_char),
37690 &(trans as c_char),
37691 &(diag as c_char),
37692 &n,
37693 &nrhs,
37694 a.as_ptr(),
37695 &lda,
37696 b.as_mut_ptr(),
37697 &ldb,
37698 info,
37699 )
37700}
37701
37702#[inline]
37703pub unsafe fn strtrs(
37704 uplo: u8,
37705 trans: u8,
37706 diag: u8,
37707 n: i32,
37708 nrhs: i32,
37709 a: &[f32],
37710 lda: i32,
37711 b: &mut [f32],
37712 ldb: i32,
37713 info: &mut i32,
37714) {
37715 ffi::strtrs_(
37716 &(uplo as c_char),
37717 &(trans as c_char),
37718 &(diag as c_char),
37719 &n,
37720 &nrhs,
37721 a.as_ptr(),
37722 &lda,
37723 b.as_mut_ptr(),
37724 &ldb,
37725 info,
37726 )
37727}
37728
37729#[inline]
37730pub unsafe fn ztrtrs(
37731 uplo: u8,
37732 trans: u8,
37733 diag: u8,
37734 n: i32,
37735 nrhs: i32,
37736 a: &[c64],
37737 lda: i32,
37738 b: &mut [c64],
37739 ldb: i32,
37740 info: &mut i32,
37741) {
37742 ffi::ztrtrs_(
37743 &(uplo as c_char),
37744 &(trans as c_char),
37745 &(diag as c_char),
37746 &n,
37747 &nrhs,
37748 a.as_ptr() as *const _,
37749 &lda,
37750 b.as_mut_ptr() as *mut _,
37751 &ldb,
37752 info,
37753 )
37754}
37755
37756#[inline]
37757pub unsafe fn ctrttf(
37758 transr: u8,
37759 uplo: u8,
37760 n: i32,
37761 a: &[c32],
37762 lda: i32,
37763 arf: &mut [c32],
37764 info: &mut i32,
37765) {
37766 ffi::ctrttf_(
37767 &(transr as c_char),
37768 &(uplo as c_char),
37769 &n,
37770 a.as_ptr() as *const _,
37771 &lda,
37772 arf.as_mut_ptr() as *mut _,
37773 info,
37774 )
37775}
37776
37777#[inline]
37778pub unsafe fn dtrttf(
37779 transr: u8,
37780 uplo: u8,
37781 n: i32,
37782 a: &[f64],
37783 lda: i32,
37784 arf: &mut [f64],
37785 info: &mut i32,
37786) {
37787 ffi::dtrttf_(
37788 &(transr as c_char),
37789 &(uplo as c_char),
37790 &n,
37791 a.as_ptr(),
37792 &lda,
37793 arf.as_mut_ptr(),
37794 info,
37795 )
37796}
37797
37798#[inline]
37799pub unsafe fn strttf(
37800 transr: u8,
37801 uplo: u8,
37802 n: i32,
37803 a: &[f32],
37804 lda: i32,
37805 arf: &mut [f32],
37806 info: &mut i32,
37807) {
37808 ffi::strttf_(
37809 &(transr as c_char),
37810 &(uplo as c_char),
37811 &n,
37812 a.as_ptr(),
37813 &lda,
37814 arf.as_mut_ptr(),
37815 info,
37816 )
37817}
37818
37819#[inline]
37820pub unsafe fn ztrttf(
37821 transr: u8,
37822 uplo: u8,
37823 n: i32,
37824 a: &[c64],
37825 lda: i32,
37826 arf: &mut [c64],
37827 info: &mut i32,
37828) {
37829 ffi::ztrttf_(
37830 &(transr as c_char),
37831 &(uplo as c_char),
37832 &n,
37833 a.as_ptr() as *const _,
37834 &lda,
37835 arf.as_mut_ptr() as *mut _,
37836 info,
37837 )
37838}
37839
37840#[inline]
37841pub unsafe fn ctrttp(uplo: u8, n: i32, a: &[c32], lda: i32, ap: &mut [c32], info: &mut i32) {
37842 ffi::ctrttp_(
37843 &(uplo as c_char),
37844 &n,
37845 a.as_ptr() as *const _,
37846 &lda,
37847 ap.as_mut_ptr() as *mut _,
37848 info,
37849 )
37850}
37851
37852#[inline]
37853pub unsafe fn dtrttp(uplo: u8, n: i32, a: &[f64], lda: i32, ap: &mut [f64], info: &mut i32) {
37854 ffi::dtrttp_(
37855 &(uplo as c_char),
37856 &n,
37857 a.as_ptr(),
37858 &lda,
37859 ap.as_mut_ptr(),
37860 info,
37861 )
37862}
37863
37864#[inline]
37865pub unsafe fn strttp(uplo: u8, n: i32, a: &[f32], lda: i32, ap: &mut [f32], info: &mut i32) {
37866 ffi::strttp_(
37867 &(uplo as c_char),
37868 &n,
37869 a.as_ptr(),
37870 &lda,
37871 ap.as_mut_ptr(),
37872 info,
37873 )
37874}
37875
37876#[inline]
37877pub unsafe fn ztrttp(uplo: u8, n: i32, a: &[c64], lda: i32, ap: &mut [c64], info: &mut i32) {
37878 ffi::ztrttp_(
37879 &(uplo as c_char),
37880 &n,
37881 a.as_ptr() as *const _,
37882 &lda,
37883 ap.as_mut_ptr() as *mut _,
37884 info,
37885 )
37886}
37887
37888#[inline]
37889pub unsafe fn ctzrzf(
37890 m: i32,
37891 n: i32,
37892 a: &mut [c32],
37893 lda: i32,
37894 tau: &mut [c32],
37895 work: &mut [c32],
37896 lwork: i32,
37897 info: &mut i32,
37898) {
37899 ffi::ctzrzf_(
37900 &m,
37901 &n,
37902 a.as_mut_ptr() as *mut _,
37903 &lda,
37904 tau.as_mut_ptr() as *mut _,
37905 work.as_mut_ptr() as *mut _,
37906 &lwork,
37907 info,
37908 )
37909}
37910
37911#[inline]
37912pub unsafe fn dtzrzf(
37913 m: i32,
37914 n: i32,
37915 a: &mut [f64],
37916 lda: i32,
37917 tau: &mut [f64],
37918 work: &mut [f64],
37919 lwork: i32,
37920 info: &mut i32,
37921) {
37922 ffi::dtzrzf_(
37923 &m,
37924 &n,
37925 a.as_mut_ptr(),
37926 &lda,
37927 tau.as_mut_ptr(),
37928 work.as_mut_ptr(),
37929 &lwork,
37930 info,
37931 )
37932}
37933
37934#[inline]
37935pub unsafe fn stzrzf(
37936 m: i32,
37937 n: i32,
37938 a: &mut [f32],
37939 lda: i32,
37940 tau: &mut [f32],
37941 work: &mut [f32],
37942 lwork: i32,
37943 info: &mut i32,
37944) {
37945 ffi::stzrzf_(
37946 &m,
37947 &n,
37948 a.as_mut_ptr(),
37949 &lda,
37950 tau.as_mut_ptr(),
37951 work.as_mut_ptr(),
37952 &lwork,
37953 info,
37954 )
37955}
37956
37957#[inline]
37958pub unsafe fn ztzrzf(
37959 m: i32,
37960 n: i32,
37961 a: &mut [c64],
37962 lda: i32,
37963 tau: &mut [c64],
37964 work: &mut [c64],
37965 lwork: i32,
37966 info: &mut i32,
37967) {
37968 ffi::ztzrzf_(
37969 &m,
37970 &n,
37971 a.as_mut_ptr() as *mut _,
37972 &lda,
37973 tau.as_mut_ptr() as *mut _,
37974 work.as_mut_ptr() as *mut _,
37975 &lwork,
37976 info,
37977 )
37978}
37979
37980#[inline]
37981pub unsafe fn cunbdb(
37982 trans: u8,
37983 signs: u8,
37984 m: i32,
37985 p: i32,
37986 q: &[i32],
37987 x11: &mut [c32],
37988 ldx11: i32,
37989 x12: &mut [c32],
37990 ldx12: i32,
37991 x21: &mut [c32],
37992 ldx21: i32,
37993 x22: &mut [c32],
37994 ldx22: i32,
37995 theta: &mut [f32],
37996 phi: &mut [f32],
37997 taup1: &mut [c32],
37998 taup2: &mut [c32],
37999 tauq1: &mut [c32],
38000 tauq2: &mut [c32],
38001 work: &mut [c32],
38002 lwork: i32,
38003 info: &mut i32,
38004) {
38005 ffi::cunbdb_(
38006 &(trans as c_char),
38007 &(signs as c_char),
38008 &m,
38009 &p,
38010 q.as_ptr(),
38011 x11.as_mut_ptr() as *mut _,
38012 &ldx11,
38013 x12.as_mut_ptr() as *mut _,
38014 &ldx12,
38015 x21.as_mut_ptr() as *mut _,
38016 &ldx21,
38017 x22.as_mut_ptr() as *mut _,
38018 &ldx22,
38019 theta.as_mut_ptr(),
38020 phi.as_mut_ptr(),
38021 taup1.as_mut_ptr() as *mut _,
38022 taup2.as_mut_ptr() as *mut _,
38023 tauq1.as_mut_ptr() as *mut _,
38024 tauq2.as_mut_ptr() as *mut _,
38025 work.as_mut_ptr() as *mut _,
38026 &lwork,
38027 info,
38028 )
38029}
38030
38031#[inline]
38032pub unsafe fn zunbdb(
38033 trans: u8,
38034 signs: u8,
38035 m: i32,
38036 p: i32,
38037 q: &[i32],
38038 x11: &mut [c64],
38039 ldx11: i32,
38040 x12: &mut [c64],
38041 ldx12: i32,
38042 x21: &mut [c64],
38043 ldx21: i32,
38044 x22: &mut [c64],
38045 ldx22: i32,
38046 theta: &mut [f64],
38047 phi: &mut [f64],
38048 taup1: &mut [c64],
38049 taup2: &mut [c64],
38050 tauq1: &mut [c64],
38051 tauq2: &mut [c64],
38052 work: &mut [c64],
38053 lwork: i32,
38054 info: &mut i32,
38055) {
38056 ffi::zunbdb_(
38057 &(trans as c_char),
38058 &(signs as c_char),
38059 &m,
38060 &p,
38061 q.as_ptr(),
38062 x11.as_mut_ptr() as *mut _,
38063 &ldx11,
38064 x12.as_mut_ptr() as *mut _,
38065 &ldx12,
38066 x21.as_mut_ptr() as *mut _,
38067 &ldx21,
38068 x22.as_mut_ptr() as *mut _,
38069 &ldx22,
38070 theta.as_mut_ptr(),
38071 phi.as_mut_ptr(),
38072 taup1.as_mut_ptr() as *mut _,
38073 taup2.as_mut_ptr() as *mut _,
38074 tauq1.as_mut_ptr() as *mut _,
38075 tauq2.as_mut_ptr() as *mut _,
38076 work.as_mut_ptr() as *mut _,
38077 &lwork,
38078 info,
38079 )
38080}
38081
38082#[inline]
38083pub unsafe fn cuncsd(
38084 jobu1: u8,
38085 jobu2: u8,
38086 jobv1t: u8,
38087 jobv2t: u8,
38088 trans: u8,
38089 signs: u8,
38090 m: i32,
38091 p: i32,
38092 q: &[i32],
38093 x11: &mut [c32],
38094 ldx11: i32,
38095 x12: &mut [c32],
38096 ldx12: i32,
38097 x21: &mut [c32],
38098 ldx21: i32,
38099 x22: &mut [c32],
38100 ldx22: i32,
38101 theta: &mut [f32],
38102 u1: &mut [c32],
38103 ldu1: i32,
38104 u2: &mut [c32],
38105 ldu2: i32,
38106 v1t: &mut [c32],
38107 ldv1t: i32,
38108 v2t: &mut [c32],
38109 ldv2t: i32,
38110 work: &mut [c32],
38111 lwork: i32,
38112 rwork: &mut [f32],
38113 lrwork: i32,
38114 iwork: &mut [i32],
38115 info: &mut i32,
38116) {
38117 ffi::cuncsd_(
38118 &(jobu1 as c_char),
38119 &(jobu2 as c_char),
38120 &(jobv1t as c_char),
38121 &(jobv2t as c_char),
38122 &(trans as c_char),
38123 &(signs as c_char),
38124 &m,
38125 &p,
38126 q.as_ptr(),
38127 x11.as_mut_ptr() as *mut _,
38128 &ldx11,
38129 x12.as_mut_ptr() as *mut _,
38130 &ldx12,
38131 x21.as_mut_ptr() as *mut _,
38132 &ldx21,
38133 x22.as_mut_ptr() as *mut _,
38134 &ldx22,
38135 theta.as_mut_ptr(),
38136 u1.as_mut_ptr() as *mut _,
38137 &ldu1,
38138 u2.as_mut_ptr() as *mut _,
38139 &ldu2,
38140 v1t.as_mut_ptr() as *mut _,
38141 &ldv1t,
38142 v2t.as_mut_ptr() as *mut _,
38143 &ldv2t,
38144 work.as_mut_ptr() as *mut _,
38145 &lwork,
38146 rwork.as_mut_ptr(),
38147 &lrwork,
38148 iwork.as_mut_ptr(),
38149 info,
38150 )
38151}
38152
38153#[inline]
38154pub unsafe fn zuncsd(
38155 jobu1: u8,
38156 jobu2: u8,
38157 jobv1t: u8,
38158 jobv2t: u8,
38159 trans: u8,
38160 signs: u8,
38161 m: i32,
38162 p: i32,
38163 q: &[i32],
38164 x11: &mut [c64],
38165 ldx11: i32,
38166 x12: &mut [c64],
38167 ldx12: i32,
38168 x21: &mut [c64],
38169 ldx21: i32,
38170 x22: &mut [c64],
38171 ldx22: i32,
38172 theta: &mut [f64],
38173 u1: &mut [c64],
38174 ldu1: i32,
38175 u2: &mut [c64],
38176 ldu2: i32,
38177 v1t: &mut [c64],
38178 ldv1t: i32,
38179 v2t: &mut [c64],
38180 ldv2t: i32,
38181 work: &mut [c64],
38182 lwork: i32,
38183 rwork: &mut [f64],
38184 lrwork: i32,
38185 iwork: &mut [i32],
38186 info: &mut i32,
38187) {
38188 ffi::zuncsd_(
38189 &(jobu1 as c_char),
38190 &(jobu2 as c_char),
38191 &(jobv1t as c_char),
38192 &(jobv2t as c_char),
38193 &(trans as c_char),
38194 &(signs as c_char),
38195 &m,
38196 &p,
38197 q.as_ptr(),
38198 x11.as_mut_ptr() as *mut _,
38199 &ldx11,
38200 x12.as_mut_ptr() as *mut _,
38201 &ldx12,
38202 x21.as_mut_ptr() as *mut _,
38203 &ldx21,
38204 x22.as_mut_ptr() as *mut _,
38205 &ldx22,
38206 theta.as_mut_ptr(),
38207 u1.as_mut_ptr() as *mut _,
38208 &ldu1,
38209 u2.as_mut_ptr() as *mut _,
38210 &ldu2,
38211 v1t.as_mut_ptr() as *mut _,
38212 &ldv1t,
38213 v2t.as_mut_ptr() as *mut _,
38214 &ldv2t,
38215 work.as_mut_ptr() as *mut _,
38216 &lwork,
38217 rwork.as_mut_ptr(),
38218 &lrwork,
38219 iwork.as_mut_ptr(),
38220 info,
38221 )
38222}
38223
38224#[inline]
38225pub unsafe fn cuncsd2by1(
38226 jobu1: u8,
38227 jobu2: u8,
38228 jobv1t: u8,
38229 m: i32,
38230 p: i32,
38231 q: &[i32],
38232 x11: &mut [c32],
38233 ldx11: i32,
38234 x21: &mut [c32],
38235 ldx21: i32,
38236 theta: &mut [f32],
38237 u1: &mut [c32],
38238 ldu1: i32,
38239 u2: &mut [c32],
38240 ldu2: i32,
38241 v1t: &mut [c32],
38242 ldv1t: i32,
38243 work: &mut [c32],
38244 lwork: i32,
38245 rwork: &mut [f32],
38246 lrwork: i32,
38247 iwork: &mut [i32],
38248 info: &mut i32,
38249) {
38250 ffi::cuncsd2by1_(
38251 &(jobu1 as c_char),
38252 &(jobu2 as c_char),
38253 &(jobv1t as c_char),
38254 &m,
38255 &p,
38256 q.as_ptr(),
38257 x11.as_mut_ptr() as *mut _,
38258 &ldx11,
38259 x21.as_mut_ptr() as *mut _,
38260 &ldx21,
38261 theta.as_mut_ptr(),
38262 u1.as_mut_ptr() as *mut _,
38263 &ldu1,
38264 u2.as_mut_ptr() as *mut _,
38265 &ldu2,
38266 v1t.as_mut_ptr() as *mut _,
38267 &ldv1t,
38268 work.as_mut_ptr() as *mut _,
38269 &lwork,
38270 rwork.as_mut_ptr(),
38271 &lrwork,
38272 iwork.as_mut_ptr(),
38273 info,
38274 )
38275}
38276
38277#[inline]
38278pub unsafe fn zuncsd2by1(
38279 jobu1: u8,
38280 jobu2: u8,
38281 jobv1t: u8,
38282 m: i32,
38283 p: i32,
38284 q: &[i32],
38285 x11: &mut [c64],
38286 ldx11: i32,
38287 x21: &mut [c64],
38288 ldx21: i32,
38289 theta: &mut [f64],
38290 u1: &mut [c64],
38291 ldu1: i32,
38292 u2: &mut [c64],
38293 ldu2: i32,
38294 v1t: &mut [c64],
38295 ldv1t: i32,
38296 work: &mut [c64],
38297 lwork: i32,
38298 rwork: &mut [f64],
38299 lrwork: i32,
38300 iwork: &mut [i32],
38301 info: &mut i32,
38302) {
38303 ffi::zuncsd2by1_(
38304 &(jobu1 as c_char),
38305 &(jobu2 as c_char),
38306 &(jobv1t as c_char),
38307 &m,
38308 &p,
38309 q.as_ptr(),
38310 x11.as_mut_ptr() as *mut _,
38311 &ldx11,
38312 x21.as_mut_ptr() as *mut _,
38313 &ldx21,
38314 theta.as_mut_ptr(),
38315 u1.as_mut_ptr() as *mut _,
38316 &ldu1,
38317 u2.as_mut_ptr() as *mut _,
38318 &ldu2,
38319 v1t.as_mut_ptr() as *mut _,
38320 &ldv1t,
38321 work.as_mut_ptr() as *mut _,
38322 &lwork,
38323 rwork.as_mut_ptr(),
38324 &lrwork,
38325 iwork.as_mut_ptr(),
38326 info,
38327 )
38328}
38329
38330#[inline]
38331pub unsafe fn cungbr(
38332 vect: u8,
38333 m: i32,
38334 n: i32,
38335 k: i32,
38336 a: &mut [c32],
38337 lda: i32,
38338 tau: &[c32],
38339 work: &mut [c32],
38340 lwork: i32,
38341 info: &mut i32,
38342) {
38343 ffi::cungbr_(
38344 &(vect as c_char),
38345 &m,
38346 &n,
38347 &k,
38348 a.as_mut_ptr() as *mut _,
38349 &lda,
38350 tau.as_ptr() as *const _,
38351 work.as_mut_ptr() as *mut _,
38352 &lwork,
38353 info,
38354 )
38355}
38356
38357#[inline]
38358pub unsafe fn zungbr(
38359 vect: u8,
38360 m: i32,
38361 n: i32,
38362 k: i32,
38363 a: &mut [c64],
38364 lda: i32,
38365 tau: &[c64],
38366 work: &mut [c64],
38367 lwork: i32,
38368 info: &mut i32,
38369) {
38370 ffi::zungbr_(
38371 &(vect as c_char),
38372 &m,
38373 &n,
38374 &k,
38375 a.as_mut_ptr() as *mut _,
38376 &lda,
38377 tau.as_ptr() as *const _,
38378 work.as_mut_ptr() as *mut _,
38379 &lwork,
38380 info,
38381 )
38382}
38383
38384#[inline]
38385pub unsafe fn cunghr(
38386 n: i32,
38387 ilo: i32,
38388 ihi: i32,
38389 a: &mut [c32],
38390 lda: i32,
38391 tau: &[c32],
38392 work: &mut [c32],
38393 lwork: i32,
38394 info: &mut i32,
38395) {
38396 ffi::cunghr_(
38397 &n,
38398 &ilo,
38399 &ihi,
38400 a.as_mut_ptr() as *mut _,
38401 &lda,
38402 tau.as_ptr() as *const _,
38403 work.as_mut_ptr() as *mut _,
38404 &lwork,
38405 info,
38406 )
38407}
38408
38409#[inline]
38410pub unsafe fn zunghr(
38411 n: i32,
38412 ilo: i32,
38413 ihi: i32,
38414 a: &mut [c64],
38415 lda: i32,
38416 tau: &[c64],
38417 work: &mut [c64],
38418 lwork: i32,
38419 info: &mut i32,
38420) {
38421 ffi::zunghr_(
38422 &n,
38423 &ilo,
38424 &ihi,
38425 a.as_mut_ptr() as *mut _,
38426 &lda,
38427 tau.as_ptr() as *const _,
38428 work.as_mut_ptr() as *mut _,
38429 &lwork,
38430 info,
38431 )
38432}
38433
38434#[inline]
38435pub unsafe fn cunglq(
38436 m: i32,
38437 n: i32,
38438 k: i32,
38439 a: &mut [c32],
38440 lda: i32,
38441 tau: &[c32],
38442 work: &mut [c32],
38443 lwork: i32,
38444 info: &mut i32,
38445) {
38446 ffi::cunglq_(
38447 &m,
38448 &n,
38449 &k,
38450 a.as_mut_ptr() as *mut _,
38451 &lda,
38452 tau.as_ptr() as *const _,
38453 work.as_mut_ptr() as *mut _,
38454 &lwork,
38455 info,
38456 )
38457}
38458
38459#[inline]
38460pub unsafe fn zunglq(
38461 m: i32,
38462 n: i32,
38463 k: i32,
38464 a: &mut [c64],
38465 lda: i32,
38466 tau: &[c64],
38467 work: &mut [c64],
38468 lwork: i32,
38469 info: &mut i32,
38470) {
38471 ffi::zunglq_(
38472 &m,
38473 &n,
38474 &k,
38475 a.as_mut_ptr() as *mut _,
38476 &lda,
38477 tau.as_ptr() as *const _,
38478 work.as_mut_ptr() as *mut _,
38479 &lwork,
38480 info,
38481 )
38482}
38483
38484#[inline]
38485pub unsafe fn cungql(
38486 m: i32,
38487 n: i32,
38488 k: i32,
38489 a: &mut [c32],
38490 lda: i32,
38491 tau: &[c32],
38492 work: &mut [c32],
38493 lwork: i32,
38494 info: &mut i32,
38495) {
38496 ffi::cungql_(
38497 &m,
38498 &n,
38499 &k,
38500 a.as_mut_ptr() as *mut _,
38501 &lda,
38502 tau.as_ptr() as *const _,
38503 work.as_mut_ptr() as *mut _,
38504 &lwork,
38505 info,
38506 )
38507}
38508
38509#[inline]
38510pub unsafe fn zungql(
38511 m: i32,
38512 n: i32,
38513 k: i32,
38514 a: &mut [c64],
38515 lda: i32,
38516 tau: &[c64],
38517 work: &mut [c64],
38518 lwork: i32,
38519 info: &mut i32,
38520) {
38521 ffi::zungql_(
38522 &m,
38523 &n,
38524 &k,
38525 a.as_mut_ptr() as *mut _,
38526 &lda,
38527 tau.as_ptr() as *const _,
38528 work.as_mut_ptr() as *mut _,
38529 &lwork,
38530 info,
38531 )
38532}
38533
38534#[inline]
38535pub unsafe fn cungqr(
38536 m: i32,
38537 n: i32,
38538 k: i32,
38539 a: &mut [c32],
38540 lda: i32,
38541 tau: &[c32],
38542 work: &mut [c32],
38543 lwork: i32,
38544 info: &mut i32,
38545) {
38546 ffi::cungqr_(
38547 &m,
38548 &n,
38549 &k,
38550 a.as_mut_ptr() as *mut _,
38551 &lda,
38552 tau.as_ptr() as *const _,
38553 work.as_mut_ptr() as *mut _,
38554 &lwork,
38555 info,
38556 )
38557}
38558
38559#[inline]
38560pub unsafe fn zungqr(
38561 m: i32,
38562 n: i32,
38563 k: i32,
38564 a: &mut [c64],
38565 lda: i32,
38566 tau: &[c64],
38567 work: &mut [c64],
38568 lwork: i32,
38569 info: &mut i32,
38570) {
38571 ffi::zungqr_(
38572 &m,
38573 &n,
38574 &k,
38575 a.as_mut_ptr() as *mut _,
38576 &lda,
38577 tau.as_ptr() as *const _,
38578 work.as_mut_ptr() as *mut _,
38579 &lwork,
38580 info,
38581 )
38582}
38583
38584#[inline]
38585pub unsafe fn cungrq(
38586 m: i32,
38587 n: i32,
38588 k: i32,
38589 a: &mut [c32],
38590 lda: i32,
38591 tau: &[c32],
38592 work: &mut [c32],
38593 lwork: i32,
38594 info: &mut i32,
38595) {
38596 ffi::cungrq_(
38597 &m,
38598 &n,
38599 &k,
38600 a.as_mut_ptr() as *mut _,
38601 &lda,
38602 tau.as_ptr() as *const _,
38603 work.as_mut_ptr() as *mut _,
38604 &lwork,
38605 info,
38606 )
38607}
38608
38609#[inline]
38610pub unsafe fn zungrq(
38611 m: i32,
38612 n: i32,
38613 k: i32,
38614 a: &mut [c64],
38615 lda: i32,
38616 tau: &[c64],
38617 work: &mut [c64],
38618 lwork: i32,
38619 info: &mut i32,
38620) {
38621 ffi::zungrq_(
38622 &m,
38623 &n,
38624 &k,
38625 a.as_mut_ptr() as *mut _,
38626 &lda,
38627 tau.as_ptr() as *const _,
38628 work.as_mut_ptr() as *mut _,
38629 &lwork,
38630 info,
38631 )
38632}
38633
38634#[inline]
38635pub unsafe fn cungtr(
38636 uplo: u8,
38637 n: i32,
38638 a: &mut [c32],
38639 lda: i32,
38640 tau: &[c32],
38641 work: &mut [c32],
38642 lwork: i32,
38643 info: &mut i32,
38644) {
38645 ffi::cungtr_(
38646 &(uplo as c_char),
38647 &n,
38648 a.as_mut_ptr() as *mut _,
38649 &lda,
38650 tau.as_ptr() as *const _,
38651 work.as_mut_ptr() as *mut _,
38652 &lwork,
38653 info,
38654 )
38655}
38656
38657#[inline]
38658pub unsafe fn zungtr(
38659 uplo: u8,
38660 n: i32,
38661 a: &mut [c64],
38662 lda: i32,
38663 tau: &[c64],
38664 work: &mut [c64],
38665 lwork: i32,
38666 info: &mut i32,
38667) {
38668 ffi::zungtr_(
38669 &(uplo as c_char),
38670 &n,
38671 a.as_mut_ptr() as *mut _,
38672 &lda,
38673 tau.as_ptr() as *const _,
38674 work.as_mut_ptr() as *mut _,
38675 &lwork,
38676 info,
38677 )
38678}
38679
38680#[inline]
38681pub unsafe fn cungtsqr_row(
38682 m: i32,
38683 n: i32,
38684 mb: &[i32],
38685 nb: i32,
38686 a: &mut [c32],
38687 lda: i32,
38688 t: &[c32],
38689 ldt: i32,
38690 work: &mut [c32],
38691 lwork: i32,
38692 info: &mut i32,
38693) {
38694 ffi::cungtsqr_row_(
38695 &m,
38696 &n,
38697 mb.as_ptr(),
38698 &nb,
38699 a.as_mut_ptr() as *mut _,
38700 &lda,
38701 t.as_ptr() as *const _,
38702 &ldt,
38703 work.as_mut_ptr() as *mut _,
38704 &lwork,
38705 info,
38706 )
38707}
38708
38709#[inline]
38710pub unsafe fn zungtsqr_row(
38711 m: i32,
38712 n: i32,
38713 mb: &[i32],
38714 nb: i32,
38715 a: &mut [c64],
38716 lda: i32,
38717 t: &[c64],
38718 ldt: i32,
38719 work: &mut [c64],
38720 lwork: i32,
38721 info: &mut i32,
38722) {
38723 ffi::zungtsqr_row_(
38724 &m,
38725 &n,
38726 mb.as_ptr(),
38727 &nb,
38728 a.as_mut_ptr() as *mut _,
38729 &lda,
38730 t.as_ptr() as *const _,
38731 &ldt,
38732 work.as_mut_ptr() as *mut _,
38733 &lwork,
38734 info,
38735 )
38736}
38737
38738#[inline]
38739pub unsafe fn cunmbr(
38740 vect: u8,
38741 side: u8,
38742 trans: u8,
38743 m: i32,
38744 n: i32,
38745 k: i32,
38746 a: &[c32],
38747 lda: i32,
38748 tau: &[c32],
38749 c: &mut [c32],
38750 ldc: i32,
38751 work: &mut [c32],
38752 lwork: i32,
38753 info: &mut i32,
38754) {
38755 ffi::cunmbr_(
38756 &(vect as c_char),
38757 &(side as c_char),
38758 &(trans as c_char),
38759 &m,
38760 &n,
38761 &k,
38762 a.as_ptr() as *const _,
38763 &lda,
38764 tau.as_ptr() as *const _,
38765 c.as_mut_ptr() as *mut _,
38766 &ldc,
38767 work.as_mut_ptr() as *mut _,
38768 &lwork,
38769 info,
38770 )
38771}
38772
38773#[inline]
38774pub unsafe fn zunmbr(
38775 vect: u8,
38776 side: u8,
38777 trans: u8,
38778 m: i32,
38779 n: i32,
38780 k: i32,
38781 a: &[c64],
38782 lda: i32,
38783 tau: &[c64],
38784 c: &mut [c64],
38785 ldc: i32,
38786 work: &mut [c64],
38787 lwork: i32,
38788 info: &mut i32,
38789) {
38790 ffi::zunmbr_(
38791 &(vect as c_char),
38792 &(side as c_char),
38793 &(trans as c_char),
38794 &m,
38795 &n,
38796 &k,
38797 a.as_ptr() as *const _,
38798 &lda,
38799 tau.as_ptr() as *const _,
38800 c.as_mut_ptr() as *mut _,
38801 &ldc,
38802 work.as_mut_ptr() as *mut _,
38803 &lwork,
38804 info,
38805 )
38806}
38807
38808#[inline]
38809pub unsafe fn cunmhr(
38810 side: u8,
38811 trans: u8,
38812 m: i32,
38813 n: i32,
38814 ilo: i32,
38815 ihi: i32,
38816 a: &[c32],
38817 lda: i32,
38818 tau: &[c32],
38819 c: &mut [c32],
38820 ldc: i32,
38821 work: &mut [c32],
38822 lwork: i32,
38823 info: &mut i32,
38824) {
38825 ffi::cunmhr_(
38826 &(side as c_char),
38827 &(trans as c_char),
38828 &m,
38829 &n,
38830 &ilo,
38831 &ihi,
38832 a.as_ptr() as *const _,
38833 &lda,
38834 tau.as_ptr() as *const _,
38835 c.as_mut_ptr() as *mut _,
38836 &ldc,
38837 work.as_mut_ptr() as *mut _,
38838 &lwork,
38839 info,
38840 )
38841}
38842
38843#[inline]
38844pub unsafe fn zunmhr(
38845 side: u8,
38846 trans: u8,
38847 m: i32,
38848 n: i32,
38849 ilo: i32,
38850 ihi: i32,
38851 a: &[c64],
38852 lda: i32,
38853 tau: &[c64],
38854 c: &mut [c64],
38855 ldc: i32,
38856 work: &mut [c64],
38857 lwork: i32,
38858 info: &mut i32,
38859) {
38860 ffi::zunmhr_(
38861 &(side as c_char),
38862 &(trans as c_char),
38863 &m,
38864 &n,
38865 &ilo,
38866 &ihi,
38867 a.as_ptr() as *const _,
38868 &lda,
38869 tau.as_ptr() as *const _,
38870 c.as_mut_ptr() as *mut _,
38871 &ldc,
38872 work.as_mut_ptr() as *mut _,
38873 &lwork,
38874 info,
38875 )
38876}
38877
38878#[inline]
38879pub unsafe fn cunmlq(
38880 side: u8,
38881 trans: u8,
38882 m: i32,
38883 n: i32,
38884 k: i32,
38885 a: &[c32],
38886 lda: i32,
38887 tau: &[c32],
38888 c: &mut [c32],
38889 ldc: i32,
38890 work: &mut [c32],
38891 lwork: i32,
38892 info: &mut i32,
38893) {
38894 ffi::cunmlq_(
38895 &(side as c_char),
38896 &(trans as c_char),
38897 &m,
38898 &n,
38899 &k,
38900 a.as_ptr() as *const _,
38901 &lda,
38902 tau.as_ptr() as *const _,
38903 c.as_mut_ptr() as *mut _,
38904 &ldc,
38905 work.as_mut_ptr() as *mut _,
38906 &lwork,
38907 info,
38908 )
38909}
38910
38911#[inline]
38912pub unsafe fn zunmlq(
38913 side: u8,
38914 trans: u8,
38915 m: i32,
38916 n: i32,
38917 k: i32,
38918 a: &[c64],
38919 lda: i32,
38920 tau: &[c64],
38921 c: &mut [c64],
38922 ldc: i32,
38923 work: &mut [c64],
38924 lwork: i32,
38925 info: &mut i32,
38926) {
38927 ffi::zunmlq_(
38928 &(side as c_char),
38929 &(trans as c_char),
38930 &m,
38931 &n,
38932 &k,
38933 a.as_ptr() as *const _,
38934 &lda,
38935 tau.as_ptr() as *const _,
38936 c.as_mut_ptr() as *mut _,
38937 &ldc,
38938 work.as_mut_ptr() as *mut _,
38939 &lwork,
38940 info,
38941 )
38942}
38943
38944#[inline]
38945pub unsafe fn cunmql(
38946 side: u8,
38947 trans: u8,
38948 m: i32,
38949 n: i32,
38950 k: i32,
38951 a: &[c32],
38952 lda: i32,
38953 tau: &[c32],
38954 c: &mut [c32],
38955 ldc: i32,
38956 work: &mut [c32],
38957 lwork: i32,
38958 info: &mut i32,
38959) {
38960 ffi::cunmql_(
38961 &(side as c_char),
38962 &(trans as c_char),
38963 &m,
38964 &n,
38965 &k,
38966 a.as_ptr() as *const _,
38967 &lda,
38968 tau.as_ptr() as *const _,
38969 c.as_mut_ptr() as *mut _,
38970 &ldc,
38971 work.as_mut_ptr() as *mut _,
38972 &lwork,
38973 info,
38974 )
38975}
38976
38977#[inline]
38978pub unsafe fn zunmql(
38979 side: u8,
38980 trans: u8,
38981 m: i32,
38982 n: i32,
38983 k: i32,
38984 a: &[c64],
38985 lda: i32,
38986 tau: &[c64],
38987 c: &mut [c64],
38988 ldc: i32,
38989 work: &mut [c64],
38990 lwork: i32,
38991 info: &mut i32,
38992) {
38993 ffi::zunmql_(
38994 &(side as c_char),
38995 &(trans as c_char),
38996 &m,
38997 &n,
38998 &k,
38999 a.as_ptr() as *const _,
39000 &lda,
39001 tau.as_ptr() as *const _,
39002 c.as_mut_ptr() as *mut _,
39003 &ldc,
39004 work.as_mut_ptr() as *mut _,
39005 &lwork,
39006 info,
39007 )
39008}
39009
39010#[inline]
39011pub unsafe fn cunmqr(
39012 side: u8,
39013 trans: u8,
39014 m: i32,
39015 n: i32,
39016 k: i32,
39017 a: &[c32],
39018 lda: i32,
39019 tau: &[c32],
39020 c: &mut [c32],
39021 ldc: i32,
39022 work: &mut [c32],
39023 lwork: i32,
39024 info: &mut i32,
39025) {
39026 ffi::cunmqr_(
39027 &(side as c_char),
39028 &(trans as c_char),
39029 &m,
39030 &n,
39031 &k,
39032 a.as_ptr() as *const _,
39033 &lda,
39034 tau.as_ptr() as *const _,
39035 c.as_mut_ptr() as *mut _,
39036 &ldc,
39037 work.as_mut_ptr() as *mut _,
39038 &lwork,
39039 info,
39040 )
39041}
39042
39043#[inline]
39044pub unsafe fn zunmqr(
39045 side: u8,
39046 trans: u8,
39047 m: i32,
39048 n: i32,
39049 k: i32,
39050 a: &[c64],
39051 lda: i32,
39052 tau: &[c64],
39053 c: &mut [c64],
39054 ldc: i32,
39055 work: &mut [c64],
39056 lwork: i32,
39057 info: &mut i32,
39058) {
39059 ffi::zunmqr_(
39060 &(side as c_char),
39061 &(trans as c_char),
39062 &m,
39063 &n,
39064 &k,
39065 a.as_ptr() as *const _,
39066 &lda,
39067 tau.as_ptr() as *const _,
39068 c.as_mut_ptr() as *mut _,
39069 &ldc,
39070 work.as_mut_ptr() as *mut _,
39071 &lwork,
39072 info,
39073 )
39074}
39075
39076#[inline]
39077pub unsafe fn cunmrq(
39078 side: u8,
39079 trans: u8,
39080 m: i32,
39081 n: i32,
39082 k: i32,
39083 a: &[c32],
39084 lda: i32,
39085 tau: &[c32],
39086 c: &mut [c32],
39087 ldc: i32,
39088 work: &mut [c32],
39089 lwork: i32,
39090 info: &mut i32,
39091) {
39092 ffi::cunmrq_(
39093 &(side as c_char),
39094 &(trans as c_char),
39095 &m,
39096 &n,
39097 &k,
39098 a.as_ptr() as *const _,
39099 &lda,
39100 tau.as_ptr() as *const _,
39101 c.as_mut_ptr() as *mut _,
39102 &ldc,
39103 work.as_mut_ptr() as *mut _,
39104 &lwork,
39105 info,
39106 )
39107}
39108
39109#[inline]
39110pub unsafe fn zunmrq(
39111 side: u8,
39112 trans: u8,
39113 m: i32,
39114 n: i32,
39115 k: i32,
39116 a: &[c64],
39117 lda: i32,
39118 tau: &[c64],
39119 c: &mut [c64],
39120 ldc: i32,
39121 work: &mut [c64],
39122 lwork: i32,
39123 info: &mut i32,
39124) {
39125 ffi::zunmrq_(
39126 &(side as c_char),
39127 &(trans as c_char),
39128 &m,
39129 &n,
39130 &k,
39131 a.as_ptr() as *const _,
39132 &lda,
39133 tau.as_ptr() as *const _,
39134 c.as_mut_ptr() as *mut _,
39135 &ldc,
39136 work.as_mut_ptr() as *mut _,
39137 &lwork,
39138 info,
39139 )
39140}
39141
39142#[inline]
39143pub unsafe fn cunmrz(
39144 side: u8,
39145 trans: u8,
39146 m: i32,
39147 n: i32,
39148 k: i32,
39149 l: i32,
39150 a: &[c32],
39151 lda: i32,
39152 tau: &[c32],
39153 c: &mut [c32],
39154 ldc: i32,
39155 work: &mut [c32],
39156 lwork: i32,
39157 info: &mut i32,
39158) {
39159 ffi::cunmrz_(
39160 &(side as c_char),
39161 &(trans as c_char),
39162 &m,
39163 &n,
39164 &k,
39165 &l,
39166 a.as_ptr() as *const _,
39167 &lda,
39168 tau.as_ptr() as *const _,
39169 c.as_mut_ptr() as *mut _,
39170 &ldc,
39171 work.as_mut_ptr() as *mut _,
39172 &lwork,
39173 info,
39174 )
39175}
39176
39177#[inline]
39178pub unsafe fn zunmrz(
39179 side: u8,
39180 trans: u8,
39181 m: i32,
39182 n: i32,
39183 k: i32,
39184 l: i32,
39185 a: &[c64],
39186 lda: i32,
39187 tau: &[c64],
39188 c: &mut [c64],
39189 ldc: i32,
39190 work: &mut [c64],
39191 lwork: i32,
39192 info: &mut i32,
39193) {
39194 ffi::zunmrz_(
39195 &(side as c_char),
39196 &(trans as c_char),
39197 &m,
39198 &n,
39199 &k,
39200 &l,
39201 a.as_ptr() as *const _,
39202 &lda,
39203 tau.as_ptr() as *const _,
39204 c.as_mut_ptr() as *mut _,
39205 &ldc,
39206 work.as_mut_ptr() as *mut _,
39207 &lwork,
39208 info,
39209 )
39210}
39211
39212#[inline]
39213pub unsafe fn cunmtr(
39214 side: u8,
39215 uplo: u8,
39216 trans: u8,
39217 m: i32,
39218 n: i32,
39219 a: &[c32],
39220 lda: i32,
39221 tau: &[c32],
39222 c: &mut [c32],
39223 ldc: i32,
39224 work: &mut [c32],
39225 lwork: i32,
39226 info: &mut i32,
39227) {
39228 ffi::cunmtr_(
39229 &(side as c_char),
39230 &(uplo as c_char),
39231 &(trans as c_char),
39232 &m,
39233 &n,
39234 a.as_ptr() as *const _,
39235 &lda,
39236 tau.as_ptr() as *const _,
39237 c.as_mut_ptr() as *mut _,
39238 &ldc,
39239 work.as_mut_ptr() as *mut _,
39240 &lwork,
39241 info,
39242 )
39243}
39244
39245#[inline]
39246pub unsafe fn zunmtr(
39247 side: u8,
39248 uplo: u8,
39249 trans: u8,
39250 m: i32,
39251 n: i32,
39252 a: &[c64],
39253 lda: i32,
39254 tau: &[c64],
39255 c: &mut [c64],
39256 ldc: i32,
39257 work: &mut [c64],
39258 lwork: i32,
39259 info: &mut i32,
39260) {
39261 ffi::zunmtr_(
39262 &(side as c_char),
39263 &(uplo as c_char),
39264 &(trans as c_char),
39265 &m,
39266 &n,
39267 a.as_ptr() as *const _,
39268 &lda,
39269 tau.as_ptr() as *const _,
39270 c.as_mut_ptr() as *mut _,
39271 &ldc,
39272 work.as_mut_ptr() as *mut _,
39273 &lwork,
39274 info,
39275 )
39276}
39277
39278#[inline]
39279pub unsafe fn cupgtr(
39280 uplo: u8,
39281 n: i32,
39282 ap: &[c32],
39283 tau: &[c32],
39284 q: &mut [c32],
39285 ldq: i32,
39286 work: &mut [c32],
39287 info: &mut i32,
39288) {
39289 ffi::cupgtr_(
39290 &(uplo as c_char),
39291 &n,
39292 ap.as_ptr() as *const _,
39293 tau.as_ptr() as *const _,
39294 q.as_mut_ptr() as *mut _,
39295 &ldq,
39296 work.as_mut_ptr() as *mut _,
39297 info,
39298 )
39299}
39300
39301#[inline]
39302pub unsafe fn zupgtr(
39303 uplo: u8,
39304 n: i32,
39305 ap: &[c64],
39306 tau: &[c64],
39307 q: &mut [c64],
39308 ldq: i32,
39309 work: &mut [c64],
39310 info: &mut i32,
39311) {
39312 ffi::zupgtr_(
39313 &(uplo as c_char),
39314 &n,
39315 ap.as_ptr() as *const _,
39316 tau.as_ptr() as *const _,
39317 q.as_mut_ptr() as *mut _,
39318 &ldq,
39319 work.as_mut_ptr() as *mut _,
39320 info,
39321 )
39322}
39323
39324#[inline]
39325pub unsafe fn cupmtr(
39326 side: u8,
39327 uplo: u8,
39328 trans: u8,
39329 m: i32,
39330 n: i32,
39331 ap: &[c32],
39332 tau: &[c32],
39333 c: &mut [c32],
39334 ldc: i32,
39335 work: &mut [c32],
39336 info: &mut i32,
39337) {
39338 ffi::cupmtr_(
39339 &(side as c_char),
39340 &(uplo as c_char),
39341 &(trans as c_char),
39342 &m,
39343 &n,
39344 ap.as_ptr() as *const _,
39345 tau.as_ptr() as *const _,
39346 c.as_mut_ptr() as *mut _,
39347 &ldc,
39348 work.as_mut_ptr() as *mut _,
39349 info,
39350 )
39351}
39352
39353#[inline]
39354pub unsafe fn zupmtr(
39355 side: u8,
39356 uplo: u8,
39357 trans: u8,
39358 m: i32,
39359 n: i32,
39360 ap: &[c64],
39361 tau: &[c64],
39362 c: &mut [c64],
39363 ldc: i32,
39364 work: &mut [c64],
39365 info: &mut i32,
39366) {
39367 ffi::zupmtr_(
39368 &(side as c_char),
39369 &(uplo as c_char),
39370 &(trans as c_char),
39371 &m,
39372 &n,
39373 ap.as_ptr() as *const _,
39374 tau.as_ptr() as *const _,
39375 c.as_mut_ptr() as *mut _,
39376 &ldc,
39377 work.as_mut_ptr() as *mut _,
39378 info,
39379 )
39380}