115 for (i = 0; i < nvtx; i++)
129 PORD_INT *map, *intvertex, *intcolor, *b_intvertex, *w_intvertex;
130 PORD_INT nvint, b_nvint, w_nvint, u, i;
142 for (u = 0; u < nd->
nvint; u++)
164 b_nvint = w_nvint = 0;
168 for (i = 0; i < nvint; i++)
170 intcolor[i] = Gbisect->
color[map[u]];
173 case BLACK: b_nvint++;
break;
174 case WHITE: w_nvint++;
break;
176 fprintf(stderr,
"\nError in function splitNDnode\n"
177 " node %d has unrecognized color %d\n", u, intcolor[i]);
190 b_nvint = w_nvint = 0;
191 for (i = 0; i < nvint; i++)
193 if (intcolor[i] ==
BLACK) b_intvertex[b_nvint++] = u;
194 if (intcolor[i] ==
WHITE) w_intvertex[w_nvint++] = u;
216 PORD_INT maxseps, seps, domainsize, qhead, qtail;
226 qhead = 0; qtail = 1; seps = 0;
227 while ((qhead != qtail) && (seps < maxseps))
233 { fprintf(stderr,
"\nError in function buildNDtree\n"
234 " recursive nested dissection process failed\n");
239 printf(
"%4d. S %6d, B %6d, W %6d [bal %4.2f, rel %6.4f, cost %7.2f]\n",
249 queue[qtail++] = nd->
childB;
252 queue[qtail++] = nd->
childW;
270 if ((parent == NULL) || (parent->
childB == NULL)
271 || (parent->
childW == NULL))
272 { fprintf(stderr,
"\nError in function removeNDtree\n"
273 " nested dissection tree corrupted\n");
#define OPTION_DOMAIN_SIZE
#define pord_starttimer(var)
#define pord_stoptimer(var)
#define mymalloc(ptr, nr, type)
void freeNDtree(nestdiss_t *ndroot)
void buildNDtree(nestdiss_t *ndroot, options_t *options, timings_t *cpus)
void freeNDnode(nestdiss_t *nd)
void splitNDnode(nestdiss_t *nd, options_t *options, timings_t *cpus)
nestdiss_t * newNDnode(graph_t *G, PORD_INT *map, PORD_INT nvint)
nestdiss_t * setupNDroot(graph_t *G, PORD_INT *map)
void constructSeparator(gbisect_t *, options_t *, timings_t *)
graph_t * setupSubgraph(graph_t *, PORD_INT *, PORD_INT, PORD_INT *)
void freeGraph(graph_t *)
void smoothSeparator(gbisect_t *, options_t *)
gbisect_t * newGbisect(graph_t *)
void freeGbisect(gbisect_t *)
struct _nestdiss * parent
struct _nestdiss * childB
struct _nestdiss * childW
struct _nestdiss nestdiss_t
struct _gbisect gbisect_t