Commit Graph

439 Commits

Author SHA1 Message Date
dzaima
8814a7e66e use 2x unroll for i16→u1 copying to utilize two-vector homMask 2023-11-21 02:45:33 +02:00
dzaima
773429a959 recursive base-case of homMask 2023-11-21 02:40:50 +02:00
dzaima
08fa7d3d30 specialize x86-64 homMask of 2x[n]i16, use for comparison 2023-11-21 02:29:03 +02:00
dzaima
3ebfb24b0f unroll copying to bitarr
+ clean up comparison code as bulk homMask is supported everywhere
2023-11-21 00:18:18 +02:00
dzaima
fe985722c2 move multi-vector homMask to allow NEON to override it 2023-11-21 00:18:18 +02:00
dzaima
56cbe4aa03 mulHi → mulh for high half of element result
to not be confused with mulwHi or zipHi where it means providing the high batch of elements
2023-11-18 00:43:20 +02:00
dzaima
46e8ed1a3f fix SSE4.2 usz=64 build 2023-11-13 23:28:30 +02:00
dzaima
b4e53abbe4 some comments 2023-11-13 16:38:02 +02:00
Marshall Lochbaum
c94d51dcaf Fixes for 64-bit usz 2023-11-13 08:24:51 -05:00
dzaima
4fb6ce602f add a require{} for CRC32 2023-11-13 12:56:48 +02:00
Marshall Lochbaum
09572de49a Credible resizing policy for dyadic search hashes 2023-11-12 22:07:29 -05:00
Marshall Lochbaum
ee7a11a279 Unify self-search hash thresholds across primitives; doesn't seem to hurt performance 2023-11-12 14:35:25 -05:00
Marshall Lochbaum
5957487b70 Faster iteration over non-empty entries for hash table resizing 2023-11-11 20:24:20 -05:00
Marshall Lochbaum
b404c7c1d1 Eliminate a loop when resizing ordered hash 2023-11-11 20:24:20 -05:00
Marshall Lochbaum
3a50cda5d3 Specialize Index-of tables on result type 2023-11-10 17:12:37 -05:00
Marshall Lochbaum
b782693d15 Insert maxh to a special end bucket for ⊒ and reverse ⊐ (fixes ⊒ maxh bugs) 2023-11-10 12:04:55 -05:00
Marshall Lochbaum
e1b0c53c92 Fix various sentinel bugs 2023-11-09 20:24:46 -05:00
Marshall Lochbaum
2c625127d5 Reverse hashed Index-of 2023-11-09 10:39:07 -05:00
Marshall Lochbaum
f1485ca98c Turn hash function definition structure inside-out 2023-11-09 09:19:47 -05:00
Marshall Lochbaum
aded9d4782 Shortcutting for reverse Member-of hash 2023-11-08 17:34:33 -05:00
Marshall Lochbaum
8e9c04523a Fix overflow bug in hashed Member-of max_off calculation 2023-11-08 10:28:14 -05:00
Marshall Lochbaum
c75fdbc277 Reverse Member-of hash lookup 2023-11-07 22:07:17 -05:00
Marshall Lochbaum
8a2190b092 64-bit hashes with float normalization 2023-11-07 14:54:16 -05:00
Marshall Lochbaum
a4290b1f5c Shortcut for hash-table dyadic ⊒ 2023-11-07 09:59:53 -05:00
Marshall Lochbaum
4bf4149d40 Use hash deletion for forward ⊒ as well as reverse 2023-11-07 09:41:50 -05:00
Marshall Lochbaum
289658a59c Delete hash entry as soon as it's cleared, not on next access 2023-11-07 07:53:45 -05:00
Marshall Lochbaum
30331eb800 Fix write off end for reverse ⊒ 2023-11-07 07:15:17 -05:00
Marshall Lochbaum
c042fe6ca3 Vector binary search for integer Index-of 2023-11-06 15:43:26 -05:00
Marshall Lochbaum
d154ece51a Vector binary search for 16-bit Member-of in addition to 32 (8 is too slow) 2023-11-06 09:37:58 -05:00
Marshall Lochbaum
11245d385e Vector binary search Member-of 2023-11-05 22:10:39 -05:00
Marshall Lochbaum
75aed91f32 And max offset of 8 by testing two vectors 2023-11-05 15:46:26 -05:00
Marshall Lochbaum
ec31543604 Vector Member-of search up to an offset of 4 2023-11-05 15:45:07 -05:00
Marshall Lochbaum
af81da50e4 Don't need to initialize indices for hashed Index-of 2023-11-04 17:52:22 -04:00
Marshall Lochbaum
1286ee32ec Reverse lookup for hashed Progressive Index-of 2023-11-03 21:58:17 -04:00
Marshall Lochbaum
84f3205547 Use a larger initial hash table if non-hashed argument is large 2023-11-03 21:50:38 -04:00
Marshall Lochbaum
a9f33c1454 Refactoring 2023-11-03 16:38:08 -04:00
Marshall Lochbaum
8aa6c07199 And hashed 32-bit Progressive Index-of 2023-11-02 20:29:54 -04:00
Marshall Lochbaum
64f2a10fbb Return hash_resize{} from hash_alloc{} 2023-11-02 13:21:11 -04:00
Marshall Lochbaum
d54621b5dd Extend hash table to 32-bit Index-of 2023-11-02 12:00:32 -04:00
Marshall Lochbaum
ed03720441 Robin Hood hash table for 32-bit membership 2023-11-01 15:46:45 -04:00
Marshall Lochbaum
cb8be206be Move hash allocation to a generator 2023-10-31 22:09:11 -04:00
Marshall Lochbaum
ee856a4880 Move hash resizing to a generator, and other refactoring 2023-10-31 22:09:11 -04:00
Marshall Lochbaum
0fb845d336 Move self-search hash table code to Singeli 2023-10-31 22:09:11 -04:00
dzaima
9c68e67544 fix compilation error when targeting AVX1-only 2023-10-07 13:22:27 +03:00
Marshall Lochbaum
6330d61a88 Some rearrangement and minor simplifications 2023-09-12 10:24:00 -04:00
Marshall Lochbaum
72da47d48a Use standard for loops 2023-09-12 09:12:57 -04:00
Marshall Lochbaum
40ed55bc43 Use built-in NEON include for basic vector instructions 2023-09-11 21:17:38 -04:00
Marshall Lochbaum
7b9f7ba331 Move x86 vector and NEON includes into base.singeli 2023-09-11 20:25:25 -04:00
Marshall Lochbaum
082f800b3e Combine x86 vector extensions and use iintrinsic/basic when possible 2023-09-11 20:11:16 -04:00
Marshall Lochbaum
c85ca66dae Unify Scan and Bins min-scan code 2023-08-26 09:27:59 -04:00