Commit Graph

1931 Commits

Author SHA1 Message Date
dzaima
fe36c74080 support exponential for )t 2023-03-21 02:56:39 +02:00
dzaima
1ec37410c6 faster constint|intarr 2023-03-21 02:45:42 +02:00
dzaima
d333902f74 fast integer 𝕨|𝕩 2023-03-21 02:06:45 +02:00
dzaima
e14a3629f6 don't try lowercasing × 2023-03-20 18:18:16 +02:00
dzaima
b0201131e2 array type support for •FFI 2023-03-20 16:44:58 +02:00
dzaima
ca0c100b73 name normalization for •ns.Get & •ns.Has
also fix •ns.Has error message & rename some function declarations
2023-03-19 23:27:05 +02:00
dzaima
0b32ef96ce inline → inplace in existing-scope-mutating function names 2023-03-19 22:47:00 +02:00
dzaima
4a6877a87a Rank checks 2023-03-19 15:42:11 +02:00
dzaima
a3d74c6af2 MUT_APPEND 2023-03-16 22:27:44 +02:00
dzaima
390ee503fb extract function for a+↕b 2023-03-16 22:05:44 +02:00
dzaima
a9b83ca70a V_POS, V_DEPTH 2023-03-16 22:03:08 +02:00
dzaima
db8a4d3af0 don't use def as a variable name 2023-03-12 00:11:30 +02:00
dzaima
1178e5df56 new Singeli syntax 2023-03-11 23:17:30 +02:00
dzaima
8194f51b30 MAKE_MUT_INIT, move mut_init to mut.c 2023-03-11 16:52:09 +02:00
dzaima
3f0bc57503 move diagnostics coloring option outside of hash 2023-03-11 16:51:59 +02:00
dzaima
01c457b77b make all cpy.*Arr function results Arr* 2023-03-11 16:51:13 +02:00
dzaima
92763fa8b2 proper hash values for derived functions 2023-03-06 20:29:35 +02:00
dzaima
ab5b8f92b4 fast F˜˝˘ and F˜˝ and F˜⌜ for pervasive F 2023-03-05 16:48:10 +02:00
dzaima
680d0f8601 use mut_copy for building fold_rows result 2023-03-05 15:20:12 +02:00
dzaima
1c0b797456
Merge pull request #69 from mlochbaum/transfold
Blocked transpose implementation for fold-cells
2023-03-05 15:10:26 +02:00
dzaima
98c963453b •internal.GC 2023-03-05 14:16:38 +02:00
dzaima
4b6dd1bf81 immediately mark&sweep unknown reference objects instead of storing 2023-03-05 14:05:08 +02:00
dzaima
c5aedaa414 switch to GCv2, various fixes/cleanup
includes:
  fixing some refcounts for FOR_BUILD build •FFI
  moving DEBUG_VM prints to stderr
  fixing heapverify reports of loose shape objects of fillarrs
  regular ol' adding-of-semicolon-after-label for old gcc
  move GC enable to after all initialization, not load_init
