luaur_vm/macros/pc_rel.rs
1use crate::macros::cast_to::cast_to;
2
3#[allow(non_snake_case)]
4#[macro_export]
5macro_rules! pcRel {
6 ($pc:expr, $p:expr) => {
7 if !$pc.is_null() && $pc != (*$p).code {
8 $crate::macros::cast_to::cast_to!(
9 core::ffi::c_int,
10 ($pc as usize).wrapping_sub((*$p).code as usize) / core::mem::size_of::<u32>()
11 ) - 1
12 } else {
13 0
14 }
15 };
16}
17
18pub use pcRel;