From 52bca6a55ccaa624c5637b0dcb5c87fdd9d4dd2c Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 6 Nov 2023 12:16:59 -0500 Subject: [PATCH] Multiple IndexOfOne to search for a few values in a large array --- src/builtins/search.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/builtins/search.c b/src/builtins/search.c index 0da3b466..fcb89479 100644 --- a/src/builtins/search.c +++ b/src/builtins/search.c @@ -237,6 +237,18 @@ B indexOf_c2(B t, B w, B x) { } CHECK_CHRS_ELSE { tyEls: // Both numbers + if (wia>32 && xia<=(we<=el_i8?1:6)) { + SGetU(x); + B r; + #define IND(T) \ + T* rp; r = m_##T##arrc(&rp, x); \ + for (usz i=0; i32 && wia<=(xe<=el_i8?1:6)) { + SGetU(w); + i8* rp; r = m_i8arrc(&rp, w); + for (usz i=0; i