73 #define BIGBUF 1000000
85 static void freeStk(
stk_t* sp)
151 while ((n =
pop(stk))) {
152 if (
ND_mark(n) == Cmark)
continue;
153 add_to_component(g, n);
159 for (c = 3; c >= 0; c--) {
161 for (i = vec[c].size-1, ep = vec[c].list+i; i >= 0; i--, ep--) {
163 if ((other =
aghead(e)) == n)
182 add_to_component(g, n);
188 for (c = 0; c <= 3; c++) {
190 for (i = 0; (e = vec[c].
list[i]); i++) {
191 if ((other =
aghead(e)) == n)
194 osearch_component(g, other);
208 initStk (&stk, &blk, base,
SMALLBUF);
214 if ((pass > 0) && (subg =
ND_clust(v)))
220 search_component(&stk, g, v);
#define ALLOC(size, ptr, type)
void decompose(graph_t *g, int pass)
int agerr(agerrlevel_t level, const char *fmt,...)
node_t * UF_find(node_t *n)
CGRAPH_API Agnode_t * agtail(Agedge_t *e)
CGRAPH_API Agnode_t * agnxtnode(Agraph_t *g, Agnode_t *n)
CGRAPH_API Agnode_t * aghead(Agedge_t *e)
CGRAPH_API Agnode_t * agfstnode(Agraph_t *g)