luaur-vm 0.1.3

The Luau register virtual machine and standard library (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::type_aliases::lua_state::lua_State;

#[no_mangle]
pub unsafe fn lua_encodepointer(l: *mut lua_State, p: usize) -> usize {
    let g = (*l).global;
    let p = p as u64;
    let ptrenckey = (*g).ptrenckey;

    let result = (ptrenckey[0].wrapping_mul(p).wrapping_add(ptrenckey[2]))
        ^ (ptrenckey[1].wrapping_mul(p).wrapping_add(ptrenckey[3]));

    result as usize
}