Commit graph

86 commits

Author SHA1 Message Date
Brendan Hansknecht
bde293db1b
remove duplicate export 2023-09-16 23:46:29 -07:00
Brendan Hansknecht
346eb80bd1
add dec trig functions 2023-09-16 22:55:23 -07:00
Brendan Hansknecht
108d9a54e3
Switch Num.tan to a zig builtin
It should be able to share some work between sine and cosine to run faster.
2023-09-16 21:27:51 -07:00
Brendan Hansknecht
7986d6cdba
add benchmark for sin and asin 2023-09-16 21:27:21 -07:00
Brendan Hansknecht
67494e00fd
add trig functions to dec in zig 2023-09-16 11:05:44 -07:00
Folkert
5bcfd91f3a
add decimal comparisons and conversions to wasm backend 2023-09-13 23:19:07 +02:00
Folkert
89472bf495
fix most dev backend tests 2023-09-13 20:24:16 +02:00
Folkert
5ca3d3bcf1
make llvm tests work again 2023-09-13 20:24:15 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Hannes
97fa6758d0 Rename trimLeft to trimStart and trimRight to trimEnd 2023-06-19 13:17:59 +08:00
Brendan Hansknecht
ca9938bf7c
add memcpy impl to builtins 2023-06-02 15:23:04 -07:00
Brendan Hansknecht
7683c5ae53
Stop using llvm instrinsics that just call libc
In a future PR. I will change zig to insure that all of these instrinsics
use musl directly and do not call out to the linked libc.
2023-05-31 20:00:04 -07:00
Brendan Hansknecht
81e8812f38
Add all fns in compiler-rt that builtins are known to depend on
Also removes the workaround in the surigical linker.
This should mean we should get clear errors if we missed a function instead of crashes/segfaults.
2023-05-30 09:21:59 -07:00
Ayaz Hafiz
3585d5bb5b
Implement hash for Dec 2023-05-26 11:38:30 -05:00
Brendan Hansknecht
b4c359588e
Seed Dict and Set
This changes Dict and Set to have a compilation depedent seed.
The seed is not exposed to userland in anyway.
This gets a much more DOS resistant Dict and Set with no cost.
2023-05-25 09:55:48 -07:00
Basile Henry
b8aaaaabda Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
Closes #5310 and closes #5309
2023-05-03 09:33:28 +01:00
Folkert de Vries
a5a91d428f
Merge pull request #5336 from roc-lang/dev-backend-list-map
dev backend: many more builtins
2023-05-01 10:20:15 +02:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer 2023-04-28 15:30:23 +02:00
Folkert
0bf3eefbf2
dev backend: Num.isMultipleOf 2023-04-27 13:50:27 +02:00
J Teeuwissen
7439ee0c8c
Merge branch 'main' into drop_specialization
Signed-off-by: J Teeuwissen <jelleteeuwissen@hotmail.nl>
2023-04-26 20:26:37 +02:00
J.Teeuwissen
ed46a1f2cb
lowlevel isUnique 2023-04-26 17:23:10 +02:00
Folkert
312fb23567
add zig builtins for wrapped mul and shift right (for 128-bit ints) 2023-04-26 14:03:50 +02:00
Folkert
2e41ef68b0
cleanup 2023-04-23 20:23:35 +02:00
Folkert
dd3d0a188e
string is empty for dev backend 2023-04-23 18:16:08 +02:00
Brendan Hansknecht
48f17a8e2c
add Str.releaseExcessCapacity 2023-03-15 15:24:59 -07:00
Brendan Hansknecht
3978059aa2
add seamless slices for str 2023-03-15 13:23:34 -07:00
Brendan Hansknecht
1319ba4844
add List.releaseExcessCapacity builtin 2023-03-13 17:43:21 -07:00
Brendan Hansknecht
dfb748fb03
misc cleanup + change refcount pointer to avoid branching 2023-03-13 14:08:24 -07:00
Brendan Hansknecht
7a927b6192
Port fromUtf8 to fromUtf8Range
All roc file calls already use fromUtf8Range.
Removed the duplicate function for simplicity.
Inlining should lead to generating the same code.
2023-03-13 14:08:23 -07:00
Brendan Hansknecht
e6964536b2
add more Num.bytesTo* functions 2023-03-12 08:41:05 -07:00
Brendan Hansknecht
785da377c8
add Num.count*Bits functions 2023-03-12 08:41:04 -07:00
Folkert
95fe9cbccd
pass the pointer to shared memory around, instead of using a global 2022-12-08 23:22:26 +01:00
Ayaz Hafiz
f29b85e244
Update builtins to use RocStr as panic type 2022-11-24 14:46:50 -06:00
Folkert
e7f3c6f281
inline dbg 2022-11-23 21:23:28 +01:00
Folkert
94cc2971a3
don't use a global on the zig side (surgical linking can't do those yet) 2022-11-05 14:08:19 +01:00
Folkert
b4878e5550
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-24 18:39:30 +02:00
Travis Staloch
c2dbed2ff5
str-graphemes: rework and add some zig tests
- rework strGraphemes() to use a mutable slice and keep track of just
`last_codepoint_len`.
- add zig tests for empty string, ascii, utf8, ascii+utf8+emoji
2022-10-22 19:29:49 -07:00
Prajwal S N
df7e4eea7e
builtin(str): implement Str.graphemes
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-22 19:29:49 -07:00
Folkert
e62ab00c65
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-09 18:46:57 +02:00
Prajwal S N
9013e4ce11
builtin(str): implement withCapacity
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-08 00:24:46 +05:30
Folkert
8c4a2f58fc
working expects in roc dev 2022-10-05 22:17:40 +02:00
Folkert
42ef5d1977
build a builtins .obj file for windows cross-compilation 2022-08-30 13:49:47 +02:00
Folkert
a22e04361c
Merge remote-tracking branch 'origin/main' into expect-fx-codegen 2022-08-23 16:28:21 +02:00
Folkert
3aa4ebb02f
get expect-fx to actually run 2022-08-12 23:03:01 +02:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Folkert
f7452b8889
pass the shared buffer to zig directly 2022-07-27 17:16:12 +02:00
Folkert
498004c554
clean up expect code when not running tests 2022-07-27 12:26:03 +02:00
Folkert
40d7e94a17
make the mmapped buffer configurable 2022-07-26 23:36:25 +02:00
Folkert
ab3a431db7
add string cloning helper 2022-07-23 00:08:01 +02:00
Folkert
b9ebd4fa27 Merge remote-tracking branch 'origin/trunk' into pretty-expect-output 2022-07-15 09:12:04 +02:00