diff options
| author | gingerBill <bill@gingerbill.org> | 2021-09-25 15:38:56 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-09-25 15:38:56 +0100 |
| commit | fa0d58f96ea0d576cf4adbd77480cfd4ce0510c4 (patch) | |
| tree | 6dcb43d5498b94bbacf647672d42dc24fb27787a /core | |
| parent | ebc09d5e4ee956e2ffa7e18f9f0c57af6433c64b (diff) | |
Correct f64 -> u128/i128 generation
Diffstat (limited to 'core')
| -rw-r--r-- | core/runtime/internal.odin | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/runtime/internal.odin b/core/runtime/internal.odin index 139d8d666..b7b5850cb 100644 --- a/core/runtime/internal.odin +++ b/core/runtime/internal.odin @@ -763,3 +763,17 @@ floattidf_unsigned :: proc(a: u128) -> f64 { fb[1] = u32(a) // mantissa-low return transmute(f64)fb } + + + +@(link_name="__fixunsdfti") +fixunsdfti :: proc(a: f64) -> u128 { + x := u64(a) + return u128(x) +} + +@(link_name="__fixunsdfdi") +fixunsdfdi :: proc(a: f64) -> i128 { + x := i64(a) + return i128(x) +} |