2023-03-05 01:23:53 +02:00
Marshall Lochbaum
f4d2e26e58 Don't do transposing fold unless height is greater than width 2023-03-04 14:42:00 -05:00
Marshall Lochbaum
176152b445 Handle fold-cells on row length 1 with ⊏˘ 2023-03-04 14:28:22 -05:00
Marshall Lochbaum
4b35acb82b Transpose-based fold-cells implementation 2023-03-04 14:24:56 -05:00
dzaima
16274e5952 bucket coalescing on GC 2023-03-04 20:09:12 +02:00
dzaima
ead637b135 don't leak c1fn/c2fn arguments from array function 2023-03-04 18:58:07 +02:00
dzaima
717074a2f8 fast transpose on shape n‿2 𝕩 2023-03-03 19:13:15 +02:00
dzaima
76d26db4c2 faster F˘´n‿2⥊𝕩 for pervasive F 2023-03-03 17:45:16 +02:00
dzaima
fd72d416db manual prefix character typing detecting 2023-03-03 16:11:55 +02:00
dzaima
093beda394 faster path for 𝕨/𝕩 with non-boolean 𝕨 with sum 0 2023-03-03 13:41:20 +02:00
dzaima
397f8745ce go back to regular completions if no system commands match 2023-02-27 23:51:35 +02:00
dzaima
dfd78115c3 remove repl initialization before it's needed 2023-02-26 18:58:08 +02:00
dzaima
2c107025ab add argument for non-GC_VISIT_V2 2023-02-26 18:53:06 +02:00
dzaima
78eb351e10 allow top-level GC to collect all garbage in GC_VISIT_V2 2023-02-26 18:37:07 +02:00
dzaima
418a1c054f no longer need position setting hack on enter
also makes enter_replxx allocation-free, allowing it to run during OOM
2023-02-26 18:30:22 +02:00
dzaima
bcc19c11fd fix GC_VISIT_V2 completely not respecting -M 2023-02-26 18:26:19 +02:00
dzaima
1c1da8fdfe completion options for system commands 2023-02-26 18:09:28 +02:00
dzaima
a570bcaf88 fix replxx things 2023-02-26 16:09:38 +02:00
dzaima
6d03071ae6 SIMD i32 transpose 2023-02-26 01:19:54 +02:00
dzaima
a928277e8c make heapverify run on GC_VISIT_V2
also make it able to track shape object leaks
2023-02-25 00:21:15 +02:00
dzaima
c6c0b8925e don't need allocMore_rec on non-gcv2 2023-02-24 23:38:29 +02:00
dzaima
6e6169530d GC v2 2023-02-24 23:28:55 +02:00
dzaima
deee2c7a18 use C1 & C2 more 2023-02-24 15:53:11 +02:00
dzaima
1af9155425 optional path arg for •internal.HeapDump; STORE_JIT_MAP 2023-02-24 00:16:44 +02:00
dzaima
b506b434a2 add Singeli directory to build cache key, add rebuild-singeli, quiet gcc 2023-02-23 23:36:41 +02:00
dzaima
8ad5132a6d find & eqfn changes, use toI32Any more 2023-02-22 13:48:45 +02:00
Marshall Lochbaum
032e32ae1a Fast flat ≡˘ and ≢˘ in most cases 2023-02-20 10:43:24 -05:00
Marshall Lochbaum
89e6be10e5 Add eqFns to calls.h and use for Find 2023-02-20 10:07:44 -05:00
Marshall Lochbaum
b56e547e34 Define eqFns in non-Singeli build 2023-02-20 08:20:05 -05:00
Marshall Lochbaum
fcc5c2e449 Slice function instead of take/drop 2023-02-19 21:14:42 -05:00
Marshall Lochbaum
ea6c7d9a7a Use a C comparison function instead of a BQN one 2023-02-19 21:08:21 -05:00
Marshall Lochbaum
d2950a8df6 Flat rank 1 Find implementation using primitive calls 2023-02-19 20:34:32 -05:00
dzaima
70fec7eb1e fix •ns.Keys on namespaces with unexported fields 2023-02-19 18:30:57 +02:00
dzaima
7013a9edf9 •ns.Get, •ns.Has, •ns.Keys 2023-02-19 18:02:35 +02:00
dzaima
428064a5c2 skip lookup table zero-initialization for x⊐x 2023-02-18 23:57:02 +02:00
dzaima
bb36755d67 native 𝕨/highrank 2023-02-18 21:04:22 +02:00
dzaima
96316f0fe1 faster 2↕ 2023-02-18 19:47:22 +02:00
dzaima
7b57b4ae39 explicitly mark code sections where allocations aren't allowed to happen 2023-02-18 17:46:55 +02:00
dzaima
c32285dba9 Singeli copy from unaligned bitarr 2023-02-18 11:52:45 +02:00
dzaima
63fa511c55 deduplicate typed pointer calculation in mut.c 2023-02-18 00:09:37 +02:00
dzaima
8e720a2faa use loadLow & storeLow in neq.singeli 2023-02-17 23:41:26 +02:00
dzaima
1e6b612e13 NEON copy.singeli 2023-02-17 22:10:21 +02:00
dzaima
0aada6163a move src/clangdCommands.bqn to build/build clangd 2023-02-17 18:44:13 +02:00
dzaima
f76836aedd clean up arithd.c & slightly improve non-Singeli impls 2023-02-17 16:43:07 +02:00
dzaima
32142a45d6 Widen cells in 𝕨∊𝕩, 𝕨⊐𝕩, 𝕨⊒𝕩 2023-02-17 00:27:15 +02:00
dzaima
089e2a38c6 update Singeli things 2023-02-16 21:31:19 +02:00
dzaima
f700a3e150 pad input cells when needed for for ∊𝕩, ⊐𝕩, ⊒𝕩 2023-02-13 00:19:50 +02:00
dzaima
fd1178bc0e use BMI2 for widening to <32-bit cells 2023-02-10 23:04:20 +02:00
dzaima
53737ab3fb use BMI2 for narrowing <32-bit cells 2023-02-10 23:01:45 +02:00
dzaima
855541954f initial bit widen&narrow for ⊏ 2023-02-10 17:59:22 +02:00
dzaima
23d99d7a24 more precise detection of when bit 𝕩 won't use simd for widening path 2023-02-04 18:17:21 +02:00
dzaima
f39ca95c58 maybe slightly better bit→i8→bit heuristic
the more proper thing is to pad cells to the nearest power-of-two byte size anyway
2023-02-04 17:16:01 +02:00
dzaima
be9d0c287e better 𝕨⊏𝕩 with non-power-of-two cell sizes 2023-02-04 03:30:05 +02:00
dzaima
d2679da7e8 ⊏: don't get in an infinite loop of f64 𝕨 2023-02-04 03:04:06 +02:00
dzaima
98f6944440 unify rank 1 and high-rank ⊏ 2023-02-03 18:55:19 +02:00
dzaima
a84ca6c5d6 strict prototypes 2023-02-03 15:33:31 +02:00
dzaima
dbe4c0b51a support character literals in native compiler 2023-02-02 22:52:02 +02:00
dzaima
356093e313 remove unwanted increment 2023-02-02 22:51:44 +02:00
dzaima
05c1270344 better 𝕨⊏𝕩 with 0=×´≢𝕨 2023-02-02 00:40:52 +02:00
dzaima
c5272b47fb allow running el2t on el_B & el_MAX
under the assumption that the result won't actually be used; but if it is, trying to free or gc the object will result in a crash
2023-02-01 22:48:10 +02:00
dzaima
c38565ab8d whitespace cleanup 2023-01-31 00:07:00 +02:00
dzaima
a650051a82 don't need an actual function object for eachd_fn / eachm_fn 2023-01-28 14:57:04 +02:00
dzaima
4a45a07a2b native ⚇0 2023-01-27 22:59:22 +02:00
dzaima
e5bbde745a native handling of ⌾{...} 2023-01-27 04:09:07 +02:00
dzaima
10705823de more squeezing changes in ⊐𝕩 and ⊒𝕩 2023-01-27 03:17:20 +02:00
dzaima
ea0aa709fe squeeze result of ⊒𝕩, copy result of ⊐𝕩 to smaller width when possible 2023-01-27 02:57:05 +02:00
dzaima
ae4c4a03ee copy ⊐ and ⊒ results to more correct element width arrays 2023-01-27 02:09:43 +02:00
dzaima
f13e82af62 fix leaking in comp.c 2023-01-26 19:27:43 +02:00
dzaima
5f9aeafec6 use switch for tokenization 2023-01-26 19:21:02 +02:00
dzaima
1a80cf312d more error checking in comp.c 2023-01-26 19:03:03 +02:00
dzaima
fbd4c79161 speed improvements for comp.c
not that it needs to be any faster
2023-01-26 03:46:25 +02:00
dzaima
422cc26054 dyadic •CompObj to replace compiler 2023-01-26 02:42:25 +02:00
dzaima
cc5a5752bf add •CompObj to NATIVE_COMPILER 2023-01-26 01:53:09 +02:00
dzaima
9abe7506ab native minimal compiler 2023-01-26 01:30:10 +02:00
dzaima
e231d36471 clean up gcc warnings 2023-01-25 17:16:24 +02:00
dzaima
c33cd81e06 use native ⁼ in ⍟(-n) 2023-01-25 15:30:54 +02:00
dzaima
73724acf1d use invalidFn_c1 instead of c1_bad 2023-01-25 15:09:07 +02:00
dzaima
31bd75630c make f=-DNO_RT functional 2023-01-25 15:05:23 +02:00
dzaima
6baa96c1e3 NEON squeeze 2023-01-25 02:22:53 +02:00
dzaima
88410c02e5 prep for NEON squeeze 2023-01-24 22:21:38 +02:00
dzaima
f91d3dfaf5 use num_squeeze directly for bytecode LSTO 2023-01-24 22:00:09 +02:00
dzaima
7768d6475f various OOM fixes 2023-01-23 23:49:27 +02:00
dzaima
b0dbd5c37b fix gcc build 2023-01-23 21:57:47 +02:00
dzaima
92c855920b unroll int×u1 2023-01-23 21:43:39 +02:00
dzaima
721dd8889b monadic arith 2023-01-23 01:22:40 +02:00
dzaima
7284eb7010 more manual unrolling in dyarith.singeli 2023-01-22 22:49:44 +02:00
dzaima
b1cace31ac don't make a slice on n⊏list 2023-01-22 19:31:11 +02:00
dzaima
679e90925a preserve ⟨a⟩ & ⟨a,b⟩ fill behavior for JIT 2023-01-22 19:24:34 +02:00
dzaima
162adbca68 more Singeli utilities 2023-01-22 18:04:52 +02:00
dzaima
86c2aa7e2c unroll non-overflowing dyarith loops for aarch64 2023-01-22 04:22:21 +02:00
dzaima
afe6707654 dyarith NEON support 2023-01-22 03:27:41 +02:00
dzaima
20daceaae5 move things in eachd_fn around 2023-01-22 01:42:20 +02:00
dzaima
7bd8331346 add more GS_UPD 2023-01-21 23:34:13 +02:00
dzaima
d84c04bc63 use incBy more 2023-01-21 00:09:47 +02:00
dzaima
e4578a345e fix 0‿1⊐"ab"‿"cd" & 0‿1∊˜"ab"‿"cd" 2023-01-19 16:04:44 +02:00
dzaima
b43184d629 fix 1‿2 +⎉0 1 2023-01-19 03:57:13 +02:00
dzaima
5cd1ee0ee3 fix NaN formatting 2023-01-18 20:08:18 +02:00
dzaima
5b8ac969db don't unroll on i8arr ↕n 2023-01-18 15:41:53 +02:00
dzaima
4945a90ff0 valgrind changes 2023-01-18 02:05:24 +02:00
dzaima
7b996c772a lea tmp,[CS+123]; mov [tmp],rax → mov [CS+123],rax 2023-01-17 20:55:39 +02:00
dzaima
40383906ec no, neither w nor h are 1, clang 2023-01-17 05:17:37 +02:00
dzaima
472e542ebd O(1) ⍉𝕩 when it doesn't reorder elements 2023-01-17 04:52:08 +02:00
dzaima
f9eb7f083c unshare shape 2023-01-17 04:38:55 +02:00
dzaima
21372a743a allow unsharing slices 2023-01-17 04:32:30 +02:00
dzaima
ec11e34dba clear old flags from in-place ¨ 2023-01-17 04:31:55 +02:00
dzaima
540b37ae6a shape replacement utility 2023-01-17 03:47:14 +02:00
dzaima
ec92b1d5ba better eachm_fn 2023-01-17 01:35:04 +02:00
dzaima
5de565f1b0 use 'debug/printf' for Singeli printf 2023-01-17 01:01:13 +02:00
dzaima
79c7aa30df reformat --help 2023-01-16 23:32:52 +02:00
dzaima
a483ac61d9 --version & version specifying in build/build 2023-01-16 19:31:14 +02:00
dzaima
dd82073c60 slightly faster ⍟list handling 2023-01-16 18:58:48 +02:00
dzaima
e0df77519e set replxx history max size higher
before it was 1000
2023-01-15 22:55:40 +02:00
dzaima
6c89982bbc unrolled Singeli loop option 2023-01-15 22:51:31 +02:00
dzaima
39605c1a98 add intrinsic file include for _mm_crc32_u32 2023-01-14 00:38:32 +02:00
dzaima
6c88499920 consistently check only for whether __BMI2__ is defined 2023-01-14 00:33:34 +02:00
dzaima
5b35c0a664 keep pext usage for bitarr/bitarr 2023-01-13 23:46:48 +02:00
dzaima
41212ab852 SLOW_PDEP option 2023-01-13 23:23:06 +02:00
dzaima
e987a5e4c0 some file path handling changes around windows 2023-01-13 19:16:13 +02:00
dzaima
376e343639 don't use manual copy loops in eachd_fn 2023-01-12 21:25:36 +02:00
dzaima
dbcd967e12 attempt at replxx-based printf 2023-01-12 17:13:42 +02:00
dzaima
46f657713c don't rely on bqn_fmt when !FORMATTER or CBQN isn't yet initialized 2023-01-09 02:30:29 +02:00
dzaima
86ae984af0 more print function renaming 2023-01-09 02:17:12 +02:00
dzaima
6f394c41ff windows: wide char printing 2023-01-09 02:00:22 +02:00
dzaima
a9c70d9d72 printing method overhaul 2023-01-09 01:42:44 +02:00
dzaima
381460e92e windows: getline fixes & discard trailing CRLF 2023-01-08 20:35:20 +02:00
dzaima
7b7c31e8b9 fix warning of unused pageSizeV for windows builds 2023-01-07 02:27:30 +02:00
dzaima
26c12e6724 add )exit & )off 2023-01-07 02:23:12 +02:00
dzaima
38ec07c34b use getline on Windows for the REPL 2023-01-06 18:02:02 +02:00
dzaima
6889121a28 getPageSize does need to return something 2023-01-06 06:10:12 +02:00
dzaima
b03bf80198 move Windows cases around
also don't make dir_create pretend it succeeds
2023-01-06 06:04:12 +02:00
actalley
815de4fd97
Address build errors on llvm-mingw to build bqn.exe with no SH, FFI, or repl support 2023-01-05 21:38:30 -06:00
dzaima
32f0a2f8fc check file size for whether we can allocate it
also "takes care" of the case when the file is a directory
2022-12-31 21:04:19 +02:00
dzaima
7d4677a8ff use COPY_TO instead of a loop in fbytes_c1
& ryu comment changes
2022-12-31 20:49:50 +02:00
dzaima
8da9c4e3a5 don't fail on •SH under VERIFY_TAIL 2022-12-31 20:31:13 +02:00
dzaima
7b3beec621 •ParseFloat 2022-12-31 20:22:22 +02:00
dzaima
fd38a5b241 use Ryu for number formatting 2022-12-31 03:19:06 +02:00
dzaima
99a82afec4 actually check character arrays in VERIFY_TAIL 2022-12-31 02:50:38 +02:00
dzaima
854acd580d respect !PROPER_FILLS in high-rank ↑ 2022-12-30 16:16:36 +02:00
dzaima
6e748ed800 remove unused rt_* globals 2022-12-30 01:50:00 +02:00
dzaima
7ff74d38e8 squeeze el_bit transpose result 2022-12-30 01:12:24 +02:00
dzaima
faf89abef0 fix ⊏˘ generic case 2022-12-30 00:21:07 +02:00
dzaima
5a9e5e8e50 native baseline high-rank 𝕨⊒𝕩 2022-12-30 00:10:03 +02:00
dzaima
ec169b1006 remove no longer necessary runtime loads 2022-12-29 23:59:44 +02:00
dzaima
83863a64fd fix gcc build 2022-12-29 23:46:24 +02:00
dzaima
b903a5d9ce fast num⊑˘simpleArr 2022-12-29 23:37:00 +02:00
dzaima
168db4cf01 fix rtWrap_unwrap refcounting 2022-12-29 23:36:50 +02:00
dzaima
0589d63cc5 fast v˙˘arr, fix arr˘arr 2022-12-29 23:36:37 +02:00
dzaima
1e3117d65f fast ⥊˘𝕩 2022-12-29 22:25:22 +02:00
dzaima
3408db320c fast num↑˘𝕩 & num↓˘𝕩 for 2≤=𝕩 2022-12-29 22:20:29 +02:00
dzaima
f6f0c12935 fast ⊑˘simpleArr 2022-12-29 22:07:38 +02:00
dzaima
a0feda9d8b fast arr˘ x 2022-12-29 22:04:06 +02:00
dzaima
47e95171f0 faster »˘ & «˘ on matrices, fix 0⊏˘↕3 2022-12-29 21:47:52 +02:00
dzaima
897ad8f649 clang really wants to special-case csz==1, but that's checked for before 2022-12-29 21:47:52 +02:00
dzaima
3f0c34e895 fast ≍˘𝕩 2022-12-29 21:47:52 +02:00
dzaima
4e88dc1004 faster ⊏˘ 2022-12-29 20:32:17 +02:00
dzaima
41efcfb632 fast ∾˝ & 𝕨ScalarFn˝𝕩 2022-12-29 18:46:14 +02:00
dzaima
8a132467d2 improve EACH_FILLS cases in ¨ & ⌜ 2022-12-28 22:38:14 +02:00
dzaima
6a9e03bdb1 use arr_shSetU/arr_shSetI inline
and use incG more in rank_c2
2022-12-28 17:31:02 +02:00
dzaima
a34bb0a433 don't unroll libc math loops 2022-12-28 16:51:17 +02:00
dzaima
4884580037 rearrange arr_shCopyUnchecked to not read SH(o) twice
and, while making a change that requires rebuilding all of CBQN, also make more of the arr_* fns return their Arr* argument to prepare for using them inline
2022-12-28 16:23:27 +02:00
dzaima
3b1b171828 don't need copying from bitarr to character arr 2022-12-28 16:17:16 +02:00
dzaima
c5a3c57f50 check for path being present for •path/•name/•state 2022-12-28 01:13:58 +02:00
dzaima
d8724e6658 update clangdCommands.bqn to new singeli defines, and enable by default 2022-12-27 23:59:48 +02:00
dzaima
33580b91ca don't error on unknown fill when not overtaking 2022-12-27 23:44:34 +02:00
dzaima
84bae20f79 don't inline load functions 2022-12-27 03:54:00 +02:00
dzaima
f424c720a7 full native 𝕨⌽𝕩 & 𝕨⌽⁼𝕩 2022-12-27 03:39:48 +02:00
dzaima
75fe558f1c detect writes past the end of a TALLOC allocation 2022-12-27 02:29:24 +02:00
dzaima
1afdd89075 allow defining custom dyadic inverses of builtins 2022-12-26 23:57:55 +02:00
dzaima
013897cc16 add runtime calls to WARN_SLOW 2022-12-26 23:15:56 +02:00
dzaima
78793ca700 -h → --help 2022-12-26 20:33:33 +02:00
dzaima
c818bf54b1 remove need of libffi from make forbuild 2022-12-26 19:38:24 +02:00
dzaima
48c2425e8b check result size being too large in ↑ 2022-12-26 18:16:11 +02:00
dzaima
7bcee07489 initialize shape properly in one case of high-rank take/drop
fixes 0‿4↑↕4 in debug builds, which just magically approximately worked before
2022-12-26 16:09:30 +02:00
dzaima
326d54e130 native list↑𝕩 & list↓𝕩 2022-12-25 13:38:43 +02:00
dzaima
8fad76762a reorder take_c2 2022-12-24 17:53:16 +02:00
dzaima
e2b45e33e1 simplify splitCells 2022-12-24 17:29:48 +02:00
dzaima
424448aa40 remove rt_memberOf & rt_indexOf 2022-12-24 17:12:35 +02:00
dzaima
95b1beb9db native high-rank ∊ & ⊐ 2022-12-24 17:08:27 +02:00
dzaima
3f40955d83 reorder indexOf_c2 2022-12-24 17:05:50 +02:00
dzaima
e3b5af8a44 fix 𝕨∊p & p⊐𝕩 with an empty high-rank p 2022-12-24 17:03:58 +02:00
dzaima
24dba9ba40 fix a bunch of small memory leaks around REPLXX
not that they'd cause any problems in practice - they're very small, and are in the one context where GC can actually run
2022-12-24 16:42:42 +02:00
dzaima
bb7fe02a45 separate checks for x86-64 & NEON Singeli importing
& restrict the processed Singeli files on NEON to the ones supported
2022-12-24 15:27:53 +02:00
dzaima
6d79ce9fb1 use arch-independent names for things suppported on both x86-64 & NEON 2022-12-24 15:26:05 +02:00
dzaima
d38316e670 BQN-based build system 2022-12-23 23:09:55 +02:00
dzaima
efcc6a28be add •file.path to autocomplete options 2022-12-23 18:08:33 +02:00
dzaima
bbc66cbf3f fix display of running multiline code while cursor isn't in last line 2022-12-23 18:06:58 +02:00
dzaima
381ce70212 backslash+enter → literal newline 2022-12-23 18:02:18 +02:00
dzaima
a6b22c75fd fast list⊐unit for more list types 2022-12-20 18:32:51 +02:00
dzaima
e69d8dc6e9 native ⌾(v⊸⌽) 2022-12-20 18:31:42 +02:00
dzaima
d05621f8f4 generic vector width calculation for NEON-supported files 2022-12-20 00:02:46 +02:00
dzaima
b91e72567d update Singeli submodule, conditional NEON includes 2022-12-19 23:31:44 +02:00
dzaima
43be832a37 fix highrank∊list deshaping the result in some scenarios 2022-12-18 23:58:10 +02:00
dzaima
8188886538 fast 𝔽´⟨x⟩ & 𝔽´⟨x,y⟩ 2022-12-18 23:49:09 +02:00
dzaima
aa4b92cb01 don't define •SH if not available 2022-12-18 23:40:55 +02:00
dzaima
29cecb0b6e remove •PrimInd 2022-12-18 23:16:36 +02:00
dzaima
6380364e62 native highrank∊vector 2022-12-18 23:05:58 +02:00
dzaima
30a6de0a31 add unrolling to aarch64 cmp.singeli 2022-12-18 22:45:42 +02:00
dzaima
f9c919d5ce getmask → homMask/topMask 2022-12-18 22:27:42 +02:00
dzaima
a07b94b889 more general equal.singeli, remove trailing semicolons 2022-12-18 21:55:20 +02:00
dzaima
2a32f52f8d blend renaming 2022-12-18 02:49:42 +02:00
dzaima
09b3279958 unified Singeli including mechanism 2022-12-18 01:54:07 +02:00
dzaima
9768526ddc move last bit of equal.singeli to loadBatch 2022-12-18 01:53:56 +02:00
dzaima
40f36fa366 Singeli-generated table for bits.singeli 2022-12-17 17:51:56 +02:00
dzaima
2c73199ed4 use Singeli-generated function tables for comparison 2022-12-16 19:04:58 +02:00
dzaima
f49dd5e8cf move cmp.singeli NaN check outside for non-x86_64 2022-12-16 17:39:51 +02:00
dzaima
6e3cb9a425 andIsZero→andAllZero; NEON andnz, blendF, sel, bitops.singeli 2022-12-16 00:44:32 +02:00
dzaima
cbd891b768 NEON widen, narrow, undefPromote; make undefPromote more restrictive 2022-12-15 23:19:00 +02:00
dzaima
6fac426f90 add v_dbl & v_half, NEON half{x,n} 2022-12-15 21:57:34 +02:00
dzaima
791e7d122f ucvt→narrow 2022-12-15 21:44:48 +02:00
dzaima
2b7291dbfb cvt{E,T,v} → widen{T,to_el{E,v}} 2022-12-15 20:31:00 +02:00
dzaima
9a9fade18a NEON loadLow, storeLow, andIsZero, maskstore, pack 2022-12-15 16:14:00 +02:00
dzaima
6f2d6bfb0b remove offset argument from maskstore; don't use w256 in mask.singeli 2022-12-15 16:13:45 +02:00
dzaima
77edc734e8 move storeLow & loadLow to sse3 & avx; fix NEON __not 2022-12-15 00:39:44 +02:00
dzaima
9fea5f1e13 neg(Any|All) → top(Any|All), msk(Any|All) → hom(Any|All) 2022-12-13 21:46:50 +02:00
dzaima
336da996b3 any/all vector check renaming 2022-12-13 02:03:17 +02:00
dzaima
7e13bf7f45 more neon.singeli 2022-12-12 02:59:11 +02:00
dzaima
444268f051 width{eltype{T}} → elwidth{T} 2022-12-12 00:07:50 +02:00
dzaima
2a1611ac81 start of neon.singeli 2022-12-11 23:59:07 +02:00
dzaima
0ef8800530 native F⌾⊢𝕩 & F⌾⊣𝕩 2022-12-08 13:26:04 +02:00
dzaima
3a3f213a92 assign broadcast{T,v} to T**v 2022-12-07 23:53:19 +02:00
dzaima
ce45d487a3 use mutating assignment 2022-12-07 23:24:26 +02:00
dzaima
07d4567a52 use spread arguments 2022-12-07 23:10:17 +02:00
dzaima
bf71fdb4f8 singeli now formats generators itself
or, well, has for a long time
2022-12-07 22:41:17 +02:00
dzaima
1b88c4cc62 don't allocate twice the memory requested 2022-12-07 22:22:34 +02:00
dzaima
af978bbc91 cave in and initialize variables in gcc 2022-12-03 23:58:33 +02:00
dzaima
6ca5050f4d reduce gcc warnings 2022-12-03 23:56:03 +02:00
dzaima
e4f4864ed2 define CBQN_EXPORT by default, add macro test for exactly gcc 2022-12-03 23:19:24 +02:00
dzaima
63e5e843ba fix f64arr/𝕩
`slow:` uses `s`, but the goto went to it before `s` was initialized
2022-12-03 23:18:43 +02:00