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#[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}