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