INNER CODE UNIT · JavaScript
n_vtx
lh3/pangene · pangene.js:108
const n_vtx = this.seg.length * 2;
for (let v = 0; v < n_vtx; ++v)
this.idx[v] = { o:0, n:0 };
this.arc.sort(function(a,b) { return a.v - b.v });
for (let i = 1, st = 0; i <= this.arc.length; ++i)
if (i == this.arc.length || this.arc[i].v != this.arc[st].v)
this.idx[this.arc[st].v] = { o:st, n:i-st }, st = i;
// reorder such that rank==0 is the first
for (let v = 0; v < n_vtx; ++v) {
const ov = this.idx[v].o;
const nv = this.idx[v].n;
let i0 = -1, n0 = 0;
for (let i = 0; i < nv; ++i)
if (this.arc[ov + i].rank == 0)
++n0, i0 = i;
if (n0 > 1) this.err |= 2;
if (i0 > 0) { // then swap [0] and [i0]
const tmp = this.arc[ov];