From fde0b9e701a6bfac05e56f6bffdc29943be56120 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Fri, 24 Aug 2012 09:30:50 +0100 Subject: [PATCH] Slightly microptimize SEE Reduce of one instruction. It seems a tad faster on the profiler now. Very slightly but anyhow it is a code semplification. No functional change. Signed-off-by: Marco Costalba --- src/position.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index 21022ae1..9be0fe60 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1271,12 +1271,11 @@ int Position::see(Move m) const { // Locate the least valuable attacker for the side to move. The loop // below looks like it is potentially infinite, but it isn't. We know // that the side to move still has at least one attacker left. - for (pt = PAWN; !(stmAttackers & pieces(pt)); pt++) + for (pt = PAWN; (b = stmAttackers & pieces(pt)) == 0; pt++) assert(pt < KING); // Remove the attacker we just found from the 'occupied' bitboard, // and scan for new X-ray attacks behind the attacker. - b = stmAttackers & pieces(pt); occ ^= (b & (~b + 1)); attackers |= (attacks_bb(to, occ) & pieces(ROOK, QUEEN)) | (attacks_bb(to, occ) & pieces(BISHOP, QUEEN)); -- 2.39.2