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