Bug #1267: Integrate METIS graph partitioning library
[charm.git] / src / libs / ck-libs / metis / programs / proto.h
blob1e9e6d5f19efbddafe6f35245853a9b95164d54a
1 /*
2 * proto.h
4 * This file contains function prototypes
6 * Started 11/1/99
7 * George
9 * $Id: proto.h 10513 2011-07-07 22:06:03Z karypis $
13 #ifndef _PROTOBIN_H_
14 #define _PROTOBIN_H_
17 /* io.c */
18 graph_t *ReadGraph(params_t *);
19 mesh_t *ReadMesh(params_t *);
20 void ReadTPwgts(params_t *params, idx_t ncon);
21 void ReadPOVector(graph_t *graph, char *filename, idx_t *vector);
22 void WritePartition(char *, idx_t *, idx_t, idx_t);
23 void WriteMeshPartition(char *, idx_t, idx_t, idx_t *, idx_t, idx_t *);
24 void WritePermutation(char *, idx_t *, idx_t);
25 void WriteGraph(graph_t *graph, char *filename);
28 /* smbfactor.c */
29 void ComputeFillIn(graph_t *graph, idx_t *perm, idx_t *iperm,
30 size_t *r_maxlnz, size_t *r_opc);
31 idx_t smbfct(idx_t neqns, idx_t *xadj, idx_t *adjncy, idx_t *perm,
32 idx_t *invp, idx_t *xlnz, idx_t *maxlnz, idx_t *xnzsub,
33 idx_t *nzsub, idx_t *maxsub);
36 /* cmdline.c */
37 params_t *parse_cmdline(int argc, char *argv[]);
39 /* gpmetis.c */
40 void GPPrintInfo(params_t *params, graph_t *graph);
41 void GPReportResults(params_t *params, graph_t *graph, idx_t *part, idx_t edgecut);
43 /* ndmetis.c */
44 void NDPrintInfo(params_t *params, graph_t *graph);
45 void NDReportResults(params_t *params, graph_t *graph, idx_t *perm, idx_t *iperm);
47 /* mpmetis.c */
48 void MPPrintInfo(params_t *params, mesh_t *mesh);
49 void MPReportResults(params_t *params, mesh_t *mesh, idx_t *epart, idx_t *npart,
50 idx_t edgecut);
52 /* m2gmetis.c */
53 void M2GPrintInfo(params_t *params, mesh_t *mesh);
54 void M2GReportResults(params_t *params, mesh_t *mesh, graph_t *graph);
56 /* stat.c */
57 void ComputePartitionInfo(params_t *params, graph_t *graph, idx_t *where);
60 #endif