From a6b22c75fdc73e3e8dd6766581cbaa53cb809186 Mon Sep 17 00:00:00 2001 From: dzaima Date: Tue, 20 Dec 2022 18:32:51 +0200 Subject: [PATCH] =?UTF-8?q?fast=20list=E2=8A=90unit=20for=20more=20list=20?= =?UTF-8?q?types?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/search.c | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/src/builtins/search.c b/src/builtins/search.c index 9353efbe..8467552d 100644 --- a/src/builtins/search.c +++ b/src/builtins/search.c @@ -48,20 +48,32 @@ B indexOf_c2(B t, B w, B x) { usz wia = IA(w); B el = isArr(x)? IGetU(x,0) : x; i32 res = wia; - if (TI(w,elType)==el_i32) { - if (q_i32(el)) { - i32* wp = i32any_ptr(w); - i32 v = o2iG(el); - for (usz i = 0; i < wia; i++) { - if (wp[i] == v) { res = i; break; } - } - } - } else { - SGetU(w) - for (usz i = 0; i < wia; i++) { - if (equal(GetU(w,i), el)) { res = i; break; } + u8 we = TI(w,elType); + if (we