00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "metislib.h"
00015
00016 #define FRENAME(name, dargs, cargs, name1, name2, name3, name4) \
00017 int name1 dargs { return name cargs; } \
00018 int name2 dargs { return name cargs; } \
00019 int name3 dargs { return name cargs; } \
00020 int name4 dargs { return name cargs; }
00021
00022
00023 FRENAME(
00024 METIS_PartGraphRecursive,
00025 (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt,
00026 idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts,
00027 real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part),
00028 (nvtxs, ncon, xadj, adjncy, vwgt,
00029 vsize, adjwgt, nparts, tpwgts,
00030 ubvec, options, edgecut, part),
00031 METIS_PARTGRAPHRECURSIVE,
00032 metis_partgraphrecursive,
00033 metis_partgraphrecursive_,
00034 metis_partgraphrecursive__
00035 )
00036
00037
00038 FRENAME(
00039 METIS_PartGraphKway,
00040 (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt,
00041 idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts,
00042 real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part),
00043 (nvtxs, ncon, xadj, adjncy, vwgt,
00044 vsize, adjwgt, nparts, tpwgts,
00045 ubvec, options, edgecut, part),
00046 METIS_PARTGRAPHKWAY,
00047 metis_partgraphkway,
00048 metis_partgraphkway_,
00049 metis_partgraphkway__
00050 )
00051
00052 FRENAME(
00053 METIS_MeshToDual,
00054 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *ncommon, idx_t *numflag,
00055 idx_t **r_xadj, idx_t **r_adjncy),
00056 (ne, nn, eptr, eind, ncommon, numflag, r_xadj, r_adjncy),
00057 METIS_MESHTODUAL,
00058 metis_meshtodual,
00059 metis_meshtodual_,
00060 metis_meshtodual__
00061 )
00062
00063
00064 FRENAME(
00065 METIS_MeshToNodal,
00066 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *numflag, idx_t **r_xadj,
00067 idx_t **r_adjncy),
00068 (ne, nn, eptr, eind, numflag, r_xadj, r_adjncy),
00069 METIS_MESHTONODAL,
00070 metis_meshtonodal,
00071 metis_meshtonodal_,
00072 metis_meshtonodal__
00073 )
00074
00075
00076 FRENAME(
00077 METIS_PartMeshNodal,
00078 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *vwgt, idx_t *vsize,
00079 idx_t *nparts, real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart,
00080 idx_t *npart),
00081 (ne, nn, eptr, eind, vwgt, vsize, nparts, tpwgts, options, objval, epart, npart),
00082 METIS_PARTMESHNODAL,
00083 metis_partmeshnodal,
00084 metis_partmeshnodal_,
00085 metis_partmeshnodal__
00086 )
00087
00088
00089 FRENAME(
00090 METIS_PartMeshDual,
00091 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *vwgt, idx_t *vsize,
00092 idx_t *ncommon, idx_t *nparts, real_t *tpwgts, idx_t *options, idx_t *objval,
00093 idx_t *epart, idx_t *npart),
00094 (ne, nn, eptr, eind, vwgt, vsize, ncommon, nparts, tpwgts, options, objval, epart, npart),
00095 METIS_PARTMESHDUAL,
00096 metis_partmeshdual,
00097 metis_partmeshdual_,
00098 metis_partmeshdual__
00099 )
00100
00101
00102 FRENAME(
00103 METIS_NodeND,
00104 (idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *options, idx_t *perm,
00105 idx_t *iperm),
00106 (nvtxs, xadj, adjncy, vwgt, options, perm, iperm),
00107 METIS_NODEND,
00108 metis_nodend,
00109 metis_nodend_,
00110 metis_nodend__
00111 )
00112
00113
00114 FRENAME(
00115 METIS_Free,
00116 (void *ptr),
00117 (ptr),
00118 METIS_FREE,
00119 metis_free,
00120 metis_free_,
00121 metis_free__
00122 )
00123
00124
00125 FRENAME(
00126 METIS_SetDefaultOptions,
00127 (idx_t *options),
00128 (options),
00129 METIS_SETDEFAULTOPTIONS,
00130 metis_setdefaultoptions,
00131 metis_setdefaultoptions_,
00132 metis_setdefaultoptions__
00133 )
00134
00135
00136