Lars Frogner
560171c238
Add Num.[f32,f64,dec]_[to,from]_bits
builtins and deprecate Num.[f32,f64]_[to,from]_parts
( #7741 )
...
* Add `Num.[f32,f64,dec]_[to,from]_bits` builtins
* Update mono tests
* Deprecate `Num.[f32,f64]_[to,from]_parts`
2025-04-18 10:10:45 +02:00
Brendan Hansknecht
a2b4f64c6e
always use atomic refcounting
2025-03-26 20:46:13 -07:00
Brendan Hansknecht
c21cf9b8d6
switch roc to atomic refcounts
2025-03-26 20:38:34 -07:00
Norbert Hajagos
4fd013eee8
remove unnecesarry capacity check within Str equals
2025-01-24 16:23:14 +01:00
Norbert Hajagos
fc0a9ec4cf
add with_ascii_uppercased and caseless_ascii_equals to Str
2025-01-23 15:21:11 +01:00
shua
6c29d7aa1f
Merge branch 'main' into fromutf-roc
2025-01-20 19:16:38 +01:00
Norbert Hajagos
06640edb63
Use parens, not WSA in tests, add docs linebreaks, factor calls into a var.
2025-01-20 10:58:44 +01:00
Norbert Hajagos
8403f1ea19
with_ascii_lowercased zig builtin
2025-01-20 10:58:41 +01:00
shua
414fecd14d
add fromUtf16 and 32, as well as lossy variants
2025-01-15 00:17:09 +01:00
Brendan Hansknecht
ec8aeaa15a
zig fmt
2025-01-10 20:39:38 -08:00
Brendan Hansknecht
7643f89781
Merge branch 'main' into simplify-refcount
...
Signed-off-by: Brendan Hansknecht <Brendan.Hansknecht@gmail.com>
2025-01-10 20:34:52 -08:00
Norbert Hajagos
9689656845
remove unused var causing errors in debug tests.
2025-01-10 21:34:11 +01:00
Luke Boswell
37cd04c002
Merge branch 'main' into simplify-refcount
2025-01-09 10:18:00 +11:00
Sam Mohr
b56fbd38e1
Progress on updating entire compiler for snake_case
2025-01-05 03:48:03 -08:00
Brendan Hansknecht
66c1d5f425
fix perf on x86
2025-01-01 21:19:01 -05:00
Brendan Hansknecht
b9832dd6d3
remove unnecessary pub
2025-01-01 14:19:41 -08:00
Brendan Hansknecht
0d800252f3
avoid storing refcount instead load it. That optimizes beter for some reason
2025-01-01 14:03:49 -08:00
Brendan Hansknecht
78530141a1
fix tests
2025-01-01 13:35:08 -08:00
Brendan Hansknecht
26bd2d437e
if the user reserves a specific number of elements, trust them
2025-01-01 13:00:34 -08:00
Brendan Hansknecht
c6d594a758
cleanup constant refcount checking
2025-01-01 12:28:16 -08:00
Brendan Hansknecht
4b8693537a
Simplify Refcounting
...
Instead of -max_size to -1 for regular refcounts, use 1 to max_size.
0 still means constant refcount.
The highest bit is used to signify atomic refcounting required.
This does not turn on any sort of atomic refcounting.
2025-01-01 11:00:18 -08:00
Brendan Hansknecht
8ad6c47211
also update is_unique for atomic isize
2024-12-31 20:52:04 -08:00
Brendan Hansknecht
f901946455
Improve roc atomic refcounting by using first bit to indicate threadlocal
...
By avoiding atomic refcounting for any threadlocal variable, this greatly improves performance.
Leads to the performance of threadlocal refcounting being only ~4% behind non-atomic refcounting.
The old atomic refcounting could be as far as ~50% behind (though normally 10-20%).
This does not enable anything atomic related.
If we enable all forms of data loading (List.get, Box.unbox, loading recursive tag) to propagate the atomic flag,
this should be a reasonable implementation for roc by default.
With propagation, a platform would just set a list to atomic. On load, individual elements would also get set to atomic.
We also should probably revert back to threadlocal if an atomic refcount drops to 1.
2024-12-31 20:52:03 -08:00
Brendan Hansknecht
4bad31f1ac
fixes from last merge of main
2024-12-11 16:47:19 -08:00
Brendan Hansknecht
0a573ca557
Merge remote-tracking branch 'origin/main' into upgrade-llvm-zig
2024-12-11 16:38:34 -08:00
Brendan Hansknecht
6e9f6843c4
Merge pull request #7319 from roc-lang/dec-mul
...
fix dec multiplication with overflow and saturation
2024-12-08 17:08:52 -08:00
Brendan Hansknecht
562032e2d8
fix dec multiplication with overflow and saturation
...
fixes #7276
2024-12-08 11:14:38 -08:00
Ayaz
793a95264d
Merge branch 'main' into wrapped
2024-12-08 13:54:43 -05:00
Mattthew Heath
3aeab753b4
tidying
2024-12-06 18:44:10 +00:00
Mattthew Heath
8c2cdeb332
aligns at 16 finally
2024-12-06 18:35:49 +00:00
Mattthew Heath
addd826511
Revert "aligns as 8"
...
This reverts commit 82a70c79b8
.
2024-12-06 17:47:08 +00:00
Mattthew Heath
82a70c79b8
aligns as 8
2024-12-06 17:33:12 +00:00
Mattthew Heath
b33f1b0981
aligns as usize
2024-12-06 17:16:24 +00:00
shua
6f4e501069
impl add/sub/mul wrapped for u128/i128
2024-12-01 22:26:25 +01:00
shua
6dfa458e6c
Num.powInt: panic on overflow
2024-11-30 11:26:42 +01:00
Luke Boswell
2feb5d3c2e
Merge remote-tracking branch 'remote/main' into upgrade-llvm-zig
2024-11-29 08:58:47 +11:00
JRI98
61ca278e31
Fix division of zero by zero for Dec
2024-11-27 23:38:21 +00:00
Isaac Van Doren
d99c347998
rename Str.split
2024-11-15 21:12:23 -06:00
Luke Boswell
915097d792
Merge remote-tracking branch 'remote/main' into upgrade-llvm-zig
2024-10-08 18:21:24 +11:00
Aurélien Geron
c10b25cf6e
Fixes #7065 in List.dropAt, author: @bhansconnect
2024-09-19 10:43:05 +12:00
Luke Boswell
f3b5498951
upgrade sort.zig to zig 13
2024-07-31 14:15:04 +10:00
Luke Boswell
96db1bdce2
Merge remote-tracking branch 'remote/main' into upgrade-llvm-zig
2024-07-31 14:01:50 +10:00
Brendan Hansknecht
e69532d3b3
update tuning todo
2024-07-28 20:33:48 -07:00
Brendan Hansknecht
90d3bb6a08
wire indirect through everything as a comptime bool
2024-07-28 20:33:48 -07:00
Brendan Hansknecht
22896d309a
fix a another bug caught by fuzzing
2024-07-28 20:33:48 -07:00
Brendan Hansknecht
7747f06504
fix a few bugs caught by fuzzing
2024-07-28 20:33:48 -07:00
Brendan Hansknecht
400393a531
remove wrong assert
2024-07-28 20:33:48 -07:00
Brendan Hansknecht
285c43e288
make fuzzer better and add missing else
2024-07-28 20:33:48 -07:00
Brendan Hansknecht
109dba836e
clarify comments and variable names, fix small bug
2024-07-28 20:33:47 -07:00
Brendan Hansknecht
51a3ea655c
minor cleanup
2024-07-28 20:33:47 -07:00