Commit Graph

2973 Commits

Author SHA1 Message Date
dzaima
0d7a7652e3 better NEON all_hom{x:[16]u8} 2025-02-08 17:36:44 +02:00
dzaima
c792d47069 use Singeli a==b instead of a=(b) 2025-02-08 17:36:44 +02:00
dzaima
b12575722a better NEON any_hom
but clang undoes this sometimes :/ https://github.com/llvm/llvm-project/issues/125611
2025-02-08 17:36:44 +02:00
dzaima
72cf36334c make (any|all_(hom|top) accept mask or vl or multiple vectors
makes the previous commit superfluous, but still keeping it separate so that this one changes nothing
2025-02-08 17:36:44 +02:00
dzaima
341f3757e7 make all_hom{mask_none, vec} use simple path 2025-02-08 17:36:44 +02:00
dzaima
2cb15c936d get rid of b(x) macro 2025-02-08 17:36:44 +02:00
dzaima
74483f3859 more spaces between 𝕨/𝕩 and names, re-remove •SH args
sh_c1 calls sh_c2, so the arity isn't function-specific
2025-02-07 07:57:51 +02:00
tankorsmash
b945e48d29 add spacing around system functions; add missing args for SH; fix wrong args for bit._cast 2025-02-06 20:17:18 -05:00
dzaima
e3a4132722 clean up error messages
incl. correcting •_timed's message being wrong
2025-02-06 12:32:19 +02:00
tankorsmash
3362d46854 add best effort guesses for error messages in core/stuff and opt/comp.c 2025-02-05 20:02:44 -05:00
tankorsmash
5790d126cd add best effort guesses for many more builtin error messages 2025-02-05 19:56:08 -05:00
tankorsmash
63ee20b6fe add best effort guesses for many builtin error messages 2025-02-05 19:40:27 -05:00
tankorsmash
dd5d17ca83 add best effort guesses for builtins/cmp,fns,fold.c
I'm not sure about modifiers so I left them without arguments
2025-02-05 19:32:49 -05:00
tankorsmash
559b3f0d6e add best effort guesses for w and x for builtins/cells.c 2025-02-04 19:00:15 -05:00
tankorsmash
dce39a1b05 add w and x for builtins/arithm.c 2025-02-04 18:57:25 -05:00
tankorsmash
6be291dd6b add w and x for builtins/arithd.c 2025-02-04 18:55:14 -05:00
tankorsmash
80d1681b18 prefer using w and x inside error messages 2025-02-03 20:39:44 -05:00
dzaima
d17c6ebe8e actually fix AVX-512 more 2025-02-03 19:58:15 +02:00
dzaima
0bc491e931 fix AVX-512 more 2025-02-03 19:56:04 +02:00
dzaima
3a8f2a601a better NEON widening add/sub/mul definitions 2025-02-03 19:45:21 +02:00
dzaima
44d87fef78 fix AVX-512 build 2025-02-03 19:31:18 +02:00
dzaima
8c7c0227a5 first_hom, try_first_hom, popc_hom 2025-02-03 17:32:21 +02:00
dzaima
c64cdb2c61 make store_(blended|masked)_(hom|top) accept element pointer 2025-02-03 04:20:33 +02:00
dzaima
cd373e2ae6 remove (load|store)_low 2025-02-03 03:53:11 +02:00
dzaima
61565bfa17 define load_low/store_low in terms of vl-based load/store 2025-02-03 03:37:38 +02:00
dzaima
848813331a element-pointer-based vector loads & stores 2025-02-03 03:17:23 +02:00
dzaima
91800ddd1e more direct mask_none all-bits-zeroes check 2025-02-03 03:05:58 +02:00
dzaima
25faa71995 better NEON hom_to_int_ext 2025-02-03 02:37:07 +02:00
dzaima
afc4aa81fa more complete NEON widening multiply/add/subtract 2025-02-03 02:37:07 +02:00
dzaima
49dd6e394a mask.singeli loop renames 2025-02-03 02:13:39 +02:00
dzaima
92f40ddbe2 mask.singeli def renames
more bits of renames
2025-02-03 02:13:39 +02:00
dzaima
b6578e43a1 renames of the rest of base.singeli 2025-02-03 02:13:39 +02:00
dzaima
189ffa7d1f bitops.singeli renames 2025-02-03 02:12:58 +02:00
dzaima
f409ee8729 fix generic arch 2025-02-03 02:11:00 +02:00
dzaima
a6266b2168 remove unnecessary defs 2025-02-03 02:11:00 +02:00
dzaima
490285f1ca andAllZero → and_bit_none 2025-02-03 02:11:00 +02:00
dzaima
10ec04a76e (load|store)Low → (load|store)_low 2025-02-03 02:11:00 +02:00
dzaima
ad79ef71cf more Singeli mask op renames 2025-02-03 02:11:00 +02:00
dzaima
6f8b08bb1f oneVal/oneType/allSame → one_val/one_type/all_same 2025-02-03 02:11:00 +02:00
dzaima
a3e33366df exportT → export_tab
also remove exportN as it's unused
2025-02-03 02:11:00 +02:00
dzaima
70e2694f88 more Singeli NEON cleanup 2025-02-03 02:10:47 +02:00
dzaima
b899180166 any_num → any_int where applicable 2025-02-02 23:08:41 +02:00
dzaima
936300a492 any(Int|Num) → any_(int|num) 2025-02-02 23:08:41 +02:00
dzaima
0357d57171 various Singeli NEON cleanup things 2025-02-02 23:08:41 +02:00
dzaima
f3e7f4032c get rid of custom NEON rev
was non-compatibly overridden in places anyways
2025-02-02 23:08:41 +02:00
dzaima
6c7a444cd7 more consistent NEON naming 2025-02-02 23:08:41 +02:00
dzaima
e3b30e5db7 (hom|top)Mask → (hom|top)_to_int 2025-02-02 23:08:41 +02:00
dzaima
e9e1574d28 rearrange initial Singeli base defs 2025-02-02 23:08:41 +02:00
dzaima
426c1b4bf8 (bit|top|hom)(Any|All) → (any|all)_(bit|top|hom) 2025-02-02 23:08:41 +02:00
dzaima
c4afe7b329 (bit|top|hom)Blend → blend_(bit|top|hom) 2025-02-02 23:08:02 +02:00
dzaima
d506691690 fix 𝕨⍋𝕩 issues around NaNs 2025-02-01 20:55:36 +02:00
dzaima
9be5bf45b4 fix signed offset having unsigned type 2025-02-01 20:55:36 +02:00
dzaima
d06200445b MAYBE_UNUSED 2025-02-01 20:55:36 +02:00
dzaima
dcbceccff8 fix integer wrapping in grade sum check 2025-01-24 03:49:25 +02:00
dzaima
204ec21a7c more compact vector width check definitions 2025-01-23 03:21:55 +02:00
dzaima
5f19f15556 NEON (hom|bit)(Any|All) improvements 2025-01-23 03:20:52 +02:00
dzaima
196cc07454 better isCallable 2025-01-17 21:51:46 +02:00
dzaima
8b0d0399e4 fix various F⌾(G⊸Specialized)x 2025-01-16 22:16:49 +02:00
dzaima
517300e567 Windows: static-method-only .c files to .h 2025-01-16 22:06:20 +02:00
vylsaz
7d928a3221 Use OsStr for path on both Windows and non-Windows systems 2025-01-16 22:06:20 +02:00
vylsaz
24bd6735bc Windows: use _wfullpath for realpath 2025-01-16 22:06:20 +02:00
vylsaz
e12ca55ee0 Windows: use utf16 for file functions 2025-01-16 22:06:20 +02:00
vylsaz
40609b2f5f Windows: sh: revert to using calloc() in reading threads 2025-01-16 22:06:20 +02:00
vylsaz
67c2850e38 Windows: sh using utf16; simply argument quoting 2025-01-16 22:06:20 +02:00
vylsaz
580f4a3a19 Windows: utf-16 util 2025-01-16 22:06:19 +02:00
dzaima
a02f195555 make native inverse bindings for ⋆⁼x & w⋆⁼x 2024-12-18 13:29:32 +02:00
dzaima
1822602c34 cleanup from clang's --analyze 2024-12-18 13:03:48 +02:00
dzaima
d1a9669e76 fix •math.LCM on arrays 2024-12-13 07:40:43 +02:00
dzaima
5ecd1858ef fix 1⌾(⟨0⟩⊸⊏)⟨0⟩ 2024-12-07 06:54:07 +02:00
dzaima
86c7b47771 make •FFI properly error on non-list 𝕩 2024-12-04 00:14:00 +02:00
dzaima
162e6ff387 decG more
found automatically via awful hack via GUARANTEED
2024-12-04 00:10:52 +02:00
dzaima
7a5f42a7f0 cleanup
that build.bqn TODO has been completed for a while
2024-12-03 18:38:48 +02:00
dzaima
81abc80863 fast highrank⊸⊏˘ table 2024-12-02 21:57:44 +02:00
dzaima
7509d0c238 don't shadow types 2024-11-30 20:26:54 +02:00
dzaima
d988a620fd native F⌾(a⊸⥊) 2024-11-26 18:08:15 +02:00
dzaima
58f96abe8c fix error message on missing absolute base path 2024-11-23 06:19:39 +02:00
dzaima
79cffc5011 don't use deprecated syntax 2024-11-22 12:48:59 +02:00
dzaima
92641f26ba squeeze fns haven't been AVX2-specific for a while 2024-11-22 12:48:59 +02:00
dzaima
7df2f9ba4f a couple renames & simplifications 2024-11-22 00:44:03 +02:00
dzaima
f0223b8baf properly add 1<<31 2024-11-21 23:04:02 +02:00
Marshall Lochbaum
33ae8744f5 Fast skip ahead for blocks of equal values in i8 and i16 /⁼ 2024-11-20 09:35:22 -05:00
Marshall Lochbaum
7baddcabc2 Better sum versus runs test for /⁼: account for per-element cost of run-based 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
342cadfc00 Check for or handle argument length >2⋆31 in /⁼ 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
194e8c3f22 Update /⁼ implementation comments 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
0bbb335893 Do general i8 and i16 /⁼ counts to i16 buffer, plus overflow list 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
fb5ee179cb Squeeze for slash_im generic case instead of converting individual elements to numbers 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
96b198f643 Condition all the i8 to i32 /⁼ optimization on SINGELI_SIMD, for simplicity 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
e6940e73d0 Fast /⁼ of sorted arguments using semi-sparse representation 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
11117fcc67 Version of count_i32_i32 without large blocks 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
3b103aadd0 Run-based i32 /⁼ (leaving out sum-based) 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
4aea668a6c Allow i16 /⁼ to jump to Singeli code after range checking 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
926e59483d More precise sparse check for i8 /⁼ result: previously stopped at 65 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
e24d0bac63 Extend SIMD counting to i16 in addition to i8 2024-11-17 15:29:36 -05:00
Marshall Lochbaum
e681f3c09a Run-based 1-byte /⁼ implementation 2024-11-17 15:29:36 -05:00
dzaima
092ba4167a fix talloc_realloc in VERIFY_TAIL 2024-11-17 22:18:33 +02:00
dzaima
0a4925e84f move compile_commands.json to build/ 2024-11-14 22:45:43 +02:00
dzaima
b72fe465a2 fix /⁼1e4⥊1‿2 on NEON 2024-11-14 22:45:43 +02:00
dzaima
cbac419b4a fix ⍷2‿0⥊x 2024-11-06 22:34:55 +02:00
dzaima
d47cedb165 some cleanup 2024-11-06 22:32:05 +02:00
Marshall Lochbaum
db16b8fa6e Fix dropped high bit in ⊣˝˘ due to signed rather than unsigned saturating pack 2024-11-06 14:52:18 -05:00