aboutsummaryrefslogtreecommitdiff
path: root/core/runtime
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-09-25 15:38:56 +0100
committergingerBill <bill@gingerbill.org>2021-09-25 15:38:56 +0100
commitfa0d58f96ea0d576cf4adbd77480cfd4ce0510c4 (patch)
tree6dcb43d5498b94bbacf647672d42dc24fb27787a /core/runtime
parentebc09d5e4ee956e2ffa7e18f9f0c57af6433c64b (diff)
Correct f64 -> u128/i128 generation
Diffstat (limited to 'core/runtime')
-rw-r--r--core/runtime/internal.odin14
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)
+}