Commit Graph

132 Commits

Author SHA1 Message Date
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
Marshall Lochbaum
64d65ae837 Never use generic dense compress methods if use_table: where is faster 2023-07-18 21:35:12 -04:00
Marshall Lochbaum
68978f7e10 Table-based 1- and 2-byte Where 2023-07-17 16:05:06 -04:00
Marshall Lochbaum
8b297ae2dc Dedicated 32-bit Singeli where, taking index offset 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
3bd8d1de68 Extend all Singeli Compress methods to do Where 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
4415869496 Generic Singeli where implementation 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
f5121f6806 Thresholds for compress methods (versus sparse) defined in Singeli 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
f852d12a5c Generic Singeli compress implementation 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
d956ba921b Non-overwriting 1-byte and 2-byte compress/where 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
8f4b1966cb Non-overwriting AVX2 4-byte and 8-byte compress, using a buffer 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
0921fc2c62 AVX2 compress implementations using permutevar and lookup tables 2023-07-16 21:56:33 -04:00
Marshall Lochbaum
f315a6d3ea Emulate pext instruction in Singeli 2023-07-16 21:56:33 -04:00
dzaima
cd7807fba0 NEON constrep 2023-07-10 17:11:15 +03:00
dzaima
6b5815dcc2 fix shape of k/n‿1⥊1 2023-07-10 02:40:36 +03:00
dzaima
0f2ef4384c don't inline groups_lt 2023-05-09 00:14:14 +03:00
dzaima
300d217ee8 move SIMD constrep functions to a table 2023-05-09 00:14:14 +03:00
dzaima
0598ce8357 use getFillQ less 2023-05-09 00:14:14 +03:00
dzaima
bb7c37960e a round of more incG/incByG 2023-04-29 17:39:13 +03:00
dzaima
3b580cbd0c rename unit creation methods 2023-04-29 17:39:13 +03:00
dzaima
865257fdb6 more header file cleanup 2023-04-29 17:39:13 +03:00
dzaima
c50674d63a always overallocate by 4 bytes in 32-bit output case for /bitarr 2023-04-23 15:11:58 +03:00
dzaima
9951f20751 clean up some error messages 2023-04-08 22:12:15 +03:00
Marshall Lochbaum
9d7d330a03 Use AVX2 counting for 1-byte counting sort 2023-04-06 11:32:34 -04:00
Marshall Lochbaum
0e5b98c491 Return max from AVX2 counting function 2023-04-06 11:32:34 -04:00
Marshall Lochbaum
b655dd4771 AVX2 counting function for small-range 1-byte /⁼ 2023-04-06 11:32:04 -04:00
dzaima
0aca470931 more explicit inline requiring 2023-04-06 13:12:11 +03:00
dzaima
3a45eac1aa separate SSE2, implement SSE2 dyarith & bitsel
also separate maskstore to homogeneous & top bit mask variants, and make blend require equal element widths
2023-04-01 20:40:23 +03:00
dzaima
13eebb1759 move all singeli builds to build.bqn, add has=
also:
include commit-based version by default for build/build
expand things included in --version
don't require Singeli for BMI2 usage in bitarr/bitarr
2023-03-31 19:15:23 +03:00
dzaima
1f70c08aa2 fillarr NOGC 2023-03-26 15:43:59 +03:00
dzaima
8194f51b30 MAKE_MUT_INIT, move mut_init to mut.c 2023-03-11 16:52:09 +02:00
dzaima
01c457b77b make all cpy.*Arr function results Arr* 2023-03-11 16:51:13 +02:00