Commit Graph

2621 Commits

Author SHA1 Message Date
dzaima
4da38bc46c move makefile-based CBQN building to build/makefile
reduces latency of build.bqn-based builds going through the makefile by making logic for CBQN building not run (all makefile ifeq/$(shell)/etc logic always runs regardless of whether it'll ever be used for the current build)
2023-11-20 14:24:05 +02:00
dzaima
d1f66dc75b check created bitarr size for overflow 2023-11-18 19:56:39 +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
c8cdaf0216 Clear assumption about assignment result in const-folder 2023-11-17 17:44:32 +02:00
dzaima
2b56a300bc probably make ⊔ able to handle output subarray lengths over 2^32
still no support for (≠𝕨)≥2⋆32 though
2023-11-17 00:40:26 +02:00
dzaima
46e8ed1a3f fix SSE4.2 usz=64 build 2023-11-13 23:28:30 +02:00
dzaima
59208af520 remove old group path
effectively only got used for f64arr 𝕨; could transform to doing just that, but its inefficient type of the group arrays make it bad for that too
2023-11-13 23:16:02 +02:00
dzaima
f037754880 more specific empty array types 2023-11-13 23:16:02 +02:00
dzaima
8c7a3be036 remove unused includes 2023-11-13 21:48:01 +02:00
dzaima
e4cef4f46c
Merge pull request #96 from mlochbaum/search
Fast 32- and 64-bit dyadic search hash tables
2023-11-13 18:18:04 +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
dzaima
5910c93fcb silence some warnings & errors in various build types 2023-11-13 12:54:49 +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
7b79dfc94e Update search implementation comments 2023-11-09 15:20:50 -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
52bca6a55c Multiple IndexOfOne to search for a few values in a large array 2023-11-06 12:16:59 -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
0391cf4ca3 Fast number-character (no matches) searches 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