Commit Graph

1516 Commits

Author SHA1 Message Date
Marshall Lochbaum
85f54b2b25 Check for a small return type in large-range /⁼ with a sparse table 2022-11-13 18:00:10 -05:00
Marshall Lochbaum
cd16c8a1c7 Blocked 4-byte ⍋bool and ⍒bool with Singeli 2022-11-13 18:00:10 -05:00
Marshall Lochbaum
1647e98fd2 Use Singeli code for ⍋bool and ⍒bool with 1- and 2-byte result 2022-11-13 18:00:10 -05:00
Marshall Lochbaum
6bea10de21 Implementation comments and minor refactoring for /⁼ 2022-11-13 18:00:10 -05:00
Marshall Lochbaum
7acd9d5688 Indices/Replicate implementation comments 2022-11-13 18:00:10 -05:00
dzaima
c81e95730a fix -DMM=0 builds 2022-11-13 13:47:29 +02:00
dzaima
2687c0f631
Merge pull request #54 from mlochbaum/hashint
4-byte and 8-byte hashing for self-search functions
2022-11-13 00:02:20 +02:00
dzaima
b244d7ecf5 disallow bitwise hashing for ¯0; prepare for mm_alloc taking u64 size 2022-11-12 23:45:39 +02:00
Marshall Lochbaum
7d56d61235 Hash table for Occurrence Count (⊒) 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
1be4f4c2e7 Fix value movement when resizing Classify (⊐) hash 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
62867f4533 Make brute-force Mark Firsts store result in a register (always <64 elements) 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
8560ce0f4d Move hash table initializers to functions to save some binary space 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
9adfb13355 Extend Mark Firsts hash table to handle Classify 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
37d7694c52 64-bit Mark Firsts (∊) hash table 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
dc7389a660 Mark Firsts hash table resizing policy tweaks 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
2e1b64e0ca Resizable hash table for Mark Firsts (∊) 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
8a551ab5ce Add 32-bit hash table for Classify (⊒) 2022-11-12 15:47:59 -05:00
Marshall Lochbaum
d8e4e7d96f Unify small-type and small-range tables for Classify (⊐) 2022-11-12 15:47:59 -05:00
dzaima
a64f0ada5f update src/README.md 2022-11-12 20:30:47 +02:00
dzaima
e2193a18bf
Merge pull request #58 from mlochbaum/bitgroup
Better handling for boolean Group arguments
2022-11-12 20:00:43 +02:00
dzaima
a7daeea6d9 fix (500⥊¯1‿5) ⊔ 500‿1‿3⥊3 2022-11-12 19:20:34 +02:00
Marshall Lochbaum
beb997ccb9 Avoid data movement for empty cells in Group 𝕩 2022-11-12 07:25:41 -05:00
dzaima
a1e12106ce use FILL_TO for more compact edge-case handling 2022-11-12 13:45:52 +02:00
dzaima
1241da4d74 fix group of array with empty cells 2022-11-12 13:41:45 +02:00
dzaima
eb880d7135 set result fill fill immediately instead of delaying to before return 2022-11-12 13:30:35 +02:00
Marshall Lochbaum
d2cdae4962 Fast case for bool⊔𝕩 using compress 2022-11-10 21:22:29 -05:00
Marshall Lochbaum
a3da018055 Group code for 1-bit cells 2022-11-10 14:52:45 -05:00
Marshall Lochbaum
6eb504118e Split out optimized Group cases and add comments 2022-11-10 14:52:45 -05:00
Marshall Lochbaum
801472d6d4 Implement bit_cpy versions of the Group methods that use memcpy 2022-11-10 14:52:45 -05:00
dzaima
b9d1626bf4
Merge pull request #57 from mlochbaum/ltscan
Native <` implementation using addition
2022-11-10 17:26:16 +02:00
Marshall Lochbaum
e7c1918ba0 Native <` implementation using addition 2022-11-09 12:19:02 -05:00
dzaima
bde4ac17cc
Merge pull request #55 from mlochbaum/plusscanbool
Typed boolean prefix sums
2022-11-08 17:01:17 +02:00
dzaima
87d0fa5dc7 fix gcc 9 build 2022-11-08 16:59:17 +02:00
dzaima
6467530823 use ty_u 2022-11-08 16:56:43 +02:00
Marshall Lochbaum
812b97dc51 Mark boolean +` result sorted and squoze 2022-11-07 20:23:15 -05:00
Marshall Lochbaum
666a41ab12 1- and 2-byte Singeli boolean +` 2022-11-07 17:54:11 -05:00
Marshall Lochbaum
f1ff499244 Implement multiple result types for non-Singeli +`bool 2022-11-07 17:09:41 -05:00
Marshall Lochbaum
7b3c69f9da Take sum first in boolean plus-scan; special code for sparse or boolean sum 2022-11-07 15:35:53 -05:00
dzaima
4f9af9965c clangd compilation command generating utility 2022-11-06 18:34:47 +02:00
dzaima
43b8a2ba07 note •math.Atan2 in docs 2022-11-06 16:14:59 +02:00
dzaima
fdbd36250b noinline writeNum, use loop instead of generated code 2022-11-06 03:17:31 +02:00
dzaima
fc059a77d0 noinline various things in main.c 2022-11-06 02:36:57 +02:00
dzaima
28d434a201 catch double-frees in debug mode 2022-11-06 02:11:12 +02:00
dzaima
f87a1155f5 store references instead of GC root functions to handle mutable roots
-0.21% binary size; mm_visit & mm_visitP got inlined in the gcFn-s, even though that's very pointless
2022-11-06 02:01:14 +02:00
dzaima
36111276c6 •math.Atan2 2022-11-05 20:36:54 +02:00
dzaima
25694db7ca better non-Singeli comparison 2022-11-05 20:09:30 +02:00
dzaima
c9be8516c3 deduplicate generic sort work 2022-11-05 19:41:04 +02:00
dzaima
6e552fedf5 base case implementation for ⍋c8arr & ⍋c16arr 2022-11-05 19:00:59 +02:00
dzaima
ff0bfd34bb squeeze Grade result 2022-11-05 18:48:54 +02:00
dzaima
471afb2a3f handle 256|i8arr & similar 2022-11-03 17:28:21 +02:00