1use libc::{c_double, c_int, c_void};
2
3use slu_util::*;
4use supermatrix::*;
5use trans_t;
6
7extern "C" {
8 pub fn dgssv(
9 options: *mut superlu_options_t,
10 A: *mut SuperMatrix,
11 perm_c: *mut c_int,
12 perm_r: *mut c_int,
13 L: *mut SuperMatrix,
14 U: *mut SuperMatrix,
15 B: *mut SuperMatrix,
16 stat: *mut SuperLUStat_t,
17 info: *mut c_int,
18 );
19
20 pub fn dgstrf(
21 options: *mut superlu_options_t,
22 A: *mut SuperMatrix,
23 relax: c_int,
24 panel_size: c_int,
25 etree: *mut c_int,
26 work: *mut c_void,
27 lwork: c_int,
28 perm_c: *mut c_int,
29 perm_r: *mut c_int,
30 L: *mut SuperMatrix,
31 U: *mut SuperMatrix,
32 Glu: *mut GlobalLU_t,
33 stat: *mut SuperLUStat_t,
34 info: *mut c_int,
35 );
36
37 pub fn dgstrs(
38 trans: trans_t,
39 L: *mut SuperMatrix,
40 U: *mut SuperMatrix,
41 perm_c: *mut c_int,
42 perm_r: *mut c_int,
43 B: *mut SuperMatrix,
44 stat: *mut SuperLUStat_t,
45 info: *mut c_int,
46 );
47
48 pub fn dCreate_CompCol_Matrix(
49 A: *mut SuperMatrix,
50 m: c_int,
51 n: c_int,
52 nnz: c_int,
53 nzval: *mut c_double,
54 rowind: *mut c_int,
55 colptr: *mut c_int,
56 stype: Stype_t,
57 dtype: Dtype_t,
58 mtype: Mtype_t,
59 );
60
61 pub fn dCreate_Dense_Matrix(
62 X: *mut SuperMatrix,
63 n: c_int,
64 m: c_int,
65 x: *mut c_double,
66 idx: c_int,
67 stype: Stype_t,
68 dtype: Dtype_t,
69 mtype: Mtype_t,
70 );
71
72 pub fn doubleMalloc(n: c_int) -> *mut c_double;
73}