INNER CODE UNIT · C
c
lh3/cgranges · cgranges.c:237
c = &cr->ctg[ctg_id];
r = &cr->r[c->off];
if (c->n == 0) return -1;
left = 0, right = c->n;
while (right > left) {
int64_t mid = left + ((right - left) >> 1);
if (cr_st(&r[mid]) >= st) right = mid;
else left = mid + 1;
}
assert(left == right);
return left == c->n? -1 : c->off + left;
}
typedef struct {
int64_t x;
int32_t k, w;
} istack_t;