fix fill of n↑fillarr

This commit is contained in:
dzaima 2021-10-20 18:29:28 +03:00
parent e38e4f89ae
commit f50b8ab503
2 changed files with 7 additions and 6 deletions

View File

@ -11,8 +11,9 @@ static Arr* take_impl(usz ria, B x) { // consumes x; returns v↑⥊𝕩 without
MAKE_MUT(r, ria); mut_init(r, TI(x,elType));
mut_copyG(r, 0, x, 0, xia);
mut_fill(r, xia, xf, ria-xia);
dec(x); dec(xf);
return mut_fp(r);
dec(x);
if (r->type!=el_B) { dec(xf); return mut_fp(r); }
return a(withFill(mut_fv(r), xf));
} else {
return TI(x,slice)(x,0,ria);
}

View File

@ -57,10 +57,10 @@ static void mut_init(Mut* m, u8 n) {
void mut_to(Mut* m, u8 n);
static B mut_fv(Mut* m) { assert(m->type!=el_MAX);
m->val->sh = &m->val->ia;
B r = taga(m->val);
srnk(r, 1);
return r;
Arr* a = m->val;
a->sh = &a->ia;
sprnk(a, 1);
return taga(a);
}
static B mut_fc(Mut* m, B x) { assert(m->type!=el_MAX);
Arr* a = m->val;