luaur_vm/macros/
lua_m_arraysize.rs1use crate::functions::lua_m_toobig::lua_m_toobig;
2use crate::macros::cast_to::cast_to;
3
4#[allow(non_snake_case)]
5#[macro_export]
6macro_rules! lua_m_arraysize {
7 ($l:expr, $n:expr, $e:expr) => {
8 if $crate::macros::cast_to::cast_to!(usize, $n) <= usize::MAX / $crate::macros::cast_to::cast_to!(usize, $e) {
9 $n * $e
10 } else {
11 $crate::functions::lua_m_toobig::lua_m_toobig($l);
12 usize::MAX
13 }
14 };
15}
16
17pub use lua_m_arraysize;
18
19#[allow(unused_imports)]
20pub use lua_m_arraysize as luaM_arraysize;