diff --git a/src/builtins/sfns.c b/src/builtins/sfns.c index 63e79a79..b4ffe5e1 100644 --- a/src/builtins/sfns.c +++ b/src/builtins/sfns.c @@ -1241,6 +1241,7 @@ B transp_c1(B t, B x) { Arr* r; usz xi = 0; u8 xe = TI(x,elType); + bool toBit = false; if (h==2) { if (xe==el_B) { B* xp = arr_bptr(x); if (xp==NULL) { HArr* xa=cpyHArr(x); x=taga(xa); xp=xa->a; } @@ -1274,7 +1275,7 @@ B transp_c1(B t, B x) { } } else { switch(xe) { default: UD; - case el_bit: x = taga(cpyI8Arr(x)); xsh=SH(x); xe=el_i8; // fallthough; lazy; TODO squeeze + case el_bit: x = taga(cpyI8Arr(x)); xsh=SH(x); xe=el_i8; toBit=true; // fallthough case el_i8: case el_c8: { u8* xp=tyany_ptr(x); u8* rp = m_tyarrp(&r,1,ia,el2t(xe)); for(usz y=0;y