INNER CODE UNIT · C
n
lh3/cgranges · cgranges.c:301
int64_t n = 0, i, s, e, *b = *b_, m_b = *m_b_;
s = cr_min_start_int(cr, ctg_id, st);
if (s < 0) return 0;
e = cr->ctg[ctg_id].off + cr->ctg[ctg_id].n;
for (i = s; i < e; ++i) {
const cr_intv_t *r = &cr->r[i];
if (cr_st(r) >= en) break;
if (cr_st(r) >= st && cr_en(r) <= en) {
if (n == m_b) EXPAND(b, m_b);
b[n++] = i;
}
}
*b_ = b, *m_b_ = m_b;
return n;
}
int64_t cr_min_start(const cgranges_t *cr, const char *ctg, int32_t st)
{