diff --git a/src/builtins/sfns.c b/src/builtins/sfns.c index 2e9e1833..1924e0b2 100644 --- a/src/builtins/sfns.c +++ b/src/builtins/sfns.c @@ -825,12 +825,12 @@ B reverse_c1(B t, B x) { if (n==0) return x; u8 xl = cellWidthLog(x); u8 xt = arrNewType(TY(x)); - if (xl <= 6 && (xl >=3 || xl == 0)) { + if (xl<=6 && (xl>=3 || xl==0)) { void* xv = tyany_ptr(x); - B r; + Arr* r; switch(xl) { default: UD; break; case 0: { - u64* rp; r = m_bitarrc(&rp, x); + u64* rp; r = m_bitarrp(&rp, n); u64* xp=xv; usz g = BIT_N(n); usz e = g-1; for (usz i = 0; i < g; i++) rp[i] = bit_reverse(xp[e-i]); if (n&63) { @@ -840,23 +840,23 @@ B reverse_c1(B t, B x) { } break; } - case 3: { u8* xp=xv; u8* rp = m_tyarrc(&r, 1, x, xt); for (usz i=0; i