Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes
2022-07-01 17:37:43 +02:00
Brian Carroll
320bdcc13b
wasm: implement all multiplication operators
2022-06-22 23:36:01 +01:00
Brian Carroll
f4ec2617fa
wasm: implement all subtraction operators (checked, wrapping, panicking, and saturated)
2022-06-22 22:54:09 +01:00
Brian Carroll
b1193e4134
wasm: implement all addition operators (wrapping, panicking, saturating, and checked)
2022-06-22 22:11:46 +01:00
Brian Carroll
10676d3ce9
wasm: implement checked addition
2022-06-22 22:11:39 +01:00
Brian Carroll
f5b46bf650
wasm: implement sin, cos, tan, sqrt, log, and pow
2022-06-21 23:59:38 +01:00
Richard Feldman
fb5f30e5ed
Rename Arm to Aarch32, fix some of its code gen
...
As far as I can tell, Aarch32 only supports 32-bit
registers, so its pointers should be 4 bytes and
its F64 alignment should be 4 bytes as well
(because it's emulated in software).
2022-05-24 12:08:08 -04:00
Richard Feldman
4f43210218
Use target_info for discriminant alignment
2022-05-20 23:36:55 -04:00
Richard Feldman
36f64d8496
Merge remote-tracking branch 'origin/trunk' into hostgen
2022-05-07 18:49:25 -04:00
Richard Feldman
b9dbfa8c33
Always use 16B alignment for 128-bit ints
2022-05-07 10:52:31 -04:00
Richard Feldman
4763e828b7
Don't use mem::align_of in code generation!
...
See the comments added in this commit for the reason.
2022-05-07 10:28:19 -04:00
Folkert
07383e96f0
Merge remote-tracking branch 'origin/trunk' into i/2792
2022-05-06 20:17:53 +02:00
Folkert
64b633bea6
make round return an integer
2022-05-06 20:17:40 +02:00
Folkert
5755475b3a
add ListIsUnique lowlevel operation
2022-05-06 13:56:35 +02:00
Ayaz Hafiz
fa8108e3a8
SJLJ roc_panic on AArch64
...
```
$ uname -m
arm64
$ cargo test -p test_gen gen_num::abs_min_int_overflow
Finished test [unoptimized + debuginfo] target(s) in 0.09s
Running src/tests.rs (target/debug/deps/test_gen-b2041868d2cf26f3)
running 1 test
test gen_num::abs_min_int_overflow - should panic ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 933 filtered out; finished in 0.14s
```
2022-04-27 22:43:34 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques
2022-04-25 10:59:42 -04:00
Brendan Hansknecht
577282ced3
have zig allocate all refcounts
2022-04-01 14:06:28 -07:00
Brendan Hansknecht
2e70bb8458
remove list set low level
2022-02-27 15:07:09 -08:00
Brendan Hansknecht
ba2e8cd32b
Add base piping for list.Replace
2022-02-24 17:58:56 -08:00
ayazhafiz
e22c9d8168
Fix a typo
2022-02-21 10:29:24 -05:00
ayazhafiz
13067f2908
Implement Num.toNNNChecked
...
Closes #2411
2022-02-19 16:20:21 -05:00
Richard Feldman
9b05d8dd50
Move expect
zig code out of utils
2022-02-02 19:15:47 -05:00
Richard Feldman
a55ff62e6c
Merge remote-tracking branch 'origin/trunk' into expect-dont-panic
2022-01-30 20:22:26 -05:00
Folkert
7e38309364
make alignment target-specific
2022-01-26 17:24:52 +01:00
Folkert
fbd26c598e
provide target info to number alignment function
2022-01-26 17:19:53 +01:00
Chelsea Troy
085c02ffee
Infrastructure to test and implement the replacement of an 'expect' failure with an error production
...
Last command run was 'cargo test expect_fail'
2022-01-16 22:01:22 -06:00
ayazhafiz
abe42781d5
Use unsigned LLVM intrinsic arithmetic for unsigned integers
...
Closes #2331
2022-01-10 19:20:51 -05:00
rvcas
c4e6349714
fix(bitcode): leave a comment explaining why u64 is not used
2021-12-28 13:07:05 -05:00
rvcas
715c441b25
fix(int_instrinsic): these should be unsigned
2021-12-27 19:07:52 -05:00
Richard Feldman
1ce648ac27
Merge pull request #2116 from rtfeldman/str_to_num
...
Str.toNum
2021-12-09 09:48:38 -05:00
rvcas
bc5b1abcba
feat(Str.toNum): support decimal
2021-12-02 15:35:34 -05:00
Folkert
69fc1ad7e7
sketch of StrToNum
2021-12-01 15:33:16 +01:00
Brian Carroll
6e5acadfea
Create new lowlevels for refcounting
2021-11-30 09:57:00 +00:00
Folkert
7fc79c3d40
fix typo
2021-11-21 19:20:05 +01:00
Folkert
123c963ff1
llvm build working
2021-11-21 00:23:59 +01:00
Folkert
c4ec9aa898
working mono
2021-11-20 23:25:30 +01:00
Michael Downey
d946b84e63
adding initial List.all
2021-11-16 16:34:36 -05:00
satotake
c253273490
Merge branch 'trunk' into refactor-builtin-list-drop
2021-11-15 11:37:32 +00:00
satotake
8e29daa160
remove low-level List.drop
codes
2021-11-15 11:28:38 +00:00
Theo Felippe
8d7c252fce
implemented Str.trimRight
2021-11-13 18:02:58 +00:00
satotake
9ec2bc7946
Remove takeFirst
and takeLast
from backend
2021-11-13 06:03:18 +00:00
satotake
98d2c57edf
move List.sublist to backend
2021-11-13 04:57:28 +00:00
Folkert de Vries
eb1b6d97bf
Merge branch 'trunk' into str_trim_left
2021-11-10 14:06:01 +01:00
Michael Downey
07cd3850d7
Merge branch 'trunk' into str_trim_left
2021-11-09 19:43:26 -05:00
Folkert
a9ce02799c
WIP
2021-11-09 21:37:56 +01:00
Michael Downey
1bc278d962
initial commit of Str.trimLeft
2021-11-09 14:25:24 -05:00
Folkert
94efbd0e95
Merge remote-tracking branch 'origin/trunk' into builtins-list-take-last
2021-11-09 16:18:19 +01:00
satotake
772fc9c021
Implement List.takeLast
2021-11-09 12:26:17 +00:00
ayazhafiz
f65b174ab5
Implement List.find
...
`List.find : List elem, (elem -> Bool) -> Result elem [ NotFound ]*`
behaves as follows:
```
>>> List.find [1, 2, 3] (\n -> n > 2)
Ok 2
>>> List.find [1, 2, 3] (\n -> n > 4)
Err NotFound
```
We implement this as builtin in two phases. First, we call out to a
pure-llvm-lowlevel `ListFindUnsafe` that returns a record indicating
whether a satisfying element was found, and the value of that element
(the value is all null bytes if the element wasn't found). Then, we lift
that record to a `Result` via a standard construction of the can AST.
Closes #1909
2021-11-08 21:03:14 -05:00
satotake
878400f95f
Implement List.takeFirst
2021-11-08 14:10:53 +00:00