simplify apply_dir macro

This commit is contained in:
Simon Gardling 2025-03-14 13:22:28 -04:00
parent 0f3266cfbb
commit 5eef461050
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D

View File

@ -286,8 +286,8 @@ impl Board {
let seed = BitBoard::from_coord(coords);
macro_rules! apply_dir {
($base:expr, $sum_mask:expr, $dir:expr) => {
let mut current = $base;
($dir:expr) => {
let mut current = seed;
let mut temp_flips = BitBoard::new();
// Expand in direction until edge or non-opponent piece
@ -303,19 +303,19 @@ impl Board {
// If terminated on a player piece, keep the flips
if current.intersects(*player_board) {
$sum_mask.bitor_assign(temp_flips);
flip_mask.bitor_assign(temp_flips);
}
};
}
apply_dir!(seed, flip_mask, BitBoard::east);
apply_dir!(seed, flip_mask, BitBoard::west);
apply_dir!(seed, flip_mask, BitBoard::north);
apply_dir!(seed, flip_mask, BitBoard::south);
apply_dir!(seed, flip_mask, BitBoard::northeast);
apply_dir!(seed, flip_mask, BitBoard::northwest);
apply_dir!(seed, flip_mask, BitBoard::southeast);
apply_dir!(seed, flip_mask, BitBoard::southwest);
apply_dir!(BitBoard::east);
apply_dir!(BitBoard::west);
apply_dir!(BitBoard::north);
apply_dir!(BitBoard::south);
apply_dir!(BitBoard::northeast);
apply_dir!(BitBoard::northwest);
apply_dir!(BitBoard::southeast);
apply_dir!(BitBoard::southwest);
flip_mask
}