INNER CODE UNIT · C
as
lh3/miniprot · align.c:265
as = r->vs > extl? r->vs - extl : 0;
ae = r->ve + extr < ctg_len? r->ve + extr : ctg_len;
nt = Kmalloc(km, uint8_t, ae - as);
l_nt = mp_ntseq_get_by_v(mi->nt, r->vid, as, ae, nt);
assert(l_nt == ae - as);
if (mi->nt->spsc) {
int32_t l_ss;
ss = Kmalloc(km, uint8_t, ae - as);
l_ss = mp_ntseq_spsc_get_by_v(mi->nt, r->vid, as, ae, ss);
assert(l_ss = l_nt);
}
vs0 = r->vs;
mp_map2ns_opt(opt, &ns_opt0);
//fprintf(stderr, "X\t%s\t%c\t%ld\t%ld\n", mi->nt->ctg[r->vid>>1].name, "+-"[r->vid&1], (long)(r->vid&1? ctg_len - ae : as), (long)(r->vid&1? ctg_len - as : ae));
{ // left extension
int64_t vs1 = vs0 + (r->a[i0]>>32) + 1;
int32_t as1 = ((int32_t)r->a[i0]<<1>>1) + 1;