Skip to main content

luaur_vm/macros/
tonumber.rs

1use crate::enums::lua_type::lua_Type;
2use crate::functions::lua_v_tonumber::lua_v_tonumber;
3use crate::macros::ttype::ttype;
4
5#[allow(non_snake_case)]
6#[macro_export]
7macro_rules! tonumber {
8    ($o:expr, $n:expr) => {{
9        if $crate::macros::ttype::ttype!($o)
10            == ($crate::enums::lua_type::lua_Type::LUA_TNUMBER as i32)
11        {
12            true
13        } else {
14            let result = unsafe { $crate::functions::lua_v_tonumber::lua_v_tonumber($o, $n) };
15            if !result.is_null() {
16                $o = result as *mut _;
17                true
18            } else {
19                false
20            }
21        }
22    }};
23}
24
25pub use tonumber;