/* automatically generated by rust-bindgen 0.66.1 */ pub const METIS_VER_MAJOR: u32 = 5; pub const METIS_VER_MINOR: u32 = 2; pub const METIS_VER_SUBMINOR: u32 = 1; pub const METIS_NOPTIONS: u32 = 40; pub type idx_t = i32; pub type real_t = f32; extern "C" { pub fn METIS_PartGraphRecursive( nvtxs: *mut idx_t, ncon: *mut idx_t, xadj: *mut idx_t, adjncy: *mut idx_t, vwgt: *mut idx_t, vsize: *mut idx_t, adjwgt: *mut idx_t, nparts: *mut idx_t, tpwgts: *mut real_t, ubvec: *mut real_t, options: *mut idx_t, edgecut: *mut idx_t, part: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_PartGraphKway( nvtxs: *mut idx_t, ncon: *mut idx_t, xadj: *mut idx_t, adjncy: *mut idx_t, vwgt: *mut idx_t, vsize: *mut idx_t, adjwgt: *mut idx_t, nparts: *mut idx_t, tpwgts: *mut real_t, ubvec: *mut real_t, options: *mut idx_t, edgecut: *mut idx_t, part: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_MeshToDual( ne: *mut idx_t, nn: *mut idx_t, eptr: *mut idx_t, eind: *mut idx_t, ncommon: *mut idx_t, numflag: *mut idx_t, r_xadj: *mut *mut idx_t, r_adjncy: *mut *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_MeshToNodal( ne: *mut idx_t, nn: *mut idx_t, eptr: *mut idx_t, eind: *mut idx_t, numflag: *mut idx_t, r_xadj: *mut *mut idx_t, r_adjncy: *mut *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_PartMeshNodal( ne: *mut idx_t, nn: *mut idx_t, eptr: *mut idx_t, eind: *mut idx_t, vwgt: *mut idx_t, vsize: *mut idx_t, nparts: *mut idx_t, tpwgts: *mut real_t, options: *mut idx_t, objval: *mut idx_t, epart: *mut idx_t, npart: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_PartMeshDual( ne: *mut idx_t, nn: *mut idx_t, eptr: *mut idx_t, eind: *mut idx_t, vwgt: *mut idx_t, vsize: *mut idx_t, ncommon: *mut idx_t, nparts: *mut idx_t, tpwgts: *mut real_t, options: *mut idx_t, objval: *mut idx_t, epart: *mut idx_t, npart: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_NodeND( nvtxs: *mut idx_t, xadj: *mut idx_t, adjncy: *mut idx_t, vwgt: *mut idx_t, options: *mut idx_t, perm: *mut idx_t, iperm: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_Free(ptr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_SetDefaultOptions(options: *mut idx_t) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_NodeNDP( nvtxs: idx_t, xadj: *mut idx_t, adjncy: *mut idx_t, vwgt: *mut idx_t, npes: idx_t, options: *mut idx_t, perm: *mut idx_t, iperm: *mut idx_t, sizes: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_ComputeVertexSeparator( nvtxs: *mut idx_t, xadj: *mut idx_t, adjncy: *mut idx_t, vwgt: *mut idx_t, options: *mut idx_t, sepsize: *mut idx_t, part: *mut idx_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_NodeRefine( nvtxs: idx_t, xadj: *mut idx_t, vwgt: *mut idx_t, adjncy: *mut idx_t, where_: *mut idx_t, hmarker: *mut idx_t, ubfactor: real_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn METIS_CacheFriendlyReordering( nvtxs: idx_t, xadj: *mut idx_t, adjncy: *mut idx_t, part: *mut idx_t, old2new: *mut idx_t, ) -> ::std::os::raw::c_int; } #[doc = "< Returned normally"] pub const rstatus_et_METIS_OK: rstatus_et = 1; #[doc = "< Returned due to erroneous inputs and/or options"] pub const rstatus_et_METIS_ERROR_INPUT: rstatus_et = -2; #[doc = "< Returned due to insufficient memory"] pub const rstatus_et_METIS_ERROR_MEMORY: rstatus_et = -3; #[doc = "< Some other errors"] pub const rstatus_et_METIS_ERROR: rstatus_et = -4; #[doc = " Return codes"] pub type rstatus_et = ::std::os::raw::c_int; pub const moptype_et_METIS_OP_PMETIS: moptype_et = 0; pub const moptype_et_METIS_OP_KMETIS: moptype_et = 1; pub const moptype_et_METIS_OP_OMETIS: moptype_et = 2; #[doc = " Operation type codes"] pub type moptype_et = ::std::os::raw::c_int; pub const moptions_et_METIS_OPTION_PTYPE: moptions_et = 0; pub const moptions_et_METIS_OPTION_OBJTYPE: moptions_et = 1; pub const moptions_et_METIS_OPTION_CTYPE: moptions_et = 2; pub const moptions_et_METIS_OPTION_IPTYPE: moptions_et = 3; pub const moptions_et_METIS_OPTION_RTYPE: moptions_et = 4; pub const moptions_et_METIS_OPTION_DBGLVL: moptions_et = 5; pub const moptions_et_METIS_OPTION_NIPARTS: moptions_et = 6; pub const moptions_et_METIS_OPTION_NITER: moptions_et = 7; pub const moptions_et_METIS_OPTION_NCUTS: moptions_et = 8; pub const moptions_et_METIS_OPTION_SEED: moptions_et = 9; pub const moptions_et_METIS_OPTION_ONDISK: moptions_et = 10; pub const moptions_et_METIS_OPTION_MINCONN: moptions_et = 11; pub const moptions_et_METIS_OPTION_CONTIG: moptions_et = 12; pub const moptions_et_METIS_OPTION_COMPRESS: moptions_et = 13; pub const moptions_et_METIS_OPTION_CCORDER: moptions_et = 14; pub const moptions_et_METIS_OPTION_PFACTOR: moptions_et = 15; pub const moptions_et_METIS_OPTION_NSEPS: moptions_et = 16; pub const moptions_et_METIS_OPTION_UFACTOR: moptions_et = 17; pub const moptions_et_METIS_OPTION_NUMBERING: moptions_et = 18; pub const moptions_et_METIS_OPTION_DROPEDGES: moptions_et = 19; pub const moptions_et_METIS_OPTION_NO2HOP: moptions_et = 20; pub const moptions_et_METIS_OPTION_TWOHOP: moptions_et = 21; pub const moptions_et_METIS_OPTION_FAST: moptions_et = 22; pub const moptions_et_METIS_OPTION_HELP: moptions_et = 23; pub const moptions_et_METIS_OPTION_TPWGTS: moptions_et = 24; pub const moptions_et_METIS_OPTION_NCOMMON: moptions_et = 25; pub const moptions_et_METIS_OPTION_NOOUTPUT: moptions_et = 26; pub const moptions_et_METIS_OPTION_BALANCE: moptions_et = 27; pub const moptions_et_METIS_OPTION_GTYPE: moptions_et = 28; pub const moptions_et_METIS_OPTION_UBVEC: moptions_et = 29; #[doc = " Options codes (i.e., options[])"] pub type moptions_et = ::std::os::raw::c_int; pub const mptype_et_METIS_PTYPE_RB: mptype_et = 0; pub const mptype_et_METIS_PTYPE_KWAY: mptype_et = 1; #[doc = " Partitioning Schemes"] pub type mptype_et = ::std::os::raw::c_int; pub const mgtype_et_METIS_GTYPE_DUAL: mgtype_et = 0; pub const mgtype_et_METIS_GTYPE_NODAL: mgtype_et = 1; #[doc = " Graph types for meshes"] pub type mgtype_et = ::std::os::raw::c_int; pub const mctype_et_METIS_CTYPE_RM: mctype_et = 0; pub const mctype_et_METIS_CTYPE_SHEM: mctype_et = 1; #[doc = " Coarsening Schemes"] pub type mctype_et = ::std::os::raw::c_int; pub const miptype_et_METIS_IPTYPE_GROW: miptype_et = 0; pub const miptype_et_METIS_IPTYPE_RANDOM: miptype_et = 1; pub const miptype_et_METIS_IPTYPE_EDGE: miptype_et = 2; pub const miptype_et_METIS_IPTYPE_NODE: miptype_et = 3; pub const miptype_et_METIS_IPTYPE_METISRB: miptype_et = 4; #[doc = " Initial partitioning schemes"] pub type miptype_et = ::std::os::raw::c_int; pub const mrtype_et_METIS_RTYPE_FM: mrtype_et = 0; pub const mrtype_et_METIS_RTYPE_GREEDY: mrtype_et = 1; pub const mrtype_et_METIS_RTYPE_SEP2SIDED: mrtype_et = 2; pub const mrtype_et_METIS_RTYPE_SEP1SIDED: mrtype_et = 3; #[doc = " Refinement schemes"] pub type mrtype_et = ::std::os::raw::c_int; #[doc = "< Shows various diagnostic messages"] pub const mdbglvl_et_METIS_DBG_INFO: mdbglvl_et = 1; #[doc = "< Perform timing analysis"] pub const mdbglvl_et_METIS_DBG_TIME: mdbglvl_et = 2; #[doc = "< Show the coarsening progress"] pub const mdbglvl_et_METIS_DBG_COARSEN: mdbglvl_et = 4; #[doc = "< Show the refinement progress"] pub const mdbglvl_et_METIS_DBG_REFINE: mdbglvl_et = 8; #[doc = "< Show info on initial partitioning"] pub const mdbglvl_et_METIS_DBG_IPART: mdbglvl_et = 16; #[doc = "< Show info on vertex moves during refinement"] pub const mdbglvl_et_METIS_DBG_MOVEINFO: mdbglvl_et = 32; #[doc = "< Show info on vertex moves during sep refinement"] pub const mdbglvl_et_METIS_DBG_SEPINFO: mdbglvl_et = 64; #[doc = "< Show info on minimization of subdomain connectivity"] pub const mdbglvl_et_METIS_DBG_CONNINFO: mdbglvl_et = 128; #[doc = "< Show info on elimination of connected components"] pub const mdbglvl_et_METIS_DBG_CONTIGINFO: mdbglvl_et = 256; #[doc = "< Show info related to wspace allocation"] pub const mdbglvl_et_METIS_DBG_MEMORY: mdbglvl_et = 2048; #[doc = " Debug Levels"] pub type mdbglvl_et = ::std::os::raw::c_int; pub const mobjtype_et_METIS_OBJTYPE_CUT: mobjtype_et = 0; pub const mobjtype_et_METIS_OBJTYPE_VOL: mobjtype_et = 1; pub const mobjtype_et_METIS_OBJTYPE_NODE: mobjtype_et = 2; pub type mobjtype_et = ::std::os::raw::c_int;