fix fill of n↑fillarr
This commit is contained in:
parent
e38e4f89ae
commit
f50b8ab503
@ -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);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user