luaur_vm/macros/lmod.rs
1use crate::macros::cast_to::cast_to;
2use crate::macros::check_exp::check_exp;
3
4#[allow(non_snake_case)]
5#[macro_export]
6macro_rules! lmod {
7 ($s:expr, $size:expr) => {
8 $crate::macros::check_exp::check_exp!(
9 ($size & ($size - 1)) == 0,
10 $crate::macros::cast_to::cast_to!(
11 core::ffi::c_int,
12 (($s) as i64) & ((($size) as i64) - 1)
13 )
14 )
15 };
16}
17
18pub use lmod;