superlu_sys/
slu_ddefs.rs

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}