Ap = A.p; Ai = A.i; Dcs_util.CS_MARK(w, k); /* mark node k as visited */ for (p = Ap[k]; p < Ap[k + 1]; p++) { Dcs_util.CS_MARK(w, i); /* mark i as visited */ Dcs_util.CS_MARK(w, s[s_offset + p]); /* unmark all nodes */ Dcs_util.CS_MARK(w, k); /* unmark node k */ return (top); /* s [top..n-1] contains pattern of L(k,:)*/
Dcs_util.CS_MARK(Gp, j); /* mark node j as visited */ pstack[pstack_offset + head] = (jnew < 0) ? 0 : Dcs_util.CS_UNFLIP(Gp[jnew]);
Dcs_util.CS_MARK(Gp, xi[p]); /* restore G */ return (top);
Dcs_util.CS_MARK(Ap, i); /* restore A; unmark all nodes*/ top = n; nb = n;