1pub mod cblas_s {
8 use libc::{c_float, c_int, c_void};
9
10 pub use self::cblas_scopy as copy;
11 pub use self::cblas_saxpy as axpy;
12 pub use self::cblas_sscal as scal;
13 pub use self::cblas_sswap as swap;
14 pub use self::cblas_sdsdot as dsdot;
15 pub use self::cblas_sdot as dot;
16 pub use self::cblas_sasum as asum;
17 pub use self::cblas_scasum as casum;
18 pub use self::cblas_snrm2 as nrm2;
19 pub use self::cblas_scnrm2 as cnrm2;
20 pub use self::cblas_srot as rot;
21 pub use self::cblas_srotm as rotm;
22 pub use self::cblas_srotg as rotg;
23 pub use self::cblas_srotmg as rotmg;
24
25 extern {
26 pub fn cblas_scopy(n: c_int, x: *const c_float, inc_x: c_int, y: *mut c_float, inc_y: c_int);
27 pub fn cblas_saxpy(n: c_int, alpha: c_float, x: *const c_float, inc_x: c_int, y: *mut c_float, inc_y: c_int);
28 pub fn cblas_sscal(n: c_int, alpha: c_float, x: *mut c_float, inc_x: c_int);
29 pub fn cblas_sswap(n: c_int, x: *mut c_float, inc_x: c_int, y: *mut c_float, inc_y: c_int);
30 pub fn cblas_sdsdot(n: c_int, alpha: c_float, x: *const c_float, inc_x: c_int, y: *const c_float, inc_y: c_int) -> c_float;
31 pub fn cblas_sdot(n: c_int, x: *const c_float, inc_x: c_int, y: *const c_float, inc_y: c_int) -> c_float;
32 pub fn cblas_sasum(n: c_int, x: *const c_float, inc_x: c_int) -> c_float;
33 pub fn cblas_scasum(n: c_int, x: *const c_void, inc_x: c_int) -> c_float;
34 pub fn cblas_snrm2(n: c_int, x: *const c_float, inc_x: c_int) -> c_float;
35 pub fn cblas_scnrm2(n: c_int, x: *const c_void, inc_x: c_int) -> c_float;
36 pub fn cblas_srot(n: c_int, x: *mut c_float, inc_x: c_int, y: *mut c_float, inc_y: c_int, c: c_float, s: c_float);
37 pub fn cblas_srotm(n: c_int, x: *mut c_float, inc_x: c_int, y: *mut c_float, inc_y: c_int, p: *const c_float);
38 pub fn cblas_srotg(a: *mut c_float, b: *mut c_float, c: *mut c_float, s: *mut c_float);
39 pub fn cblas_srotmg(d1: *mut c_float, d2: *mut c_float, b1: *mut c_float, b2: c_float, p: *mut c_float);
40 }
41}
42
43pub mod cblas_d {
44 use libc::{c_double, c_float, c_int, c_void};
45
46 pub use self::cblas_dcopy as copy;
47 pub use self::cblas_daxpy as axpy;
48 pub use self::cblas_dscal as scal;
49 pub use self::cblas_dswap as swap;
50 pub use self::cblas_dsdot as dsdot;
51 pub use self::cblas_ddot as dot;
52 pub use self::cblas_dasum as asum;
53 pub use self::cblas_dzasum as zasum;
54 pub use self::cblas_dnrm2 as nrm2;
55 pub use self::cblas_dznrm2 as znrm2;
56 pub use self::cblas_drot as rot;
57 pub use self::cblas_drotm as rotm;
58 pub use self::cblas_drotg as rotg;
59 pub use self::cblas_drotmg as rotmg;
60
61 extern {
62 pub fn cblas_dcopy(n: c_int, x: *const c_double, inc_x: c_int, y: *mut c_double, inc_y: c_int);
63 pub fn cblas_daxpy(n: c_int, alpha: c_double, x: *const c_double, inc_x: c_int, y: *mut c_double, inc_y: c_int);
64 pub fn cblas_dscal (n: c_int, alpha: c_double, x: *mut c_double, inc_x: c_int);
65 pub fn cblas_dswap(n: c_int, x: *mut c_double, inc_x: c_int, y: *mut c_double, inc_y: c_int);
66 pub fn cblas_dsdot(n: c_int, x: *const c_float, inc_x: c_int, y: *const c_float, inc_y: c_int) -> c_double;
67 pub fn cblas_ddot (n: c_int, x: *const c_double, inc_x: c_int, y: *const c_double, inc_y: c_int) -> c_double;
68 pub fn cblas_dasum (n: c_int, x: *const c_double, inc_x: c_int) -> c_double;
69 pub fn cblas_dzasum(n: c_int, x: *const c_void, inc_x: c_int) -> c_double;
70 pub fn cblas_dnrm2 (n: c_int, x: *const c_double, inc_x: c_int) -> c_double;
71 pub fn cblas_dznrm2(n: c_int, x: *const c_void, inc_x: c_int) -> c_double;
72 pub fn cblas_drot(n: c_int, x: *mut c_double, inc_x: c_int, y: *mut c_double, inc_y: c_int, c: c_double, s: c_double);
73 pub fn cblas_drotm(n: c_int, x: *mut c_double, inc_x: c_int, y: *mut c_double, inc_y: c_int, p: *const c_double);
74 pub fn cblas_drotg(a: *mut c_double, b: *mut c_double, c: *mut c_double, s: *mut c_double);
75 pub fn cblas_drotmg(d1: *mut c_double, d2: *mut c_double, b1: *mut c_double, b2: c_double, p: *mut c_double);
76 }
77}
78
79pub mod cblas_c {
80 use libc::{c_float, c_int, c_void};
81
82 pub use self::cblas_ccopy as copy;
83 pub use self::cblas_caxpy as axpy;
84 pub use self::cblas_cscal as scal;
85 pub use self::cblas_csscal as sscal;
86 pub use self::cblas_cswap as swap;
87 pub use self::cblas_cdotu_sub as dotu_sub;
88 pub use self::cblas_cdotc_sub as dotc_sub;
89
90 extern {
91 pub fn cblas_ccopy(n: c_int, x: *const c_void, inc_x: c_int, y: *mut c_void, inc_y: c_int);
92 pub fn cblas_caxpy(n: c_int, alpha: *const c_void, x: *const c_void, inc_x: c_int, y: *mut c_void, inc_y: c_int);
93 pub fn cblas_cscal (n: c_int, alpha: *const c_void, x: *mut c_void, inc_x: c_int);
94 pub fn cblas_csscal(n: c_int, alpha: c_float, x: *mut c_void, inc_x: c_int);
95 pub fn cblas_cswap(n: c_int, x: *mut c_void, inc_x: c_int, y: *mut c_void, inc_y: c_int);
96 pub fn cblas_cdotu_sub(n: c_int, x: *const c_void, inc_x: c_int, y: *const c_void, inc_y: c_int, dotu: *mut c_void);
97 pub fn cblas_cdotc_sub(n: c_int, x: *const c_void, inc_x: c_int, y: *const c_void, inc_y: c_int, dotc: *mut c_void);
98 }
99}
100
101pub mod cblas_z {
102 use libc::{c_double, c_int, c_void};
103
104 pub use self::cblas_zcopy as copy;
105 pub use self::cblas_zaxpy as axpy;
106 pub use self::cblas_zscal as scal;
107 pub use self::cblas_zdscal as dscal;
108 pub use self::cblas_zswap as swap;
109 pub use self::cblas_zdotu_sub as dotu_sub;
110 pub use self::cblas_zdotc_sub as dotc_sub;
111
112 extern {
113 pub fn cblas_zcopy(n: c_int, x: *const c_void, inc_x: c_int, y: *mut c_void, inc_y: c_int);
114 pub fn cblas_zaxpy(n: c_int, alpha: *const c_void, x: *const c_void, inc_x: c_int, y: *mut c_void, inc_y: c_int);
115 pub fn cblas_zscal (n: c_int, alpha: *const c_void, x: *mut c_void, inc_x: c_int);
116 pub fn cblas_zdscal(n: c_int, alpha: c_double, x: *mut c_void, inc_x: c_int);
117 pub fn cblas_zswap(n: c_int, x: *mut c_void, inc_x: c_int, y: *mut c_void, inc_y: c_int);
118 pub fn cblas_zdotu_sub(n: c_int, x: *const c_void, inc_x: c_int, y: *const c_void, inc_y: c_int, dotu: *mut c_void);
119 pub fn cblas_zdotc_sub(n: c_int, x: *const c_void, inc_x: c_int, y: *const c_void, inc_y: c_int, dotc: *mut c_void);
120 }
121}
122
123pub mod cblas_i {
124 use libc::{c_double, c_float, c_int, c_void, size_t};
125
126 pub use self::cblas_isamax as samax;
127 pub use self::cblas_idamax as damax;
128 pub use self::cblas_icamax as camax;
129 pub use self::cblas_izamax as zamax;
130
131 extern {
132 pub fn cblas_isamax(n: c_int, x: *const c_float, inc_x: c_int) -> size_t;
133 pub fn cblas_idamax(n: c_int, x: *const c_double, inc_x: c_int) -> size_t;
134 pub fn cblas_icamax(n: c_int, x: *const c_void, inc_x: c_int) -> size_t;
135 pub fn cblas_izamax(n: c_int, x: *const c_void, inc_x: c_int) -> size_t;
136 }
137}