From f001841d17e397e5009305d97b3d26bdc7b0aa96 Mon Sep 17 00:00:00 2001 From: dzaima Date: Fri, 14 Apr 2023 18:11:49 +0300 Subject: [PATCH] move comparison functions to separate file --- build/src/build.bqn | 4 +- src/builtins/compare.c | 202 +++++++++++++++++++++++++++++++++++++++++ src/core/stuff.c | 201 ---------------------------------------- 3 files changed, 204 insertions(+), 203 deletions(-) create mode 100644 src/builtins/compare.c diff --git a/build/src/build.bqn b/build/src/build.bqn index 13e92fc8..0f3c41f6 100755 --- a/build/src/build.bqn +++ b/build/src/build.bqn @@ -587,7 +587,7 @@ MakeLinkerInv ← { 𝕊 GetArgs‿cache‿name‿srcs: cachedBin‿linkerCache ← { Shorten ← {po.clangd? 𝕩; r ← {𝕩↓˜¯1-⊑'.'⊐˜⌽𝕩}¨ •file.Name¨ 𝕩 ⋄ ! ∧´ ∊r ⋄ r} cbqnSrc ← ∾{⌽(⊑𝕩)⊸•file.At¨ 1↓𝕩}¨ ⌽⟨ - ⟨"src/builtins/", "arithd.c", "arithm.c", "cmp.c", "sfns.c", "squeeze.c", "select.c", "slash.c", "group.c", "sort.c", "search.c", "selfsearch.c", "transpose.c", "fold.c", "scan.c", "md1.c", "md2.c", "fns.c", "sysfn.c", "internal.c", "inverse.c"⟩ + ⟨"src/builtins/", "arithd.c", "arithm.c", "cmp.c", "sfns.c", "squeeze.c", "select.c", "slash.c", "group.c", "sort.c", "search.c", "selfsearch.c", "transpose.c", "fold.c", "scan.c", "md1.c", "md2.c", "compare.c", "fns.c", "sysfn.c", "internal.c", "inverse.c"⟩ ⟨"src/core/", "tyarr.c", "harr.c", "fillarr.c", "stuff.c", "derv.c", "mm.c", "heap.c"⟩ ⟨"src/", "load.c", "main.c", "rtwrap.c", "vm.c", "ns.c", "nfns.c", "ffi.c"⟩ ⟨"src/jit/", "nvm.c"⟩ @@ -595,7 +595,7 @@ cachedBin‿linkerCache ← { ⟩ cbqnSrc ↩ cbqnSrc clangd.Files "src" singeliMap ← 1↓¨ ({∨´ ((po.avx2/"2")∾⊑po.arch) ∊ 𝕩}¨ ⊑¨)⊸/ ⟨ - "xa."‿"src/builtins/arithm.c"‿"monarith", "xa."‿"src/core/stuff.c"‿"equal", + "xa."‿"src/builtins/arithm.c"‿"monarith", "xa."‿"src/builtins/compare.c"‿"equal", "xa."‿"src/builtins/arithd.c"‿"dyarith", "xa."‿"src/builtins/cmp.c"‿"cmp", "xa."‿"src/builtins/squeeze.c"‿"squeeze", "xa."‿"src/utils/mut.c"‿"copy", "xa."‿"src/utils/bits.c"‿"bits", "xag"‿"src/builtins/transpose.c"‿"transpose", diff --git a/src/builtins/compare.c b/src/builtins/compare.c new file mode 100644 index 00000000..44fed478 --- /dev/null +++ b/src/builtins/compare.c @@ -0,0 +1,202 @@ +#include "../core.h" +#include "../utils/calls.h" + +#define CMP(W,X) ({ AUTO wt = (W); AUTO xt = (X); (wt>xt?1:0)-(wtxt?1:0)-(wt>6); i++) r+= POPC(x[i]);