Lines Matching defs:head
64 Index cs_tdfs(Index j, Index k, Index *head, const Index *next, Index *post, Index *stack)
67 if(!head || !next || !post || !stack) return (-1); /* check inputs */
72 i = head[p]; /* i = youngest child of p */
80 head[p] = next[i]; /* remove i from children of p */
117 Index* head = W + 3*(n+1);
134 head[i] = -1; // degree list i is empty
169 if(head[d] != -1) last[head[d]] = i;
170 next[i] = head[d]; /* put node i in degree list d */
171 head[d] = i;
178 for(k = -1; mindeg < n && (k = head[mindeg]) == -1; mindeg++) {}
180 head[mindeg] = next[k]; /* remove k from degree list */
242 head[degree[i]] = next[i];
390 if(head[d] != -1) last[head[d]] = i;
391 next[i] = head[d]; /* put i back in degree list */
393 head[d] = i;
409 for(j = 0; j <= n; j++) head[j] = -1;
413 next[j] = head[Cp[j]]; /* place j in list of its parent */
414 head[Cp[j]] = j;
421 next[e] = head[Cp[e]]; /* place e in list of its parent */
422 head[Cp[e]] = e;
427 if(Cp[i] == -1) k = internal::cs_tdfs<Index>(i, k, head, next, perm.indices().data(), w);