Commit Graph

162 Commits

Author SHA1 Message Date
Marshall Lochbaum
e898a81d68 Use a possibly-overlapping word and constant-length loop in k/bool, like ⊣` 2025-03-09 08:44:42 -04:00
Marshall Lochbaum
302c2f926f AVX2 k/bool for odd 64<k<256 using shift-based masks 2025-03-09 08:44:42 -04:00
dzaima
bdf9a52625 more proper error messages for /⁼𝕩 2025-03-02 19:50:01 +02:00
tankorsmash
5790d126cd add best effort guesses for many more builtin error messages 2025-02-05 19:56:08 -05: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
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
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
dzaima
3d4a31ae6f access function/modifier runtime ID through macro 2024-10-10 02:38:17 +03:00
dzaima
4eb632a48d TO_GET helper 2024-09-21 21:26:02 +03:00
dzaima
f19a8effc4 suppress warning 2024-09-12 05:49:42 +03:00
dzaima
41785cb4bf Singeli const¨⌾(m⊸/)b 2024-09-10 01:45:56 +03:00
dzaima
37a3694df7 restore usage of bitarr_ptr where appropriate 2024-08-15 17:36:43 +03:00
dzaima
5098781ffc replace all bitarr_ptr usages with bitany_ptr 2024-08-15 17:36:43 +03:00
Marshall Lochbaum
b2758d355c k/bool cleanup and implementation comments 2024-08-14 14:51:01 -04:00
Marshall Lochbaum
bf69705c82 Factor (8×k)/bool as bit-replicate, then byte-replicate 2024-08-14 10:30:26 -04:00
Marshall Lochbaum
0602927b17 Move pdep-based k/bool code to Singeli 2024-08-14 10:30:26 -04:00
dzaima
ced082cc82 use custom valgrind pdep/pext everywhere 2024-08-09 00:32:27 +03:00
dzaima
0319be27ea fix bad error message on /⁼3‿3⥊0 2024-06-29 02:59:15 +03:00
Marshall Lochbaum
f0f130c42e Use a lookup table for evenly-spaced masks, getting division results from those 2024-06-18 07:46:31 -04:00
dzaima
5600bb189a fix ⟨1,2⋆62⟩/2⥊<⋈0 2024-04-20 21:24:51 +03:00
dzaima
61e068086e fix (2⋆25)/(2⋆10)⥊10 2024-04-03 22:14:04 +03:00
dzaima
b8730798c1 explicitly handle empty cells in compress 2024-04-03 05:59:35 +03:00
dzaima
5ab49ab146 slash.c cleanup 2024-04-03 05:59:35 +03:00
dzaima
1318026c4e a bunch of vfor 2024-02-13 22:34:16 +02:00
dzaima
3fc3338256 extract independent load from loop 2024-02-13 22:33:54 +02:00
dzaima
c078f62b1f add GLOBAL, INIT_GLOBAL, or const to globals 2024-02-01 21:13:39 +02:00
Marshall Lochbaum
5f3a4769be Rename constrep.singeli to replicate.singeli; not just constant now 2023-12-31 15:30:20 -05:00
Marshall Lochbaum
e50ae40f8b Port replicate-by-scan code from C to Singeli 2023-12-31 15:26:58 -05:00
dzaima
f0c1962596 more typed ⌾(list⊸⊏) 2023-12-19 17:41:17 +02:00
dzaima
470e77b6b3 more typed 𝔽⌾(m⊸/) 2023-12-15 23:53:26 +02:00
dzaima
94b1d90995 SSE2 & NEON /⁼ 2023-12-14 18:08:56 +02:00
Marshall Lochbaum
00c454d37a Add generic-architecture versions of Singeli scans 2023-08-26 07:26:33 -04:00
dzaima
f0d6a65240 move unaligned load/store helpers to stuff.h
also replace a NULL with "" to make iBuf+0 not be UB
2023-08-25 03:24:42 +03:00
Marshall Lochbaum
2dd3a0fdfa Boolean compress implementation comments 2023-08-07 15:33:37 -04:00
Marshall Lochbaum
4e9745688b Use generic boolean Compress as the sparse case with Singeli 2023-08-07 13:47:58 -04:00
Marshall Lochbaum
a7908a10b0 Faster, sparse, non-Singeli boolean Compress 2023-08-07 12:26:40 -04:00
Marshall Lochbaum
056b18edd2 Move pext-based compress loop from C to Singeli 2023-08-05 20:38:54 -04:00
Marshall Lochbaum
7767cf933f Remove boolean Compress overallocation: not needed with w masked off 2023-08-05 20:38:54 -04:00
dzaima
6e96600878 move unaligned load & store to base.singeli 2023-07-20 00:21:09 +03:00
dzaima
6930bc34b6 further update slash.c implementation comments 2023-07-19 16:51:24 +03:00
Marshall Lochbaum
301a23fb1f Update where/compress implementation comments 2023-07-19 09:35:40 -04:00