Small simplification to Position::see
authorHenri Wiechers <hwiechers@gmail.com>
Sat, 18 Jan 2014 11:58:10 +0000 (13:58 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 19 Jan 2014 10:16:34 +0000 (11:16 +0100)
Verified there are no hidden bugs and is
actually a speed optimization:

Fixed games at 15+0.05 TC
ELO: 1.72 +-2.9 (95%) LOS: 87.5%
Total: 20000 W: 3741 L: 3642 D: 12617

No functional change

src/position.cpp

index 325f3e4..8f38493 100644 (file)
@@ -1077,7 +1077,6 @@ int Position::see(Move m) const {
 
       // Add the new entry to the swap list
       swapList[slIndex] = -swapList[slIndex - 1] + PieceValue[MG][captured];
-      ++slIndex;
 
       // Locate and remove the next least valuable attacker
       captured = min_attacker<PAWN>(byTypeBB, to, stmAttackers, occupied, attackers);
@@ -1086,10 +1085,9 @@ int Position::see(Move m) const {
 
       // Stop before processing a king capture
       if (captured == KING && stmAttackers)
-      {
-          swapList[slIndex++] = QueenValueMg * 16;
           break;
-      }
+
+      ++slIndex;
 
   } while (stmAttackers);