From a42335af4f9c515b5c36ee3cf85a78f0d0e3736e Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 30 Aug 2022 09:36:33 -0400 Subject: [PATCH] =?UTF-8?q?Use=20or-equals=20for=20dyadic=20=E2=88=8A=20wh?= =?UTF-8?q?en=20=F0=9D=95=A9=20is=20small=20and=20arguments=20are=20flat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/fns.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/builtins/fns.c b/src/builtins/fns.c index 293cce00..db917d34 100644 --- a/src/builtins/fns.c +++ b/src/builtins/fns.c @@ -242,6 +242,8 @@ B indexOf_c2(B t, B w, B x) { B enclosed_0; B enclosed_1; extern B rt_memberOf; +extern B eq_c2(B,B,B); +extern B or_c2(B,B,B); B memberOf_c2(B t, B w, B x) { if (isAtm(x) || RNK(x)!=1) goto bad; if (isAtm(w)) goto single; @@ -269,8 +271,15 @@ B memberOf_c2(B t, B w, B x) { many: { - usz xia = IA(x); - usz wia = IA(w); + u8 we = TI(w,elType); usz wia = IA(w); + u8 xe = TI(x,elType); usz xia = IA(x); + if (xia<=16 && wia>16 && we