From 1927cb575677073b67068887867e4e5c0e6d2729 Mon Sep 17 00:00:00 2001 From: dzaima Date: Thu, 25 Aug 2022 23:17:00 +0300 Subject: [PATCH] =?UTF-8?q?implement=20=E2=8D=B7=F0=9D=95=A9=20with=20(?= =?UTF-8?q?=E2=88=8A=F0=9D=95=A9)/=F0=9D=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/selfsearch.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/builtins/selfsearch.c b/src/builtins/selfsearch.c index 1c09767f..8a77794f 100644 --- a/src/builtins/selfsearch.c +++ b/src/builtins/selfsearch.c @@ -255,21 +255,11 @@ B indexOf_c1(B t, B x) { return r; } +B slash_c2(B t, B w, B x); extern B rt_find; B find_c1(B t, B x) { if (isAtm(x) || RNK(x)==0) thrM("⍷: Argument cannot have rank 0"); usz n = *SH(x); if (n<=1) return x; - if (RNK(x)>1) return c1(rt_find, x); - B xf = getFillQ(x); - - B r = emptyHVec(); - H_Sb* set = m_Sb(64); - SGetU(x) - for (usz i = 0; i < n; i++) { - B c = GetU(x,i); - if (!ins_Sb(&set, c)) r = vec_add(r, inc(c)); - } - free_Sb(set); decG(x); - return withFill(r, xf); + return slash_c2(m_f64(0), memberOf_c1(m_f64(0), inc(x)), x); }