]> git.sesse.net Git - stockfish/blobdiff - src/position.cpp
Fix a silly bug
[stockfish] / src / position.cpp
index ad699cc0e93423ef4112093b442da41c0466cb72..88ef25d2c819a195e4eb2d5df8c7c22bfb279a2d 100644 (file)
@@ -1148,6 +1148,16 @@ int Position::see_sign(Move m) const {
 }
 
 int Position::see(Move m) const {
+  return do_see<false>(m, 0);
+}
+
+int Position::see_asymm(Move m, int asymmThreshold) const
+{
+  return do_see<true>(m, asymmThreshold);
+}
+
+template <bool Asymmetric>
+int Position::do_see(Move m, int asymmThreshold) const {
 
   Square from, to;
   Bitboard occupied, attackers, stmAttackers;
@@ -1224,6 +1234,16 @@ int Position::see(Move m) const {
 
   } while (stmAttackers);
 
+  // FIXME: Document
+  if (Asymmetric)
+  {
+      for (int i = 0; i < slIndex ; i += 2)
+      {
+          if (swapList[i] < asymmThreshold)
+               swapList[i] = - QueenValueMg * 16;
+      }
+  }
+
   // Having built the swap list, we negamax through it to find the best
   // achievable score from the point of view of the side to move.
   while (--slIndex)