INNER CODE UNIT · C
st1
lh3/bedtk · bedtk.c:284
int32_t st1 = (int32_t)q->x, en1 = q->y, cov_st = 0, cov_en = 0;
int64_t j;
char *ctg = qr->ctg[q->x>>32].name;
n_b = cr_overlap(cr, ctg, st1, en1, &b, &m_b);
for (j = 0; j < n_b; ++j) {
cr_intv_t *r = &cr->r[b[j]];
int32_t st0 = cr_st(r), en0 = cr_en(r);
if (st0 < st1) st0 = st1;
if (en0 > en1) en0 = en1;
if (st0 > cov_en) {
if (cov_en > cov_st) printf("%s\t%d\t%d\n", ctg, cov_st, cov_en);
cov_st = st0, cov_en = en0;
} else cov_en = cov_en > en0? cov_en : en0;
}
if (cov_en > cov_st) printf("%s\t%d\t%d\n", ctg, cov_st, cov_en);
}
free(b);
cr_destroy(qr);