33 #define IDXTYPEWIDTH 32 43 #define REALTYPEWIDTH 32 76 #define INT32_MIN ((int32_t)_I32_MIN) 80 #define INT32_MAX _I32_MAX 84 #define INT64_MIN ((int64_t)_I64_MIN) 88 #define INT64_MAX _I64_MAX 100 #if IDXTYPEWIDTH == 32 103 #define IDX_MAX INT32_MAX 104 #define IDX_MIN INT32_MIN 109 #define strtoidx strtol 111 #elif IDXTYPEWIDTH == 64 114 #define IDX_MAX INT64_MAX 115 #define IDX_MIN INT64_MIN 121 #define strtoidx _strtoi64 123 #define strtoidx strtoll 127 #error "Incorrect user-supplied value fo IDXTYPEWIDTH" 131 #if REALTYPEWIDTH == 32 136 #define REAL_MAX FLT_MAX 137 #define REAL_MIN FLT_MIN 138 #define REAL_EPSILON FLT_EPSILON 141 #define REALEQ(x,y) ((rabs((x)-(y)) <= FLT_EPSILON)) 144 #define strtoreal (float)strtod 146 #define strtoreal strtof 148 #elif REALTYPEWIDTH == 64 153 #define REAL_MAX DBL_MAX 154 #define REAL_MIN DBL_MIN 155 #define REAL_EPSILON DBL_EPSILON 158 #define REALEQ(x,y) ((rabs((x)-(y)) <= DBL_EPSILON)) 160 #define strtoreal strtod 162 #error "Incorrect user-supplied value for REALTYPEWIDTH" 170 #define METIS_VER_MAJOR 5 171 #define METIS_VER_MINOR 1 172 #define METIS_VER_SUBMINOR 0 175 #define METIS_NOPTIONS 40 184 #define METIS_API(type) __declspec(dllexport) type __cdecl 185 #elif defined(__cdecl) 186 #define METIS_API(type) type __cdecl 188 #define METIS_API(type) type
idx_t idx_t idx_t idx_t * vwgt
idx_t idx_t idx_t idx_t * ncommon
idx_t idx_t idx_t idx_t idx_t * sepsize
idx_t idx_t idx_t idx_t idx_t idx_t idx_t real_t real_t idx_t idx_t idx_t * part
idx_t idx_t idx_t idx_t idx_t idx_t idx_t idx_t * sizes
idx_t idx_t idx_t idx_t idx_t * hmarker
int METIS_Free(void *ptr)
idx_t idx_t idx_t idx_t idx_t real_t ubfactor
idx_t idx_t idx_t idx_t idx_t idx_t real_t idx_t idx_t idx_t * epart
idx_t idx_t idx_t idx_t idx_t idx_t idx_t * nparts
int METIS_ComputeVertexSeparator(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *options, idx_t *r_sepsize, idx_t *part)
idx_t idx_t idx_t idx_t idx_t idx_t * iperm
int METIS_SetDefaultOptions(idx_t *options)
int METIS_NodeND(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *options, idx_t *perm, idx_t *iperm)
idx_t idx_t idx_t idx_t idx_t * vsize
int METIS_PartMeshDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *vwgt, idx_t *vsize, idx_t *ncommon, idx_t *nparts, real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, idx_t *npart)
idx_t idx_t idx_t idx_t idx_t idx_t idx_t real_t real_t idx_t idx_t * edgecut
int METIS_PartMeshNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *vwgt, idx_t *vsize, idx_t *nparts, real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, idx_t *npart)
idx_t idx_t idx_t idx_t idx_t idx_t real_t idx_t idx_t * objval
idx_t idx_t idx_t idx_t idx_t idx_t ** r_xadj
idx_t idx_t idx_t idx_t idx_t idx_t real_t idx_t idx_t idx_t idx_t * npart
idx_t idx_t idx_t idx_t idx_t * perm
idx_t idx_t idx_t idx_t idx_t idx_t idx_t real_t real_t * ubvec
idx_t idx_t idx_t idx_t idx_t * numflag
int METIS_MeshToNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy)
idx_t idx_t idx_t idx_t idx_t idx_t idx_t real_t * tpwgts
idx_t idx_t idx_t idx_t idx_t idx_t idx_t ** r_adjncy
idx_t idx_t idx_t idx_t idx_t idx_t * adjwgt
int METIS_NodeNDP(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t npes, idx_t *options, idx_t *perm, idx_t *iperm, idx_t *sizes)
idx_t idx_t idx_t idx_t * where
int METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, idx_t *objval, idx_t *part)
idx_t idx_t idx_t * adjncy
int METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, idx_t *objval, idx_t *part)
Recursive partitioning routine.
idx_t idx_t idx_t idx_t npes
int METIS_MeshToDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *ncommon, idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy)
int METIS_NodeRefine(idx_t nvtxs, idx_t *xadj, idx_t *vwgt, idx_t *adjncy, idx_t *where, idx_t *hmarker, real_t ubfactor)