make vec_join be mostly not inlined

This commit is contained in:
dzaima 2021-12-19 01:44:18 +02:00
parent 7e89e190f2
commit 9054cf0b54
3 changed files with 8 additions and 3 deletions

View File

@ -890,7 +890,7 @@ B join_c2(B t, B w, B x) {
}
if (c-wr > 1 || c-xr > 1) thrF("∾: Argument ranks must differ by 1 or less (%i≡=𝕨, %i≡=𝕩)", wr, xr);
if (c==1) {
B r = vec_join(w, x);
B r = vec_join_inline(w, x);
if (rnk(r)==0) srnk(r,1);
return qWithFill(r, f);
}

View File

@ -61,3 +61,8 @@ void mutF_init() {
}
}
}
B vec_join(B w, B x) {
return vec_join_inline(w, x);
}

View File

@ -252,8 +252,8 @@ static void mut_copy(Mut* m, usz ms, B x, usz xs, usz l) { assert(isArr(x));
}
static B vec_join(B w, B x) { // consumes both
B vec_join(B w, B x); // consumes both
FORCE_INLINE B vec_join_inline(B w, B x) {
usz wia = a(w)->ia;
usz xia = a(x)->ia;
usz ria = wia+xia;