properly fall back to runtime in native ⊏

This commit is contained in:
dzaima 2021-05-30 02:46:49 +03:00
parent 4d8375fdfd
commit 7caa7dceb5
2 changed files with 5 additions and 1 deletions

View File

@ -146,7 +146,7 @@ B select_c2(B t, B w, B x) {
BS2B wgetU = TI(w).getU;
for (; i < wia; i++) {
B cw = wgetU(w, i);
if (!isNum(cw)) { harr_pfree(r.b, i); goto base; }
if (!isNum(cw)) { harr_abandon(r); goto base; }
usz c = WRAP(o2i64(cw), xia, thrF("⊏: Indexing out-of-bounds (%R∊𝕨, %s≡≠𝕩)", cw, xia));
r.a[i] = xget(x, c);
}

View File

@ -55,6 +55,10 @@ static usz* harr_fa(HArr_p p, ur r) { VTY(p.b, t_harrPartial);
gsPop();
return arr_shAllocR(p.b, r);
}
static void harr_abandon(HArr_p p) { VTY(p.b, t_harrPartial);
gsPop();
value_free((Value*)p.c);
}
static HArr_p m_harrUv(usz ia) {
B r = m_arr(fsizeof(HArr,a,B,ia), t_harr);