Skip to main content

luaur_vm/macros/
maskmarks.rs

1use crate::macros::bitmask::bitmask;
2use crate::macros::cast_byte::cast_byte;
3
4pub const WHITE0BIT: i32 = 0;
5pub const WHITE1BIT: i32 = 1;
6pub const BLACKBIT: i32 = 2;
7
8#[inline(always)]
9pub const fn WHITEBITS() -> i32 {
10    bitmask(WHITE0BIT) | bitmask(WHITE1BIT)
11}
12
13#[allow(non_snake_case)]
14#[macro_export]
15macro_rules! maskmarks {
16    () => {
17        $crate::macros::cast_byte::cast_byte!(
18            !($crate::macros::bitmask::bitmask($crate::macros::maskmarks::BLACKBIT)
19                | $crate::macros::maskmarks::WHITEBITS())
20        )
21    };
22}
23
24pub use maskmarks;