From ea1367e639a7e39b1b966c4ed4f7cd6917a856e8 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 17 Sep 2022 20:54:27 -0400 Subject: [PATCH] Handle cell size 0 correctly in cellWidthLog() --- src/core/arrFns.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/arrFns.h b/src/core/arrFns.h index 9ee17682..20652800 100644 --- a/src/core/arrFns.h +++ b/src/core/arrFns.h @@ -65,7 +65,6 @@ static u8 cellWidthLog(B x) { u8 lw = arrTypeBitsLog(TY(x)); if (LIKELY(RNK(x)==1)) return lw; usz csz = arr_csz(x); - if (csz & (csz-1)) return 7; // Not power of 2 - lw += CTZ(csz); - return lw<7? lw : 7; + if (csz & (csz-1)) return 7; // Not power of 2 + return lw + CTZ(csz | 128>>lw); // Max of 7; also handle csz==0 }