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); let seed = BitBoard::from_coord(coords);
macro_rules! apply_dir { macro_rules! apply_dir {
($base:expr, $sum_mask:expr, $dir:expr) => { ($dir:expr) => {
let mut current = $base; let mut current = seed;
let mut temp_flips = BitBoard::new(); let mut temp_flips = BitBoard::new();
// Expand in direction until edge or non-opponent piece // 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 terminated on a player piece, keep the flips
if current.intersects(*player_board) { 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!(BitBoard::east);
apply_dir!(seed, flip_mask, BitBoard::west); apply_dir!(BitBoard::west);
apply_dir!(seed, flip_mask, BitBoard::north); apply_dir!(BitBoard::north);
apply_dir!(seed, flip_mask, BitBoard::south); apply_dir!(BitBoard::south);
apply_dir!(seed, flip_mask, BitBoard::northeast); apply_dir!(BitBoard::northeast);
apply_dir!(seed, flip_mask, BitBoard::northwest); apply_dir!(BitBoard::northwest);
apply_dir!(seed, flip_mask, BitBoard::southeast); apply_dir!(BitBoard::southeast);
apply_dir!(seed, flip_mask, BitBoard::southwest); apply_dir!(BitBoard::southwest);
flip_mask flip_mask
} }