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
Brendan Hansknecht
9052fbd09c
fix List.sublist and add some more refcounting tests
2024-07-13 10:39:58 -07:00
Brendan Hansknecht
4e8f916204
correct pointer alignment on decref
2024-07-13 10:39:57 -07:00
Brendan Hansknecht
675e0693a4
clarify function name
2024-07-13 10:39:57 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
94cb4fb8ff
remove inc functions from list.map*, the closure will inc in necessary
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
266fe4bdc8
fix zig tests
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
175255cf86
remove accidental .zig-cache
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
6b761f6f81
fix zig builtin compilation and warnings
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
48eb9c31a9
update list generated refcounting functions for dev and wasm
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
0d0a4a8806
Update refcounting of list builtins to the new system.
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
44cd1ee9c4
Avoid accessing unallocated bytes in list.incref
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
a1d08702a4
Update roc_std List to handle size on the heap
...
This increased the number of failing tests for some reason (more segfaults).
That said, I think it is correct.
Probably just exposing errors from elsewher that haven't been addressed (maybe causing a double free).
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
3c842196fa
Update LLVM to properly increment and decrement lists
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
255cc31ad9
change zig bitcode refcounting to require whether or not an element is refcounted
...
This also requires zig bitcode to have access to the dec functions for elements.
This is needed so that zig will be able to free elements in lists.
2024-07-13 10:39:51 -07:00
shua
f7bec802c0
PR: rename to List.concatUtf8
2024-06-08 13:36:20 +02:00
shua
33e8a7a439
implement Str.concatUtf8
2024-06-07 19:05:52 +02:00
Fabian Schmalzried
546cb17fb9
cut high bits for to large fraction an exponent
2024-04-01 21:08:14 +02:00
Fabian Schmalzried
11998b9cc8
f32FromParts and f64FromParts for repl
2024-04-01 21:08:10 +02:00