⌾⊑ fills

This commit is contained in:
dzaima 2021-05-27 04:55:38 +03:00
parent c2ecc40b4d
commit f5ff4850c2
3 changed files with 6 additions and 4 deletions

View File

@ -27,4 +27,4 @@ heapverify-clean:
rtverify-clean:
@$(MAKE) -C obj/rtverify clean
clean: o3-clean debug-clean rtperf-clean heapverify-clean rtverify-clean
clean: o3-clean o3g-clean debug-clean rtperf-clean heapverify-clean rtverify-clean

View File

@ -367,7 +367,7 @@ B cell_c1(B d, B x) { B f = c(Md1D,d)->f;
}
if (cr>1) ptr_dec(csh);
dec(x);
return c1(bi_gt, harr_fv(r));
return bqn_merge(harr_fv(r));
}
B cell_c2(B d, B w, B x) { B f = c(Md1D,d)->f;
if ((isAtm(x) || rnk(x)==0) && (isAtm(w) || rnk(w)==0)) {

View File

@ -687,19 +687,21 @@ B reverse_uc1(B t, B o, B x) {
B pick_uc1(B t, B o, B x) {
if (isAtm(x) || a(x)->ia==0) return def_fn_uc1(t, o, x);
B xf = getFillQ(x);
usz ia = a(x)->ia;
B arg = TI(x).get(x, 0);
B rep = c1(o, arg);
MAKE_MUT(r, ia); mut_to(r, el_or(TI(x).elType, selfElType(rep)));
mut_set(r, 0, rep);
mut_copy(r, 1, x, 1, ia-1);
return mut_fcd(r, x);
return qWithFill(mut_fcd(r, x), xf);
}
B pick_ucw(B t, B o, B w, B x) {
if (isArr(w) || isAtm(x) || rnk(x)!=1) return def_fn_ucw(t, o, w, x);
usz xia = a(x)->ia;
usz wi = WRAP(o2i64(w), xia, thrF("𝔽⌾(n⊸⊑)𝕩: reading out-of-bounds (n≡%R, %s≡≠𝕩)", w, xia));
B xf = getFillQ(x);
B arg = TI(x).get(x, wi);
B rep = c1(o, arg);
if (reusable(x) && TI(x).canStore(rep)) {
@ -727,7 +729,7 @@ B pick_ucw(B t, B o, B w, B x) {
mut_set(r, wi, rep);
mut_copy(r, 0, x, 0, wi);
mut_copy(r, wi+1, x, wi+1, xia-wi-1);
return mut_fcd(r, x);
return qWithFill(mut_fcd(r, x), xf);
}
B slash_ucw(B t, B o, B w, B x) {