1 | /*!\file: chaco.h
|
---|
2 | * \brief prototypes for chaco library
|
---|
3 | */
|
---|
4 |
|
---|
5 | #ifndef _CHACO_INCLUDES_H_
|
---|
6 | #define _CHACO_INCLUDES_H_
|
---|
7 |
|
---|
8 | #include "./defs.h"
|
---|
9 | #include "./params.h"
|
---|
10 |
|
---|
11 | extern "C" int interface( int nvtxs, /* number of vertices in full graph */
|
---|
12 | int *start, /* start of edge list for each vertex */
|
---|
13 | int *adjacency, /* edge list data */
|
---|
14 | int *vwgts, /* weights for all vertices */
|
---|
15 | float *ewgts, /* weights for all edges */
|
---|
16 | float *x,
|
---|
17 | float *y,
|
---|
18 | float *z, /* coordinates for inertial method */
|
---|
19 | char *outassignname, /* name of assignment output file */
|
---|
20 | char *outfilename, /* output file name */
|
---|
21 | short *assignment, /* set number of each vtx (length n) */
|
---|
22 | int architecture, /* 0 => hypercube, d => d-dimensional mesh */
|
---|
23 | int ndims_tot, /* total number of cube dimensions to divide */
|
---|
24 | int mesh_dims[3], /* dimensions of mesh of processors */
|
---|
25 | double *goal, /* desired set sizes for each set */
|
---|
26 | int global_method, /* global partitioning algorithm */
|
---|
27 | int local_method, /* local partitioning algorithm */
|
---|
28 | int rqi_flag, /* should I use RQI/Symmlq eigensolver? */
|
---|
29 | int vmax, /* how many vertices to coarsen down to? */
|
---|
30 | int ndims, /* number of eigenvectors (2^d sets) */
|
---|
31 | double eigtol, /* tolerance on eigenvectors */
|
---|
32 | long seed); /* for random graph mutations */
|
---|
33 |
|
---|
34 | extern "C" void read_params(FILE* pfile); /* file with new user parameters */
|
---|
35 | extern "C" void smalloc_stats(void);
|
---|
36 | extern "C" double* smalloc(unsigned int n); /* number of bytes to be allocated */
|
---|
37 |
|
---|
38 | #endif //ifndef _CHACO_INCLUDES_H_
|
---|
39 |
|
---|