rstsr_lapack_ffi/cblas/
ffi_extern.rs

1//! FFI function declarations for non-dynamic-loading.
2//!
3//! This file is generated automatically.
4
5use 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}