From 7ff74d38e8687eaabe2ff2da66e570a7ec85afc5 Mon Sep 17 00:00:00 2001 From: dzaima Date: Fri, 30 Dec 2022 01:10:18 +0200 Subject: [PATCH] squeeze el_bit transpose result --- src/builtins/sfns.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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