INNER CODE UNIT · JavaScript

cec

lh3/pangene · pangene.js:654

		let cec = 1; // cycle equivalent class; class 0 is reserved for tree edges not in cycles
		for (let t = v_dis.length - 1; t >= 0; --t) {
			const v = v_dis[t];
			const n = this.idx[v].n, off = this.idx[v].o;

			// compute hi0, the earliest discovery time among back edges
			let hi0 = this.n_node;
			for (let i = 0; i < n; ++i) { // traverse back edges
				if (this.arc[off + i].dfs_type !== 2) continue;
				const w = this.arc[off + i].w;
				if (v === w) continue;
				hi0 = hi0 < this.dfs_dis[w]? hi0 : this.dfs_dis[w];
			}

			// compute hi1 and hi2, the earliest and the second earliest time among descendants
			let hi1 = this.n_node, hi2 = this.n_node;
			let blist = new LinkedList(); // initial bracket list
			for (let i = 0; i < n; ++i) { // traverse tree edges

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…