24 int i, ii, j, nvtxs, cnvtxs, maxidx;
25 idxtype *xadj, *vwgt, *adjncy, *adjwgt;
43 for (ii=0; ii<nvtxs; ii++) {
50 for (j=xadj[i]; j<xadj[i+1]; j++) {
51 if (match[adjncy[j]] ==
UNMATCHED && vwgt[i]+vwgt[adjncy[j]] <= ctrl->
maxvwgt) {
57 cmap[i] = cmap[maxidx] = cnvtxs++;
77 int i, ii, j, nvtxs, cnvtxs, maxidx;
94 for (ii=0; ii<nvtxs; ii++) {
101 for (j=xadj[i]; j<xadj[i+1]; j++) {
108 cmap[i] = cmap[maxidx] = cnvtxs++;
129 int i, ii, j, k, nvtxs, cnvtxs, maxidx, maxwgt;
130 idxtype *xadj, *vwgt, *adjncy, *adjwgt;
135 nvtxs = graph->
nvtxs;
148 for (ii=0; ii<nvtxs; ii++) {
156 for (j=xadj[i]; j<xadj[i+1]; j++) {
158 if (match[k] ==
UNMATCHED && maxwgt < adjwgt[j] && vwgt[i]+vwgt[k] <= ctrl->
maxvwgt) {
164 cmap[i] = cmap[maxidx] = cnvtxs++;
185 int i, ii, j, k, nvtxs, cnvtxs, maxidx, maxwgt, avgdegree;
186 idxtype *xadj, *vwgt, *adjncy, *adjwgt;
187 idxtype *match, *cmap, *degrees, *perm, *tperm;
191 nvtxs = graph->
nvtxs;
205 avgdegree = 0.7*(xadj[nvtxs]/nvtxs);
206 for (i=0; i<nvtxs; i++)
207 degrees[i] = (xadj[i+1]-xadj[i] > avgdegree ? avgdegree : xadj[i+1]-xadj[i]);
213 for (ii=0; ii<nvtxs; ii++) {
217 if (xadj[i] < xadj[i+1])
221 for (j=nvtxs-1; j>ii; j--) {
223 if (match[k] ==
UNMATCHED && xadj[k] < xadj[k+1]) {
229 cmap[i] = cmap[maxidx] = cnvtxs++;
236 for (; ii<nvtxs; ii++) {
244 for (j=xadj[i]; j<xadj[i+1]; j++) {
245 if (match[adjncy[j]] ==
UNMATCHED && maxwgt < adjwgt[j] && vwgt[i]+vwgt[adjncy[j]] <= ctrl->
maxvwgt) {
251 cmap[i] = cmap[maxidx] = cnvtxs++;
#define CreateCoarseGraph_NVW
#define BucketSortKeysInc
#define IFSET(a, flag, cmd)
#define CreateCoarseGraph