dzaima
b07a32d0da
actually test proper negative & positive NaNs
2023-11-22 22:51:53 +02:00
dzaima
469cf08647
nogit=1 option, various readme changes
2023-11-22 20:54:43 +02:00
dzaima
96da7af1c2
add usz=64 make option, document limitations
2023-11-22 20:27:44 +02:00
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
4cf0634b80
rearrange makefiles, remove replxx support from build/makefile
2023-11-21 00:18:18 +02:00
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