1use super::*;
6
7unsafe extern "C" {
8 pub fn cblas_dcabs1(z: *const c_void) -> f64;
9 pub fn cblas_scabs1(c: *const c_void) -> f32;
10 pub fn cblas_sdsdot(
11 N: blas_int,
12 alpha: f32,
13 X: *const f32,
14 incX: blas_int,
15 Y: *const f32,
16 incY: blas_int,
17 ) -> f32;
18 pub fn cblas_dsdot(
19 N: blas_int,
20 X: *const f32,
21 incX: blas_int,
22 Y: *const f32,
23 incY: blas_int,
24 ) -> f64;
25 pub fn cblas_sdot(
26 N: blas_int,
27 X: *const f32,
28 incX: blas_int,
29 Y: *const f32,
30 incY: blas_int,
31 ) -> f32;
32 pub fn cblas_ddot(
33 N: blas_int,
34 X: *const f64,
35 incX: blas_int,
36 Y: *const f64,
37 incY: blas_int,
38 ) -> f64;
39 pub fn cblas_cdotu_sub(
40 N: blas_int,
41 X: *const c_void,
42 incX: blas_int,
43 Y: *const c_void,
44 incY: blas_int,
45 dotu: *mut c_void,
46 );
47 pub fn cblas_cdotc_sub(
48 N: blas_int,
49 X: *const c_void,
50 incX: blas_int,
51 Y: *const c_void,
52 incY: blas_int,
53 dotc: *mut c_void,
54 );
55 pub fn cblas_zdotu_sub(
56 N: blas_int,
57 X: *const c_void,
58 incX: blas_int,
59 Y: *const c_void,
60 incY: blas_int,
61 dotu: *mut c_void,
62 );
63 pub fn cblas_zdotc_sub(
64 N: blas_int,
65 X: *const c_void,
66 incX: blas_int,
67 Y: *const c_void,
68 incY: blas_int,
69 dotc: *mut c_void,
70 );
71 pub fn cblas_snrm2(N: blas_int, X: *const f32, incX: blas_int) -> f32;
72 pub fn cblas_sasum(N: blas_int, X: *const f32, incX: blas_int) -> f32;
73 pub fn cblas_dnrm2(N: blas_int, X: *const f64, incX: blas_int) -> f64;
74 pub fn cblas_dasum(N: blas_int, X: *const f64, incX: blas_int) -> f64;
75 pub fn cblas_scnrm2(N: blas_int, X: *const c_void, incX: blas_int) -> f32;
76 pub fn cblas_scasum(N: blas_int, X: *const c_void, incX: blas_int) -> f32;
77 pub fn cblas_dznrm2(N: blas_int, X: *const c_void, incX: blas_int) -> f64;
78 pub fn cblas_dzasum(N: blas_int, X: *const c_void, incX: blas_int) -> f64;
79 pub fn cblas_isamax(N: blas_int, X: *const f32, incX: blas_int) -> usize;
80 pub fn cblas_idamax(N: blas_int, X: *const f64, incX: blas_int) -> usize;
81 pub fn cblas_icamax(N: blas_int, X: *const c_void, incX: blas_int) -> usize;
82 pub fn cblas_izamax(N: blas_int, X: *const c_void, incX: blas_int) -> usize;
83 pub fn cblas_sswap(N: blas_int, X: *mut f32, incX: blas_int, Y: *mut f32, incY: blas_int);
84 pub fn cblas_scopy(N: blas_int, X: *const f32, incX: blas_int, Y: *mut f32, incY: blas_int);
85 pub fn cblas_saxpy(
86 N: blas_int,
87 alpha: f32,
88 X: *const f32,
89 incX: blas_int,
90 Y: *mut f32,
91 incY: blas_int,
92 );
93 pub fn cblas_dswap(N: blas_int, X: *mut f64, incX: blas_int, Y: *mut f64, incY: blas_int);
94 pub fn cblas_dcopy(N: blas_int, X: *const f64, incX: blas_int, Y: *mut f64, incY: blas_int);
95 pub fn cblas_daxpy(
96 N: blas_int,
97 alpha: f64,
98 X: *const f64,
99 incX: blas_int,
100 Y: *mut f64,
101 incY: blas_int,
102 );
103 pub fn cblas_cswap(N: blas_int, X: *mut c_void, incX: blas_int, Y: *mut c_void, incY: blas_int);
104 pub fn cblas_ccopy(
105 N: blas_int,
106 X: *const c_void,
107 incX: blas_int,
108 Y: *mut c_void,
109 incY: blas_int,
110 );
111 pub fn cblas_caxpy(
112 N: blas_int,
113 alpha: *const c_void,
114 X: *const c_void,
115 incX: blas_int,
116 Y: *mut c_void,
117 incY: blas_int,
118 );
119 pub fn cblas_zswap(N: blas_int, X: *mut c_void, incX: blas_int, Y: *mut c_void, incY: blas_int);
120 pub fn cblas_zcopy(
121 N: blas_int,
122 X: *const c_void,
123 incX: blas_int,
124 Y: *mut c_void,
125 incY: blas_int,
126 );
127 pub fn cblas_zaxpy(
128 N: blas_int,
129 alpha: *const c_void,
130 X: *const c_void,
131 incX: blas_int,
132 Y: *mut c_void,
133 incY: blas_int,
134 );
135 pub fn cblas_srotmg(d1: *mut f32, d2: *mut f32, b1: *mut f32, b2: f32, P: *mut f32);
136 pub fn cblas_srotm(
137 N: blas_int,
138 X: *mut f32,
139 incX: blas_int,
140 Y: *mut f32,
141 incY: blas_int,
142 P: *const f32,
143 );
144 pub fn cblas_drotmg(d1: *mut f64, d2: *mut f64, b1: *mut f64, b2: f64, P: *mut f64);
145 pub fn cblas_drotm(
146 N: blas_int,
147 X: *mut f64,
148 incX: blas_int,
149 Y: *mut f64,
150 incY: blas_int,
151 P: *const f64,
152 );
153 pub fn cblas_sscal(N: blas_int, alpha: f32, X: *mut f32, incX: blas_int);
154 pub fn cblas_dscal(N: blas_int, alpha: f64, X: *mut f64, incX: blas_int);
155 pub fn cblas_cscal(N: blas_int, alpha: *const c_void, X: *mut c_void, incX: blas_int);
156 pub fn cblas_zscal(N: blas_int, alpha: *const c_void, X: *mut c_void, incX: blas_int);
157 pub fn cblas_csscal(N: blas_int, alpha: f32, X: *mut c_void, incX: blas_int);
158 pub fn cblas_zdscal(N: blas_int, alpha: f64, X: *mut c_void, incX: blas_int);
159 pub fn cblas_srotg(a: *mut f32, b: *mut f32, c: *mut f32, s: *mut f32);
160 pub fn cblas_drotg(a: *mut f64, b: *mut f64, c: *mut f64, s: *mut f64);
161 pub fn cblas_crotg(a: *mut c_void, b: *mut c_void, c: *mut f32, s: *mut c_void);
162 pub fn cblas_zrotg(a: *mut c_void, b: *mut c_void, c: *mut f64, s: *mut c_void);
163 pub fn cblas_srot(
164 N: blas_int,
165 X: *mut f32,
166 incX: blas_int,
167 Y: *mut f32,
168 incY: blas_int,
169 c: f32,
170 s: f32,
171 );
172 pub fn cblas_drot(
173 N: blas_int,
174 X: *mut f64,
175 incX: blas_int,
176 Y: *mut f64,
177 incY: blas_int,
178 c: f64,
179 s: f64,
180 );
181 pub fn cblas_csrot(
182 N: blas_int,
183 X: *mut c_void,
184 incX: blas_int,
185 Y: *mut c_void,
186 incY: blas_int,
187 c: f32,
188 s: f32,
189 );
190 pub fn cblas_zdrot(
191 N: blas_int,
192 X: *mut c_void,
193 incX: blas_int,
194 Y: *mut c_void,
195 incY: blas_int,
196 c: f64,
197 s: f64,
198 );
199 pub fn cblas_sgemv(
200 layout: CBLAS_LAYOUT,
201 TransA: CBLAS_TRANSPOSE,
202 M: blas_int,
203 N: blas_int,
204 alpha: f32,
205 A: *const f32,
206 lda: blas_int,
207 X: *const f32,
208 incX: blas_int,
209 beta: f32,
210 Y: *mut f32,
211 incY: blas_int,
212 );
213 pub fn cblas_sgbmv(
214 layout: CBLAS_LAYOUT,
215 TransA: CBLAS_TRANSPOSE,
216 M: blas_int,
217 N: blas_int,
218 KL: blas_int,
219 KU: blas_int,
220 alpha: f32,
221 A: *const f32,
222 lda: blas_int,
223 X: *const f32,
224 incX: blas_int,
225 beta: f32,
226 Y: *mut f32,
227 incY: blas_int,
228 );
229 pub fn cblas_strmv(
230 layout: CBLAS_LAYOUT,
231 Uplo: CBLAS_UPLO,
232 TransA: CBLAS_TRANSPOSE,
233 Diag: CBLAS_DIAG,
234 N: blas_int,
235 A: *const f32,
236 lda: blas_int,
237 X: *mut f32,
238 incX: blas_int,
239 );
240 pub fn cblas_stbmv(
241 layout: CBLAS_LAYOUT,
242 Uplo: CBLAS_UPLO,
243 TransA: CBLAS_TRANSPOSE,
244 Diag: CBLAS_DIAG,
245 N: blas_int,
246 K: blas_int,
247 A: *const f32,
248 lda: blas_int,
249 X: *mut f32,
250 incX: blas_int,
251 );
252 pub fn cblas_stpmv(
253 layout: CBLAS_LAYOUT,
254 Uplo: CBLAS_UPLO,
255 TransA: CBLAS_TRANSPOSE,
256 Diag: CBLAS_DIAG,
257 N: blas_int,
258 Ap: *const f32,
259 X: *mut f32,
260 incX: blas_int,
261 );
262 pub fn cblas_strsv(
263 layout: CBLAS_LAYOUT,
264 Uplo: CBLAS_UPLO,
265 TransA: CBLAS_TRANSPOSE,
266 Diag: CBLAS_DIAG,
267 N: blas_int,
268 A: *const f32,
269 lda: blas_int,
270 X: *mut f32,
271 incX: blas_int,
272 );
273 pub fn cblas_stbsv(
274 layout: CBLAS_LAYOUT,
275 Uplo: CBLAS_UPLO,
276 TransA: CBLAS_TRANSPOSE,
277 Diag: CBLAS_DIAG,
278 N: blas_int,
279 K: blas_int,
280 A: *const f32,
281 lda: blas_int,
282 X: *mut f32,
283 incX: blas_int,
284 );
285 pub fn cblas_stpsv(
286 layout: CBLAS_LAYOUT,
287 Uplo: CBLAS_UPLO,
288 TransA: CBLAS_TRANSPOSE,
289 Diag: CBLAS_DIAG,
290 N: blas_int,
291 Ap: *const f32,
292 X: *mut f32,
293 incX: blas_int,
294 );
295 pub fn cblas_dgemv(
296 layout: CBLAS_LAYOUT,
297 TransA: CBLAS_TRANSPOSE,
298 M: blas_int,
299 N: blas_int,
300 alpha: f64,
301 A: *const f64,
302 lda: blas_int,
303 X: *const f64,
304 incX: blas_int,
305 beta: f64,
306 Y: *mut f64,
307 incY: blas_int,
308 );
309 pub fn cblas_dgbmv(
310 layout: CBLAS_LAYOUT,
311 TransA: CBLAS_TRANSPOSE,
312 M: blas_int,
313 N: blas_int,
314 KL: blas_int,
315 KU: blas_int,
316 alpha: f64,
317 A: *const f64,
318 lda: blas_int,
319 X: *const f64,
320 incX: blas_int,
321 beta: f64,
322 Y: *mut f64,
323 incY: blas_int,
324 );
325 pub fn cblas_dtrmv(
326 layout: CBLAS_LAYOUT,
327 Uplo: CBLAS_UPLO,
328 TransA: CBLAS_TRANSPOSE,
329 Diag: CBLAS_DIAG,
330 N: blas_int,
331 A: *const f64,
332 lda: blas_int,
333 X: *mut f64,
334 incX: blas_int,
335 );
336 pub fn cblas_dtbmv(
337 layout: CBLAS_LAYOUT,
338 Uplo: CBLAS_UPLO,
339 TransA: CBLAS_TRANSPOSE,
340 Diag: CBLAS_DIAG,
341 N: blas_int,
342 K: blas_int,
343 A: *const f64,
344 lda: blas_int,
345 X: *mut f64,
346 incX: blas_int,
347 );
348 pub fn cblas_dtpmv(
349 layout: CBLAS_LAYOUT,
350 Uplo: CBLAS_UPLO,
351 TransA: CBLAS_TRANSPOSE,
352 Diag: CBLAS_DIAG,
353 N: blas_int,
354 Ap: *const f64,
355 X: *mut f64,
356 incX: blas_int,
357 );
358 pub fn cblas_dtrsv(
359 layout: CBLAS_LAYOUT,
360 Uplo: CBLAS_UPLO,
361 TransA: CBLAS_TRANSPOSE,
362 Diag: CBLAS_DIAG,
363 N: blas_int,
364 A: *const f64,
365 lda: blas_int,
366 X: *mut f64,
367 incX: blas_int,
368 );
369 pub fn cblas_dtbsv(
370 layout: CBLAS_LAYOUT,
371 Uplo: CBLAS_UPLO,
372 TransA: CBLAS_TRANSPOSE,
373 Diag: CBLAS_DIAG,
374 N: blas_int,
375 K: blas_int,
376 A: *const f64,
377 lda: blas_int,
378 X: *mut f64,
379 incX: blas_int,
380 );
381 pub fn cblas_dtpsv(
382 layout: CBLAS_LAYOUT,
383 Uplo: CBLAS_UPLO,
384 TransA: CBLAS_TRANSPOSE,
385 Diag: CBLAS_DIAG,
386 N: blas_int,
387 Ap: *const f64,
388 X: *mut f64,
389 incX: blas_int,
390 );
391 pub fn cblas_cgemv(
392 layout: CBLAS_LAYOUT,
393 TransA: CBLAS_TRANSPOSE,
394 M: blas_int,
395 N: blas_int,
396 alpha: *const c_void,
397 A: *const c_void,
398 lda: blas_int,
399 X: *const c_void,
400 incX: blas_int,
401 beta: *const c_void,
402 Y: *mut c_void,
403 incY: blas_int,
404 );
405 pub fn cblas_cgbmv(
406 layout: CBLAS_LAYOUT,
407 TransA: CBLAS_TRANSPOSE,
408 M: blas_int,
409 N: blas_int,
410 KL: blas_int,
411 KU: blas_int,
412 alpha: *const c_void,
413 A: *const c_void,
414 lda: blas_int,
415 X: *const c_void,
416 incX: blas_int,
417 beta: *const c_void,
418 Y: *mut c_void,
419 incY: blas_int,
420 );
421 pub fn cblas_ctrmv(
422 layout: CBLAS_LAYOUT,
423 Uplo: CBLAS_UPLO,
424 TransA: CBLAS_TRANSPOSE,
425 Diag: CBLAS_DIAG,
426 N: blas_int,
427 A: *const c_void,
428 lda: blas_int,
429 X: *mut c_void,
430 incX: blas_int,
431 );
432 pub fn cblas_ctbmv(
433 layout: CBLAS_LAYOUT,
434 Uplo: CBLAS_UPLO,
435 TransA: CBLAS_TRANSPOSE,
436 Diag: CBLAS_DIAG,
437 N: blas_int,
438 K: blas_int,
439 A: *const c_void,
440 lda: blas_int,
441 X: *mut c_void,
442 incX: blas_int,
443 );
444 pub fn cblas_ctpmv(
445 layout: CBLAS_LAYOUT,
446 Uplo: CBLAS_UPLO,
447 TransA: CBLAS_TRANSPOSE,
448 Diag: CBLAS_DIAG,
449 N: blas_int,
450 Ap: *const c_void,
451 X: *mut c_void,
452 incX: blas_int,
453 );
454 pub fn cblas_ctrsv(
455 layout: CBLAS_LAYOUT,
456 Uplo: CBLAS_UPLO,
457 TransA: CBLAS_TRANSPOSE,
458 Diag: CBLAS_DIAG,
459 N: blas_int,
460 A: *const c_void,
461 lda: blas_int,
462 X: *mut c_void,
463 incX: blas_int,
464 );
465 pub fn cblas_ctbsv(
466 layout: CBLAS_LAYOUT,
467 Uplo: CBLAS_UPLO,
468 TransA: CBLAS_TRANSPOSE,
469 Diag: CBLAS_DIAG,
470 N: blas_int,
471 K: blas_int,
472 A: *const c_void,
473 lda: blas_int,
474 X: *mut c_void,
475 incX: blas_int,
476 );
477 pub fn cblas_ctpsv(
478 layout: CBLAS_LAYOUT,
479 Uplo: CBLAS_UPLO,
480 TransA: CBLAS_TRANSPOSE,
481 Diag: CBLAS_DIAG,
482 N: blas_int,
483 Ap: *const c_void,
484 X: *mut c_void,
485 incX: blas_int,
486 );
487 pub fn cblas_zgemv(
488 layout: CBLAS_LAYOUT,
489 TransA: CBLAS_TRANSPOSE,
490 M: blas_int,
491 N: blas_int,
492 alpha: *const c_void,
493 A: *const c_void,
494 lda: blas_int,
495 X: *const c_void,
496 incX: blas_int,
497 beta: *const c_void,
498 Y: *mut c_void,
499 incY: blas_int,
500 );
501 pub fn cblas_zgbmv(
502 layout: CBLAS_LAYOUT,
503 TransA: CBLAS_TRANSPOSE,
504 M: blas_int,
505 N: blas_int,
506 KL: blas_int,
507 KU: blas_int,
508 alpha: *const c_void,
509 A: *const c_void,
510 lda: blas_int,
511 X: *const c_void,
512 incX: blas_int,
513 beta: *const c_void,
514 Y: *mut c_void,
515 incY: blas_int,
516 );
517 pub fn cblas_ztrmv(
518 layout: CBLAS_LAYOUT,
519 Uplo: CBLAS_UPLO,
520 TransA: CBLAS_TRANSPOSE,
521 Diag: CBLAS_DIAG,
522 N: blas_int,
523 A: *const c_void,
524 lda: blas_int,
525 X: *mut c_void,
526 incX: blas_int,
527 );
528 pub fn cblas_ztbmv(
529 layout: CBLAS_LAYOUT,
530 Uplo: CBLAS_UPLO,
531 TransA: CBLAS_TRANSPOSE,
532 Diag: CBLAS_DIAG,
533 N: blas_int,
534 K: blas_int,
535 A: *const c_void,
536 lda: blas_int,
537 X: *mut c_void,
538 incX: blas_int,
539 );
540 pub fn cblas_ztpmv(
541 layout: CBLAS_LAYOUT,
542 Uplo: CBLAS_UPLO,
543 TransA: CBLAS_TRANSPOSE,
544 Diag: CBLAS_DIAG,
545 N: blas_int,
546 Ap: *const c_void,
547 X: *mut c_void,
548 incX: blas_int,
549 );
550 pub fn cblas_ztrsv(
551 layout: CBLAS_LAYOUT,
552 Uplo: CBLAS_UPLO,
553 TransA: CBLAS_TRANSPOSE,
554 Diag: CBLAS_DIAG,
555 N: blas_int,
556 A: *const c_void,
557 lda: blas_int,
558 X: *mut c_void,
559 incX: blas_int,
560 );
561 pub fn cblas_ztbsv(
562 layout: CBLAS_LAYOUT,
563 Uplo: CBLAS_UPLO,
564 TransA: CBLAS_TRANSPOSE,
565 Diag: CBLAS_DIAG,
566 N: blas_int,
567 K: blas_int,
568 A: *const c_void,
569 lda: blas_int,
570 X: *mut c_void,
571 incX: blas_int,
572 );
573 pub fn cblas_ztpsv(
574 layout: CBLAS_LAYOUT,
575 Uplo: CBLAS_UPLO,
576 TransA: CBLAS_TRANSPOSE,
577 Diag: CBLAS_DIAG,
578 N: blas_int,
579 Ap: *const c_void,
580 X: *mut c_void,
581 incX: blas_int,
582 );
583 pub fn cblas_ssymv(
584 layout: CBLAS_LAYOUT,
585 Uplo: CBLAS_UPLO,
586 N: blas_int,
587 alpha: f32,
588 A: *const f32,
589 lda: blas_int,
590 X: *const f32,
591 incX: blas_int,
592 beta: f32,
593 Y: *mut f32,
594 incY: blas_int,
595 );
596 pub fn cblas_ssbmv(
597 layout: CBLAS_LAYOUT,
598 Uplo: CBLAS_UPLO,
599 N: blas_int,
600 K: blas_int,
601 alpha: f32,
602 A: *const f32,
603 lda: blas_int,
604 X: *const f32,
605 incX: blas_int,
606 beta: f32,
607 Y: *mut f32,
608 incY: blas_int,
609 );
610 pub fn cblas_sspmv(
611 layout: CBLAS_LAYOUT,
612 Uplo: CBLAS_UPLO,
613 N: blas_int,
614 alpha: f32,
615 Ap: *const f32,
616 X: *const f32,
617 incX: blas_int,
618 beta: f32,
619 Y: *mut f32,
620 incY: blas_int,
621 );
622 pub fn cblas_sger(
623 layout: CBLAS_LAYOUT,
624 M: blas_int,
625 N: blas_int,
626 alpha: f32,
627 X: *const f32,
628 incX: blas_int,
629 Y: *const f32,
630 incY: blas_int,
631 A: *mut f32,
632 lda: blas_int,
633 );
634 pub fn cblas_ssyr(
635 layout: CBLAS_LAYOUT,
636 Uplo: CBLAS_UPLO,
637 N: blas_int,
638 alpha: f32,
639 X: *const f32,
640 incX: blas_int,
641 A: *mut f32,
642 lda: blas_int,
643 );
644 pub fn cblas_sspr(
645 layout: CBLAS_LAYOUT,
646 Uplo: CBLAS_UPLO,
647 N: blas_int,
648 alpha: f32,
649 X: *const f32,
650 incX: blas_int,
651 Ap: *mut f32,
652 );
653 pub fn cblas_ssyr2(
654 layout: CBLAS_LAYOUT,
655 Uplo: CBLAS_UPLO,
656 N: blas_int,
657 alpha: f32,
658 X: *const f32,
659 incX: blas_int,
660 Y: *const f32,
661 incY: blas_int,
662 A: *mut f32,
663 lda: blas_int,
664 );
665 pub fn cblas_sspr2(
666 layout: CBLAS_LAYOUT,
667 Uplo: CBLAS_UPLO,
668 N: blas_int,
669 alpha: f32,
670 X: *const f32,
671 incX: blas_int,
672 Y: *const f32,
673 incY: blas_int,
674 A: *mut f32,
675 );
676 pub fn cblas_dsymv(
677 layout: CBLAS_LAYOUT,
678 Uplo: CBLAS_UPLO,
679 N: blas_int,
680 alpha: f64,
681 A: *const f64,
682 lda: blas_int,
683 X: *const f64,
684 incX: blas_int,
685 beta: f64,
686 Y: *mut f64,
687 incY: blas_int,
688 );
689 pub fn cblas_dsbmv(
690 layout: CBLAS_LAYOUT,
691 Uplo: CBLAS_UPLO,
692 N: blas_int,
693 K: blas_int,
694 alpha: f64,
695 A: *const f64,
696 lda: blas_int,
697 X: *const f64,
698 incX: blas_int,
699 beta: f64,
700 Y: *mut f64,
701 incY: blas_int,
702 );
703 pub fn cblas_dspmv(
704 layout: CBLAS_LAYOUT,
705 Uplo: CBLAS_UPLO,
706 N: blas_int,
707 alpha: f64,
708 Ap: *const f64,
709 X: *const f64,
710 incX: blas_int,
711 beta: f64,
712 Y: *mut f64,
713 incY: blas_int,
714 );
715 pub fn cblas_dger(
716 layout: CBLAS_LAYOUT,
717 M: blas_int,
718 N: blas_int,
719 alpha: f64,
720 X: *const f64,
721 incX: blas_int,
722 Y: *const f64,
723 incY: blas_int,
724 A: *mut f64,
725 lda: blas_int,
726 );
727 pub fn cblas_dsyr(
728 layout: CBLAS_LAYOUT,
729 Uplo: CBLAS_UPLO,
730 N: blas_int,
731 alpha: f64,
732 X: *const f64,
733 incX: blas_int,
734 A: *mut f64,
735 lda: blas_int,
736 );
737 pub fn cblas_dspr(
738 layout: CBLAS_LAYOUT,
739 Uplo: CBLAS_UPLO,
740 N: blas_int,
741 alpha: f64,
742 X: *const f64,
743 incX: blas_int,
744 Ap: *mut f64,
745 );
746 pub fn cblas_dsyr2(
747 layout: CBLAS_LAYOUT,
748 Uplo: CBLAS_UPLO,
749 N: blas_int,
750 alpha: f64,
751 X: *const f64,
752 incX: blas_int,
753 Y: *const f64,
754 incY: blas_int,
755 A: *mut f64,
756 lda: blas_int,
757 );
758 pub fn cblas_dspr2(
759 layout: CBLAS_LAYOUT,
760 Uplo: CBLAS_UPLO,
761 N: blas_int,
762 alpha: f64,
763 X: *const f64,
764 incX: blas_int,
765 Y: *const f64,
766 incY: blas_int,
767 A: *mut f64,
768 );
769 pub fn cblas_chemv(
770 layout: CBLAS_LAYOUT,
771 Uplo: CBLAS_UPLO,
772 N: blas_int,
773 alpha: *const c_void,
774 A: *const c_void,
775 lda: blas_int,
776 X: *const c_void,
777 incX: blas_int,
778 beta: *const c_void,
779 Y: *mut c_void,
780 incY: blas_int,
781 );
782 pub fn cblas_chbmv(
783 layout: CBLAS_LAYOUT,
784 Uplo: CBLAS_UPLO,
785 N: blas_int,
786 K: blas_int,
787 alpha: *const c_void,
788 A: *const c_void,
789 lda: blas_int,
790 X: *const c_void,
791 incX: blas_int,
792 beta: *const c_void,
793 Y: *mut c_void,
794 incY: blas_int,
795 );
796 pub fn cblas_chpmv(
797 layout: CBLAS_LAYOUT,
798 Uplo: CBLAS_UPLO,
799 N: blas_int,
800 alpha: *const c_void,
801 Ap: *const c_void,
802 X: *const c_void,
803 incX: blas_int,
804 beta: *const c_void,
805 Y: *mut c_void,
806 incY: blas_int,
807 );
808 pub fn cblas_cgeru(
809 layout: CBLAS_LAYOUT,
810 M: blas_int,
811 N: blas_int,
812 alpha: *const c_void,
813 X: *const c_void,
814 incX: blas_int,
815 Y: *const c_void,
816 incY: blas_int,
817 A: *mut c_void,
818 lda: blas_int,
819 );
820 pub fn cblas_cgerc(
821 layout: CBLAS_LAYOUT,
822 M: blas_int,
823 N: blas_int,
824 alpha: *const c_void,
825 X: *const c_void,
826 incX: blas_int,
827 Y: *const c_void,
828 incY: blas_int,
829 A: *mut c_void,
830 lda: blas_int,
831 );
832 pub fn cblas_cher(
833 layout: CBLAS_LAYOUT,
834 Uplo: CBLAS_UPLO,
835 N: blas_int,
836 alpha: f32,
837 X: *const c_void,
838 incX: blas_int,
839 A: *mut c_void,
840 lda: blas_int,
841 );
842 pub fn cblas_chpr(
843 layout: CBLAS_LAYOUT,
844 Uplo: CBLAS_UPLO,
845 N: blas_int,
846 alpha: f32,
847 X: *const c_void,
848 incX: blas_int,
849 A: *mut c_void,
850 );
851 pub fn cblas_cher2(
852 layout: CBLAS_LAYOUT,
853 Uplo: CBLAS_UPLO,
854 N: blas_int,
855 alpha: *const c_void,
856 X: *const c_void,
857 incX: blas_int,
858 Y: *const c_void,
859 incY: blas_int,
860 A: *mut c_void,
861 lda: blas_int,
862 );
863 pub fn cblas_chpr2(
864 layout: CBLAS_LAYOUT,
865 Uplo: CBLAS_UPLO,
866 N: blas_int,
867 alpha: *const c_void,
868 X: *const c_void,
869 incX: blas_int,
870 Y: *const c_void,
871 incY: blas_int,
872 Ap: *mut c_void,
873 );
874 pub fn cblas_zhemv(
875 layout: CBLAS_LAYOUT,
876 Uplo: CBLAS_UPLO,
877 N: blas_int,
878 alpha: *const c_void,
879 A: *const c_void,
880 lda: blas_int,
881 X: *const c_void,
882 incX: blas_int,
883 beta: *const c_void,
884 Y: *mut c_void,
885 incY: blas_int,
886 );
887 pub fn cblas_zhbmv(
888 layout: CBLAS_LAYOUT,
889 Uplo: CBLAS_UPLO,
890 N: blas_int,
891 K: blas_int,
892 alpha: *const c_void,
893 A: *const c_void,
894 lda: blas_int,
895 X: *const c_void,
896 incX: blas_int,
897 beta: *const c_void,
898 Y: *mut c_void,
899 incY: blas_int,
900 );
901 pub fn cblas_zhpmv(
902 layout: CBLAS_LAYOUT,
903 Uplo: CBLAS_UPLO,
904 N: blas_int,
905 alpha: *const c_void,
906 Ap: *const c_void,
907 X: *const c_void,
908 incX: blas_int,
909 beta: *const c_void,
910 Y: *mut c_void,
911 incY: blas_int,
912 );
913 pub fn cblas_zgeru(
914 layout: CBLAS_LAYOUT,
915 M: blas_int,
916 N: blas_int,
917 alpha: *const c_void,
918 X: *const c_void,
919 incX: blas_int,
920 Y: *const c_void,
921 incY: blas_int,
922 A: *mut c_void,
923 lda: blas_int,
924 );
925 pub fn cblas_zgerc(
926 layout: CBLAS_LAYOUT,
927 M: blas_int,
928 N: blas_int,
929 alpha: *const c_void,
930 X: *const c_void,
931 incX: blas_int,
932 Y: *const c_void,
933 incY: blas_int,
934 A: *mut c_void,
935 lda: blas_int,
936 );
937 pub fn cblas_zher(
938 layout: CBLAS_LAYOUT,
939 Uplo: CBLAS_UPLO,
940 N: blas_int,
941 alpha: f64,
942 X: *const c_void,
943 incX: blas_int,
944 A: *mut c_void,
945 lda: blas_int,
946 );
947 pub fn cblas_zhpr(
948 layout: CBLAS_LAYOUT,
949 Uplo: CBLAS_UPLO,
950 N: blas_int,
951 alpha: f64,
952 X: *const c_void,
953 incX: blas_int,
954 A: *mut c_void,
955 );
956 pub fn cblas_zher2(
957 layout: CBLAS_LAYOUT,
958 Uplo: CBLAS_UPLO,
959 N: blas_int,
960 alpha: *const c_void,
961 X: *const c_void,
962 incX: blas_int,
963 Y: *const c_void,
964 incY: blas_int,
965 A: *mut c_void,
966 lda: blas_int,
967 );
968 pub fn cblas_zhpr2(
969 layout: CBLAS_LAYOUT,
970 Uplo: CBLAS_UPLO,
971 N: blas_int,
972 alpha: *const c_void,
973 X: *const c_void,
974 incX: blas_int,
975 Y: *const c_void,
976 incY: blas_int,
977 Ap: *mut c_void,
978 );
979 pub fn cblas_sgemm(
980 layout: CBLAS_LAYOUT,
981 TransA: CBLAS_TRANSPOSE,
982 TransB: CBLAS_TRANSPOSE,
983 M: blas_int,
984 N: blas_int,
985 K: blas_int,
986 alpha: f32,
987 A: *const f32,
988 lda: blas_int,
989 B: *const f32,
990 ldb: blas_int,
991 beta: f32,
992 C: *mut f32,
993 ldc: blas_int,
994 );
995 pub fn cblas_sgemmtr(
996 layout: CBLAS_LAYOUT,
997 Uplo: CBLAS_UPLO,
998 TransA: CBLAS_TRANSPOSE,
999 TransB: CBLAS_TRANSPOSE,
1000 N: blas_int,
1001 K: blas_int,
1002 alpha: f32,
1003 A: *const f32,
1004 lda: blas_int,
1005 B: *const f32,
1006 ldb: blas_int,
1007 beta: f32,
1008 C: *mut f32,
1009 ldc: blas_int,
1010 );
1011 pub fn cblas_ssymm(
1012 layout: CBLAS_LAYOUT,
1013 Side: CBLAS_SIDE,
1014 Uplo: CBLAS_UPLO,
1015 M: blas_int,
1016 N: blas_int,
1017 alpha: f32,
1018 A: *const f32,
1019 lda: blas_int,
1020 B: *const f32,
1021 ldb: blas_int,
1022 beta: f32,
1023 C: *mut f32,
1024 ldc: blas_int,
1025 );
1026 pub fn cblas_ssyrk(
1027 layout: CBLAS_LAYOUT,
1028 Uplo: CBLAS_UPLO,
1029 Trans: CBLAS_TRANSPOSE,
1030 N: blas_int,
1031 K: blas_int,
1032 alpha: f32,
1033 A: *const f32,
1034 lda: blas_int,
1035 beta: f32,
1036 C: *mut f32,
1037 ldc: blas_int,
1038 );
1039 pub fn cblas_ssyr2k(
1040 layout: CBLAS_LAYOUT,
1041 Uplo: CBLAS_UPLO,
1042 Trans: CBLAS_TRANSPOSE,
1043 N: blas_int,
1044 K: blas_int,
1045 alpha: f32,
1046 A: *const f32,
1047 lda: blas_int,
1048 B: *const f32,
1049 ldb: blas_int,
1050 beta: f32,
1051 C: *mut f32,
1052 ldc: blas_int,
1053 );
1054 pub fn cblas_strmm(
1055 layout: CBLAS_LAYOUT,
1056 Side: CBLAS_SIDE,
1057 Uplo: CBLAS_UPLO,
1058 TransA: CBLAS_TRANSPOSE,
1059 Diag: CBLAS_DIAG,
1060 M: blas_int,
1061 N: blas_int,
1062 alpha: f32,
1063 A: *const f32,
1064 lda: blas_int,
1065 B: *mut f32,
1066 ldb: blas_int,
1067 );
1068 pub fn cblas_strsm(
1069 layout: CBLAS_LAYOUT,
1070 Side: CBLAS_SIDE,
1071 Uplo: CBLAS_UPLO,
1072 TransA: CBLAS_TRANSPOSE,
1073 Diag: CBLAS_DIAG,
1074 M: blas_int,
1075 N: blas_int,
1076 alpha: f32,
1077 A: *const f32,
1078 lda: blas_int,
1079 B: *mut f32,
1080 ldb: blas_int,
1081 );
1082 pub fn cblas_dgemm(
1083 layout: CBLAS_LAYOUT,
1084 TransA: CBLAS_TRANSPOSE,
1085 TransB: CBLAS_TRANSPOSE,
1086 M: blas_int,
1087 N: blas_int,
1088 K: blas_int,
1089 alpha: f64,
1090 A: *const f64,
1091 lda: blas_int,
1092 B: *const f64,
1093 ldb: blas_int,
1094 beta: f64,
1095 C: *mut f64,
1096 ldc: blas_int,
1097 );
1098 pub fn cblas_dgemmtr(
1099 layout: CBLAS_LAYOUT,
1100 Uplo: CBLAS_UPLO,
1101 TransA: CBLAS_TRANSPOSE,
1102 TransB: CBLAS_TRANSPOSE,
1103 N: blas_int,
1104 K: blas_int,
1105 alpha: f64,
1106 A: *const f64,
1107 lda: blas_int,
1108 B: *const f64,
1109 ldb: blas_int,
1110 beta: f64,
1111 C: *mut f64,
1112 ldc: blas_int,
1113 );
1114 pub fn cblas_dsymm(
1115 layout: CBLAS_LAYOUT,
1116 Side: CBLAS_SIDE,
1117 Uplo: CBLAS_UPLO,
1118 M: blas_int,
1119 N: blas_int,
1120 alpha: f64,
1121 A: *const f64,
1122 lda: blas_int,
1123 B: *const f64,
1124 ldb: blas_int,
1125 beta: f64,
1126 C: *mut f64,
1127 ldc: blas_int,
1128 );
1129 pub fn cblas_dsyrk(
1130 layout: CBLAS_LAYOUT,
1131 Uplo: CBLAS_UPLO,
1132 Trans: CBLAS_TRANSPOSE,
1133 N: blas_int,
1134 K: blas_int,
1135 alpha: f64,
1136 A: *const f64,
1137 lda: blas_int,
1138 beta: f64,
1139 C: *mut f64,
1140 ldc: blas_int,
1141 );
1142 pub fn cblas_dsyr2k(
1143 layout: CBLAS_LAYOUT,
1144 Uplo: CBLAS_UPLO,
1145 Trans: CBLAS_TRANSPOSE,
1146 N: blas_int,
1147 K: blas_int,
1148 alpha: f64,
1149 A: *const f64,
1150 lda: blas_int,
1151 B: *const f64,
1152 ldb: blas_int,
1153 beta: f64,
1154 C: *mut f64,
1155 ldc: blas_int,
1156 );
1157 pub fn cblas_dtrmm(
1158 layout: CBLAS_LAYOUT,
1159 Side: CBLAS_SIDE,
1160 Uplo: CBLAS_UPLO,
1161 TransA: CBLAS_TRANSPOSE,
1162 Diag: CBLAS_DIAG,
1163 M: blas_int,
1164 N: blas_int,
1165 alpha: f64,
1166 A: *const f64,
1167 lda: blas_int,
1168 B: *mut f64,
1169 ldb: blas_int,
1170 );
1171 pub fn cblas_dtrsm(
1172 layout: CBLAS_LAYOUT,
1173 Side: CBLAS_SIDE,
1174 Uplo: CBLAS_UPLO,
1175 TransA: CBLAS_TRANSPOSE,
1176 Diag: CBLAS_DIAG,
1177 M: blas_int,
1178 N: blas_int,
1179 alpha: f64,
1180 A: *const f64,
1181 lda: blas_int,
1182 B: *mut f64,
1183 ldb: blas_int,
1184 );
1185 pub fn cblas_cgemm(
1186 layout: CBLAS_LAYOUT,
1187 TransA: CBLAS_TRANSPOSE,
1188 TransB: CBLAS_TRANSPOSE,
1189 M: blas_int,
1190 N: blas_int,
1191 K: blas_int,
1192 alpha: *const c_void,
1193 A: *const c_void,
1194 lda: blas_int,
1195 B: *const c_void,
1196 ldb: blas_int,
1197 beta: *const c_void,
1198 C: *mut c_void,
1199 ldc: blas_int,
1200 );
1201 pub fn cblas_cgemmtr(
1202 layout: CBLAS_LAYOUT,
1203 Uplo: CBLAS_UPLO,
1204 TransA: CBLAS_TRANSPOSE,
1205 TransB: CBLAS_TRANSPOSE,
1206 N: blas_int,
1207 K: blas_int,
1208 alpha: *const c_void,
1209 A: *const c_void,
1210 lda: blas_int,
1211 B: *const c_void,
1212 ldb: blas_int,
1213 beta: *const c_void,
1214 C: *mut c_void,
1215 ldc: blas_int,
1216 );
1217 pub fn cblas_csymm(
1218 layout: CBLAS_LAYOUT,
1219 Side: CBLAS_SIDE,
1220 Uplo: CBLAS_UPLO,
1221 M: blas_int,
1222 N: blas_int,
1223 alpha: *const c_void,
1224 A: *const c_void,
1225 lda: blas_int,
1226 B: *const c_void,
1227 ldb: blas_int,
1228 beta: *const c_void,
1229 C: *mut c_void,
1230 ldc: blas_int,
1231 );
1232 pub fn cblas_csyrk(
1233 layout: CBLAS_LAYOUT,
1234 Uplo: CBLAS_UPLO,
1235 Trans: CBLAS_TRANSPOSE,
1236 N: blas_int,
1237 K: blas_int,
1238 alpha: *const c_void,
1239 A: *const c_void,
1240 lda: blas_int,
1241 beta: *const c_void,
1242 C: *mut c_void,
1243 ldc: blas_int,
1244 );
1245 pub fn cblas_csyr2k(
1246 layout: CBLAS_LAYOUT,
1247 Uplo: CBLAS_UPLO,
1248 Trans: CBLAS_TRANSPOSE,
1249 N: blas_int,
1250 K: blas_int,
1251 alpha: *const c_void,
1252 A: *const c_void,
1253 lda: blas_int,
1254 B: *const c_void,
1255 ldb: blas_int,
1256 beta: *const c_void,
1257 C: *mut c_void,
1258 ldc: blas_int,
1259 );
1260 pub fn cblas_ctrmm(
1261 layout: CBLAS_LAYOUT,
1262 Side: CBLAS_SIDE,
1263 Uplo: CBLAS_UPLO,
1264 TransA: CBLAS_TRANSPOSE,
1265 Diag: CBLAS_DIAG,
1266 M: blas_int,
1267 N: blas_int,
1268 alpha: *const c_void,
1269 A: *const c_void,
1270 lda: blas_int,
1271 B: *mut c_void,
1272 ldb: blas_int,
1273 );
1274 pub fn cblas_ctrsm(
1275 layout: CBLAS_LAYOUT,
1276 Side: CBLAS_SIDE,
1277 Uplo: CBLAS_UPLO,
1278 TransA: CBLAS_TRANSPOSE,
1279 Diag: CBLAS_DIAG,
1280 M: blas_int,
1281 N: blas_int,
1282 alpha: *const c_void,
1283 A: *const c_void,
1284 lda: blas_int,
1285 B: *mut c_void,
1286 ldb: blas_int,
1287 );
1288 pub fn cblas_zgemm(
1289 layout: CBLAS_LAYOUT,
1290 TransA: CBLAS_TRANSPOSE,
1291 TransB: CBLAS_TRANSPOSE,
1292 M: blas_int,
1293 N: blas_int,
1294 K: blas_int,
1295 alpha: *const c_void,
1296 A: *const c_void,
1297 lda: blas_int,
1298 B: *const c_void,
1299 ldb: blas_int,
1300 beta: *const c_void,
1301 C: *mut c_void,
1302 ldc: blas_int,
1303 );
1304 pub fn cblas_zgemmtr(
1305 layout: CBLAS_LAYOUT,
1306 Uplo: CBLAS_UPLO,
1307 TransA: CBLAS_TRANSPOSE,
1308 TransB: CBLAS_TRANSPOSE,
1309 N: blas_int,
1310 K: blas_int,
1311 alpha: *const c_void,
1312 A: *const c_void,
1313 lda: blas_int,
1314 B: *const c_void,
1315 ldb: blas_int,
1316 beta: *const c_void,
1317 C: *mut c_void,
1318 ldc: blas_int,
1319 );
1320 pub fn cblas_zsymm(
1321 layout: CBLAS_LAYOUT,
1322 Side: CBLAS_SIDE,
1323 Uplo: CBLAS_UPLO,
1324 M: blas_int,
1325 N: blas_int,
1326 alpha: *const c_void,
1327 A: *const c_void,
1328 lda: blas_int,
1329 B: *const c_void,
1330 ldb: blas_int,
1331 beta: *const c_void,
1332 C: *mut c_void,
1333 ldc: blas_int,
1334 );
1335 pub fn cblas_zsyrk(
1336 layout: CBLAS_LAYOUT,
1337 Uplo: CBLAS_UPLO,
1338 Trans: CBLAS_TRANSPOSE,
1339 N: blas_int,
1340 K: blas_int,
1341 alpha: *const c_void,
1342 A: *const c_void,
1343 lda: blas_int,
1344 beta: *const c_void,
1345 C: *mut c_void,
1346 ldc: blas_int,
1347 );
1348 pub fn cblas_zsyr2k(
1349 layout: CBLAS_LAYOUT,
1350 Uplo: CBLAS_UPLO,
1351 Trans: CBLAS_TRANSPOSE,
1352 N: blas_int,
1353 K: blas_int,
1354 alpha: *const c_void,
1355 A: *const c_void,
1356 lda: blas_int,
1357 B: *const c_void,
1358 ldb: blas_int,
1359 beta: *const c_void,
1360 C: *mut c_void,
1361 ldc: blas_int,
1362 );
1363 pub fn cblas_ztrmm(
1364 layout: CBLAS_LAYOUT,
1365 Side: CBLAS_SIDE,
1366 Uplo: CBLAS_UPLO,
1367 TransA: CBLAS_TRANSPOSE,
1368 Diag: CBLAS_DIAG,
1369 M: blas_int,
1370 N: blas_int,
1371 alpha: *const c_void,
1372 A: *const c_void,
1373 lda: blas_int,
1374 B: *mut c_void,
1375 ldb: blas_int,
1376 );
1377 pub fn cblas_ztrsm(
1378 layout: CBLAS_LAYOUT,
1379 Side: CBLAS_SIDE,
1380 Uplo: CBLAS_UPLO,
1381 TransA: CBLAS_TRANSPOSE,
1382 Diag: CBLAS_DIAG,
1383 M: blas_int,
1384 N: blas_int,
1385 alpha: *const c_void,
1386 A: *const c_void,
1387 lda: blas_int,
1388 B: *mut c_void,
1389 ldb: blas_int,
1390 );
1391 pub fn cblas_chemm(
1392 layout: CBLAS_LAYOUT,
1393 Side: CBLAS_SIDE,
1394 Uplo: CBLAS_UPLO,
1395 M: blas_int,
1396 N: blas_int,
1397 alpha: *const c_void,
1398 A: *const c_void,
1399 lda: blas_int,
1400 B: *const c_void,
1401 ldb: blas_int,
1402 beta: *const c_void,
1403 C: *mut c_void,
1404 ldc: blas_int,
1405 );
1406 pub fn cblas_cherk(
1407 layout: CBLAS_LAYOUT,
1408 Uplo: CBLAS_UPLO,
1409 Trans: CBLAS_TRANSPOSE,
1410 N: blas_int,
1411 K: blas_int,
1412 alpha: f32,
1413 A: *const c_void,
1414 lda: blas_int,
1415 beta: f32,
1416 C: *mut c_void,
1417 ldc: blas_int,
1418 );
1419 pub fn cblas_cher2k(
1420 layout: CBLAS_LAYOUT,
1421 Uplo: CBLAS_UPLO,
1422 Trans: CBLAS_TRANSPOSE,
1423 N: blas_int,
1424 K: blas_int,
1425 alpha: *const c_void,
1426 A: *const c_void,
1427 lda: blas_int,
1428 B: *const c_void,
1429 ldb: blas_int,
1430 beta: f32,
1431 C: *mut c_void,
1432 ldc: blas_int,
1433 );
1434 pub fn cblas_zhemm(
1435 layout: CBLAS_LAYOUT,
1436 Side: CBLAS_SIDE,
1437 Uplo: CBLAS_UPLO,
1438 M: blas_int,
1439 N: blas_int,
1440 alpha: *const c_void,
1441 A: *const c_void,
1442 lda: blas_int,
1443 B: *const c_void,
1444 ldb: blas_int,
1445 beta: *const c_void,
1446 C: *mut c_void,
1447 ldc: blas_int,
1448 );
1449 pub fn cblas_zherk(
1450 layout: CBLAS_LAYOUT,
1451 Uplo: CBLAS_UPLO,
1452 Trans: CBLAS_TRANSPOSE,
1453 N: blas_int,
1454 K: blas_int,
1455 alpha: f64,
1456 A: *const c_void,
1457 lda: blas_int,
1458 beta: f64,
1459 C: *mut c_void,
1460 ldc: blas_int,
1461 );
1462 pub fn cblas_zher2k(
1463 layout: CBLAS_LAYOUT,
1464 Uplo: CBLAS_UPLO,
1465 Trans: CBLAS_TRANSPOSE,
1466 N: blas_int,
1467 K: blas_int,
1468 alpha: *const c_void,
1469 A: *const c_void,
1470 lda: blas_int,
1471 B: *const c_void,
1472 ldb: blas_int,
1473 beta: f64,
1474 C: *mut c_void,
1475 ldc: blas_int,
1476 );
1477 pub fn cblas_xerbla(p: blas_int, rout: *const c_char, form: *const c_char, ...);
1478}