1 /* 2 * Copyright 1997, Regents of the University of Minnesota 3 * 4 * Frename.c 5 * 6 * THis file contains some renaming routines to deal with different Fortran compilers 7 * 8 * Started 9/15/97 9 * George 10 * 11 */ 12 13 14 #include "metislib.h" 15 16 #define FRENAME(name, dargs, cargs, name1, name2, name3, name4) \ 17 int name1 dargs { return name cargs; } \ 18 int name2 dargs { return name cargs; } \ 19 int name3 dargs { return name cargs; } \ 20 int name4 dargs { return name cargs; } 21 22 23 FRENAME( 24 METIS_PartGraphRecursive, 25 (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, 26 idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts, 27 real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part), 28 (nvtxs, ncon, xadj, adjncy, vwgt, 29 vsize, adjwgt, nparts, tpwgts, 30 ubvec, options, edgecut, part), 31 METIS_PARTGRAPHRECURSIVE, 32 metis_partgraphrecursive, 33 metis_partgraphrecursive_, 34 metis_partgraphrecursive__ 35 ) 36 37 38 FRENAME( 39 METIS_PartGraphKway, 40 (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, 41 idx_t *vsize, idx_t *adjwgt, idx_t *nparts, real_t *tpwgts, 42 real_t *ubvec, idx_t *options, idx_t *edgecut, idx_t *part), 43 (nvtxs, ncon, xadj, adjncy, vwgt, 44 vsize, adjwgt, nparts, tpwgts, 45 ubvec, options, edgecut, part), 46 METIS_PARTGRAPHKWAY, 47 metis_partgraphkway, 48 metis_partgraphkway_, 49 metis_partgraphkway__ 50 ) 51 52 FRENAME( 53 METIS_MeshToDual, 54 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *ncommon, idx_t *numflag, 55 idx_t **r_xadj, idx_t **r_adjncy), 56 (ne, nn, eptr, eind, ncommon, numflag, r_xadj, r_adjncy), 57 METIS_MESHTODUAL, 58 metis_meshtodual, 59 metis_meshtodual_, 60 metis_meshtodual__ 61 ) 62 63 64 FRENAME( 65 METIS_MeshToNodal, 66 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *numflag, idx_t **r_xadj, 67 idx_t **r_adjncy), 68 (ne, nn, eptr, eind, numflag, r_xadj, r_adjncy), 69 METIS_MESHTONODAL, 70 metis_meshtonodal, 71 metis_meshtonodal_, 72 metis_meshtonodal__ 73 ) 74 75 76 FRENAME( 77 METIS_PartMeshNodal, 78 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *vwgt, idx_t *vsize, 79 idx_t *nparts, real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, 80 idx_t *npart), 81 (ne, nn, eptr, eind, vwgt, vsize, nparts, tpwgts, options, objval, epart, npart), 82 METIS_PARTMESHNODAL, 83 metis_partmeshnodal, 84 metis_partmeshnodal_, 85 metis_partmeshnodal__ 86 ) 87 88 89 FRENAME( 90 METIS_PartMeshDual, 91 (idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, idx_t *vwgt, idx_t *vsize, 92 idx_t *ncommon, idx_t *nparts, real_t *tpwgts, idx_t *options, idx_t *objval, 93 idx_t *epart, idx_t *npart), 94 (ne, nn, eptr, eind, vwgt, vsize, ncommon, nparts, tpwgts, options, objval, epart, npart), 95 METIS_PARTMESHDUAL, 96 metis_partmeshdual, 97 metis_partmeshdual_, 98 metis_partmeshdual__ 99 ) 100 101 102 FRENAME( 103 METIS_NodeND, 104 (idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt, idx_t *options, idx_t *perm, 105 idx_t *iperm), 106 (nvtxs, xadj, adjncy, vwgt, options, perm, iperm), 107 METIS_NODEND, 108 metis_nodend, 109 metis_nodend_, 110 metis_nodend__ 111 ) 112 113 114 FRENAME( 115 METIS_Free, 116 (void *ptr), 117 (ptr), 118 METIS_FREE, 119 metis_free, 120 metis_free_, 121 metis_free__ 122 ) 123 124 125 FRENAME( 126 METIS_SetDefaultOptions, 127 (idx_t *options), 128 (options), 129 METIS_SETDEFAULTOPTIONS, 130 metis_setdefaultoptions, 131 metis_setdefaultoptions_, 132 metis_setdefaultoptions__ 133 ) 134 135 136 137