rstsr_lapack_ffi/
cblas.rs

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