From c17448ed712e95a637e1ad4c896afff825d26bbd Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 29 Nov 2022 11:29:25 -0500 Subject: [PATCH] Faster bit selection --- src/builtins/select.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/builtins/select.c b/src/builtins/select.c index 1d6acdad..8997a82c 100644 --- a/src/builtins/select.c +++ b/src/builtins/select.c @@ -100,8 +100,7 @@ B select_c2(B t, B w, B x) { for (usz i = wia; ; ) { \ i--; \ usz n = WRAP(wp[i], xia, thrF("โŠ: Indexing out-of-bounds (%iโˆŠ๐•จ, %sโ‰กโ‰ ๐•ฉ)", wp[i], xia)); \ - b <<= 1; \ - b |= (-(xp[n/64] & (1ull<<(n%64)))) >> 63; \ + b = 2*b + ((((u8*)xp)[n/8] >> (n%8)) & 1); \ if (i%64 == 0) { rp[i/64]=b; if (!i) break; } \ } \ goto dec_ret; \