Commit graph

427 commits

Author SHA1 Message Date
Brendan Hansknecht
f9abfcbb16
switch to isize subtraction for correctness 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
b73b70b6b2
fix sort bug 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
52f6c30173
init allocator in main 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
7373a76f81
add running sort directly for zig for testing 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
afe6128b1f
fix reversed case 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
f91a9d716d
remove always_tail (breaks wasm) and trust llvm to get it right (it does)...try 2, commit was missing 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
3093e79269
add final rotate merge 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
0baacb3c00
add rotate merge block 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
9e7619ef2a
add monobound binary search 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
b8f488edcf
add trinity merge 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
92330394a9
disable broken test for now 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
eba13033af
add extra note 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
1e7a03ef12
block broken case for now 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
2bbb17c1de
improve zig panic clarity 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
eef5b1a349
correctly pass in swap size 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
4bc168b185
swap cmp and cmp_data for consistency 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
013338f5f0
remove always_tail (breaks wasm) and trust llvm to get it right (it does) 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
d2129aea62
full quadsort minus final merge 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
d9d7db79e4
add core quad_swap function 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
8726c05339
add quad merge 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
5bc97b58c8
add tail merge 2024-07-28 20:33:43 -07:00
Brendan Hansknecht
eb8c91775f
add partial backwards merge 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
ea0063b992
add partial forward merge 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
2455c1dd05
update todos 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
21132a6740
add quad merge blocks 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
7164d74ad1
add cross merge 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
0f56b98bc6
reorder args to put destination first 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
87b339d09a
add quad_swap_merge 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
f631bae67a
add quad_reversal 2024-07-28 20:33:42 -07:00
Brendan Hansknecht
a7823c2164
add tailswap for 31 or less elements 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
33e6dabeba
make function args multiline and visable 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
5d2aaf7f9d
add parity merge 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
f1a7772a12
improve branch generation with bools 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
eacc3771eb
implement latest version of tiny_sort 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
9702cae99d
improve branchless code gen 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
1d534517b3
update buffer size 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
539ab1daef
update comment on branchless generation 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
8316e3f9cd
add twice_unguarded_insert 2024-07-28 20:33:41 -07:00
Brendan Hansknecht
edf797317f
cleanup calling the compare function 2024-07-28 20:33:40 -07:00
Brendan Hansknecht
c3f09d57b0
cleanup test cases a bit 2024-07-28 20:33:40 -07:00
Brendan Hansknecht
1c90e01385
add tiny_sort for 0 to 4 elements 2024-07-28 20:33:40 -07:00
Brendan Hansknecht
65ab733a63
add perf comment/concern 2024-07-28 20:33:40 -07:00
Brendan Hansknecht
8b58161c73
correct comment on branchless version 2024-07-28 20:33:40 -07:00
Brendan Hansknecht
52af8c588e
start adding the basis for quadsort for blitsort 2024-07-28 20:33:39 -07:00
Brendan Hansknecht
82764dc697
switch to passing the copy function into zig (implement llvm) 2024-07-21 19:04:57 -07:00
Brendan Hansknecht
d028aa3c74
try a different formulation. Maybe it will avoid lookup table 2024-07-21 18:17:37 -07:00
Brendan Hansknecht
f3cae9147c
generate all static size memcpy's 2024-07-21 17:03:07 -07:00
Brendan Hansknecht
fec875d045
have zig generate more efficient copy functions 2024-07-21 14:56:21 -07:00
Brendan Hansknecht
2772aa4912
fix slice refcounting mistakes that can modify data before a list 2024-07-17 22:19:40 -07:00
Brendan Hansknecht
2fd2c25c13
guard all inc and dec calls in zig by elements_refcounted to avoid noop loops 2024-07-13 10:39:58 -07:00