metis_sys/gen/
bindings.rs

1/* automatically generated by rust-bindgen 0.66.1 */
2
3pub const METIS_VER_MAJOR: u32 = 5;
4pub const METIS_VER_MINOR: u32 = 2;
5pub const METIS_VER_SUBMINOR: u32 = 1;
6pub const METIS_NOPTIONS: u32 = 40;
7pub type idx_t = i32;
8pub type real_t = f32;
9extern "C" {
10    pub fn METIS_PartGraphRecursive(
11        nvtxs: *mut idx_t,
12        ncon: *mut idx_t,
13        xadj: *mut idx_t,
14        adjncy: *mut idx_t,
15        vwgt: *mut idx_t,
16        vsize: *mut idx_t,
17        adjwgt: *mut idx_t,
18        nparts: *mut idx_t,
19        tpwgts: *mut real_t,
20        ubvec: *mut real_t,
21        options: *mut idx_t,
22        edgecut: *mut idx_t,
23        part: *mut idx_t,
24    ) -> ::std::os::raw::c_int;
25}
26extern "C" {
27    pub fn METIS_PartGraphKway(
28        nvtxs: *mut idx_t,
29        ncon: *mut idx_t,
30        xadj: *mut idx_t,
31        adjncy: *mut idx_t,
32        vwgt: *mut idx_t,
33        vsize: *mut idx_t,
34        adjwgt: *mut idx_t,
35        nparts: *mut idx_t,
36        tpwgts: *mut real_t,
37        ubvec: *mut real_t,
38        options: *mut idx_t,
39        edgecut: *mut idx_t,
40        part: *mut idx_t,
41    ) -> ::std::os::raw::c_int;
42}
43extern "C" {
44    pub fn METIS_MeshToDual(
45        ne: *mut idx_t,
46        nn: *mut idx_t,
47        eptr: *mut idx_t,
48        eind: *mut idx_t,
49        ncommon: *mut idx_t,
50        numflag: *mut idx_t,
51        r_xadj: *mut *mut idx_t,
52        r_adjncy: *mut *mut idx_t,
53    ) -> ::std::os::raw::c_int;
54}
55extern "C" {
56    pub fn METIS_MeshToNodal(
57        ne: *mut idx_t,
58        nn: *mut idx_t,
59        eptr: *mut idx_t,
60        eind: *mut idx_t,
61        numflag: *mut idx_t,
62        r_xadj: *mut *mut idx_t,
63        r_adjncy: *mut *mut idx_t,
64    ) -> ::std::os::raw::c_int;
65}
66extern "C" {
67    pub fn METIS_PartMeshNodal(
68        ne: *mut idx_t,
69        nn: *mut idx_t,
70        eptr: *mut idx_t,
71        eind: *mut idx_t,
72        vwgt: *mut idx_t,
73        vsize: *mut idx_t,
74        nparts: *mut idx_t,
75        tpwgts: *mut real_t,
76        options: *mut idx_t,
77        objval: *mut idx_t,
78        epart: *mut idx_t,
79        npart: *mut idx_t,
80    ) -> ::std::os::raw::c_int;
81}
82extern "C" {
83    pub fn METIS_PartMeshDual(
84        ne: *mut idx_t,
85        nn: *mut idx_t,
86        eptr: *mut idx_t,
87        eind: *mut idx_t,
88        vwgt: *mut idx_t,
89        vsize: *mut idx_t,
90        ncommon: *mut idx_t,
91        nparts: *mut idx_t,
92        tpwgts: *mut real_t,
93        options: *mut idx_t,
94        objval: *mut idx_t,
95        epart: *mut idx_t,
96        npart: *mut idx_t,
97    ) -> ::std::os::raw::c_int;
98}
99extern "C" {
100    pub fn METIS_NodeND(
101        nvtxs: *mut idx_t,
102        xadj: *mut idx_t,
103        adjncy: *mut idx_t,
104        vwgt: *mut idx_t,
105        options: *mut idx_t,
106        perm: *mut idx_t,
107        iperm: *mut idx_t,
108    ) -> ::std::os::raw::c_int;
109}
110extern "C" {
111    pub fn METIS_Free(ptr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
112}
113extern "C" {
114    pub fn METIS_SetDefaultOptions(options: *mut idx_t) -> ::std::os::raw::c_int;
115}
116extern "C" {
117    pub fn METIS_NodeNDP(
118        nvtxs: idx_t,
119        xadj: *mut idx_t,
120        adjncy: *mut idx_t,
121        vwgt: *mut idx_t,
122        npes: idx_t,
123        options: *mut idx_t,
124        perm: *mut idx_t,
125        iperm: *mut idx_t,
126        sizes: *mut idx_t,
127    ) -> ::std::os::raw::c_int;
128}
129extern "C" {
130    pub fn METIS_ComputeVertexSeparator(
131        nvtxs: *mut idx_t,
132        xadj: *mut idx_t,
133        adjncy: *mut idx_t,
134        vwgt: *mut idx_t,
135        options: *mut idx_t,
136        sepsize: *mut idx_t,
137        part: *mut idx_t,
138    ) -> ::std::os::raw::c_int;
139}
140extern "C" {
141    pub fn METIS_NodeRefine(
142        nvtxs: idx_t,
143        xadj: *mut idx_t,
144        vwgt: *mut idx_t,
145        adjncy: *mut idx_t,
146        where_: *mut idx_t,
147        hmarker: *mut idx_t,
148        ubfactor: real_t,
149    ) -> ::std::os::raw::c_int;
150}
151extern "C" {
152    pub fn METIS_CacheFriendlyReordering(
153        nvtxs: idx_t,
154        xadj: *mut idx_t,
155        adjncy: *mut idx_t,
156        part: *mut idx_t,
157        old2new: *mut idx_t,
158    ) -> ::std::os::raw::c_int;
159}
160#[doc = "< Returned normally"]
161pub const rstatus_et_METIS_OK: rstatus_et = 1;
162#[doc = "< Returned due to erroneous inputs and/or options"]
163pub const rstatus_et_METIS_ERROR_INPUT: rstatus_et = -2;
164#[doc = "< Returned due to insufficient memory"]
165pub const rstatus_et_METIS_ERROR_MEMORY: rstatus_et = -3;
166#[doc = "< Some other errors"]
167pub const rstatus_et_METIS_ERROR: rstatus_et = -4;
168#[doc = " Return codes"]
169pub type rstatus_et = ::std::os::raw::c_int;
170pub const moptype_et_METIS_OP_PMETIS: moptype_et = 0;
171pub const moptype_et_METIS_OP_KMETIS: moptype_et = 1;
172pub const moptype_et_METIS_OP_OMETIS: moptype_et = 2;
173#[doc = " Operation type codes"]
174pub type moptype_et = ::std::os::raw::c_int;
175pub const moptions_et_METIS_OPTION_PTYPE: moptions_et = 0;
176pub const moptions_et_METIS_OPTION_OBJTYPE: moptions_et = 1;
177pub const moptions_et_METIS_OPTION_CTYPE: moptions_et = 2;
178pub const moptions_et_METIS_OPTION_IPTYPE: moptions_et = 3;
179pub const moptions_et_METIS_OPTION_RTYPE: moptions_et = 4;
180pub const moptions_et_METIS_OPTION_DBGLVL: moptions_et = 5;
181pub const moptions_et_METIS_OPTION_NIPARTS: moptions_et = 6;
182pub const moptions_et_METIS_OPTION_NITER: moptions_et = 7;
183pub const moptions_et_METIS_OPTION_NCUTS: moptions_et = 8;
184pub const moptions_et_METIS_OPTION_SEED: moptions_et = 9;
185pub const moptions_et_METIS_OPTION_ONDISK: moptions_et = 10;
186pub const moptions_et_METIS_OPTION_MINCONN: moptions_et = 11;
187pub const moptions_et_METIS_OPTION_CONTIG: moptions_et = 12;
188pub const moptions_et_METIS_OPTION_COMPRESS: moptions_et = 13;
189pub const moptions_et_METIS_OPTION_CCORDER: moptions_et = 14;
190pub const moptions_et_METIS_OPTION_PFACTOR: moptions_et = 15;
191pub const moptions_et_METIS_OPTION_NSEPS: moptions_et = 16;
192pub const moptions_et_METIS_OPTION_UFACTOR: moptions_et = 17;
193pub const moptions_et_METIS_OPTION_NUMBERING: moptions_et = 18;
194pub const moptions_et_METIS_OPTION_DROPEDGES: moptions_et = 19;
195pub const moptions_et_METIS_OPTION_NO2HOP: moptions_et = 20;
196pub const moptions_et_METIS_OPTION_TWOHOP: moptions_et = 21;
197pub const moptions_et_METIS_OPTION_FAST: moptions_et = 22;
198pub const moptions_et_METIS_OPTION_HELP: moptions_et = 23;
199pub const moptions_et_METIS_OPTION_TPWGTS: moptions_et = 24;
200pub const moptions_et_METIS_OPTION_NCOMMON: moptions_et = 25;
201pub const moptions_et_METIS_OPTION_NOOUTPUT: moptions_et = 26;
202pub const moptions_et_METIS_OPTION_BALANCE: moptions_et = 27;
203pub const moptions_et_METIS_OPTION_GTYPE: moptions_et = 28;
204pub const moptions_et_METIS_OPTION_UBVEC: moptions_et = 29;
205#[doc = " Options codes (i.e., options[])"]
206pub type moptions_et = ::std::os::raw::c_int;
207pub const mptype_et_METIS_PTYPE_RB: mptype_et = 0;
208pub const mptype_et_METIS_PTYPE_KWAY: mptype_et = 1;
209#[doc = " Partitioning Schemes"]
210pub type mptype_et = ::std::os::raw::c_int;
211pub const mgtype_et_METIS_GTYPE_DUAL: mgtype_et = 0;
212pub const mgtype_et_METIS_GTYPE_NODAL: mgtype_et = 1;
213#[doc = " Graph types for meshes"]
214pub type mgtype_et = ::std::os::raw::c_int;
215pub const mctype_et_METIS_CTYPE_RM: mctype_et = 0;
216pub const mctype_et_METIS_CTYPE_SHEM: mctype_et = 1;
217#[doc = " Coarsening Schemes"]
218pub type mctype_et = ::std::os::raw::c_int;
219pub const miptype_et_METIS_IPTYPE_GROW: miptype_et = 0;
220pub const miptype_et_METIS_IPTYPE_RANDOM: miptype_et = 1;
221pub const miptype_et_METIS_IPTYPE_EDGE: miptype_et = 2;
222pub const miptype_et_METIS_IPTYPE_NODE: miptype_et = 3;
223pub const miptype_et_METIS_IPTYPE_METISRB: miptype_et = 4;
224#[doc = " Initial partitioning schemes"]
225pub type miptype_et = ::std::os::raw::c_int;
226pub const mrtype_et_METIS_RTYPE_FM: mrtype_et = 0;
227pub const mrtype_et_METIS_RTYPE_GREEDY: mrtype_et = 1;
228pub const mrtype_et_METIS_RTYPE_SEP2SIDED: mrtype_et = 2;
229pub const mrtype_et_METIS_RTYPE_SEP1SIDED: mrtype_et = 3;
230#[doc = " Refinement schemes"]
231pub type mrtype_et = ::std::os::raw::c_int;
232#[doc = "< Shows various diagnostic messages"]
233pub const mdbglvl_et_METIS_DBG_INFO: mdbglvl_et = 1;
234#[doc = "< Perform timing analysis"]
235pub const mdbglvl_et_METIS_DBG_TIME: mdbglvl_et = 2;
236#[doc = "< Show the coarsening progress"]
237pub const mdbglvl_et_METIS_DBG_COARSEN: mdbglvl_et = 4;
238#[doc = "< Show the refinement progress"]
239pub const mdbglvl_et_METIS_DBG_REFINE: mdbglvl_et = 8;
240#[doc = "< Show info on initial partitioning"]
241pub const mdbglvl_et_METIS_DBG_IPART: mdbglvl_et = 16;
242#[doc = "< Show info on vertex moves during refinement"]
243pub const mdbglvl_et_METIS_DBG_MOVEINFO: mdbglvl_et = 32;
244#[doc = "< Show info on vertex moves during sep refinement"]
245pub const mdbglvl_et_METIS_DBG_SEPINFO: mdbglvl_et = 64;
246#[doc = "< Show info on minimization of subdomain connectivity"]
247pub const mdbglvl_et_METIS_DBG_CONNINFO: mdbglvl_et = 128;
248#[doc = "< Show info on elimination of connected components"]
249pub const mdbglvl_et_METIS_DBG_CONTIGINFO: mdbglvl_et = 256;
250#[doc = "< Show info related to wspace allocation"]
251pub const mdbglvl_et_METIS_DBG_MEMORY: mdbglvl_et = 2048;
252#[doc = " Debug Levels"]
253pub type mdbglvl_et = ::std::os::raw::c_int;
254pub const mobjtype_et_METIS_OBJTYPE_CUT: mobjtype_et = 0;
255pub const mobjtype_et_METIS_OBJTYPE_VOL: mobjtype_et = 1;
256pub const mobjtype_et_METIS_OBJTYPE_NODE: mobjtype_et = 2;
257pub type mobjtype_et = ::std::os::raw::c_int;