From c7e4add0c075cf89e4cffbccb57fab0c611157b1 Mon Sep 17 00:00:00 2001 From: Rerumu Date: Wed, 24 Nov 2021 02:15:59 -0500 Subject: [PATCH] Add LuaJIT conversion operations --- runtime/luajit.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/runtime/luajit.lua b/runtime/luajit.lua index 19b6b0c..2709a7f 100644 --- a/runtime/luajit.lua +++ b/runtime/luajit.lua @@ -213,6 +213,7 @@ end do local extend = {} local wrap = {} + local convert = {} local reinterpret = {} -- This would surely be an issue in a multi-thread environment... @@ -221,12 +222,23 @@ do module.extend = extend module.wrap = wrap + module.convert = convert module.reinterpret = reinterpret function extend.u64_i32(num) return i64(u64(num)) end function wrap.i32_i64(num) return tonumber(i32(num)) end + function convert.f32_i32(num) return num end + function convert.f32_u32(num) return tonumber(u32(num)) end + function convert.f32_i64(num) return tonumber(num) end + function convert.f32_u64(num) return tonumber(u64(num)) end + + function convert.f64_i32(num) return num end + function convert.f64_u32(num) return tonumber(u32(num)) end + function convert.f64_i64(num) return tonumber(num) end + function convert.f64_u64(num) return tonumber(u64(num)) end + function reinterpret.i32_f32(num) RE_INSTANCE.f32 = num