]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Fix fragile code to use proper random 64 bit keys.
[stockfish] / src / search.cpp
index 1e2980cb0cda1138dd35118e3b1ab603bfe909f5..0fa399882c287ead30231442edbc416af1b5aa94 100644 (file)
@@ -662,7 +662,7 @@ namespace {
     // search to overwrite a previous full search TT value, so we use a different
     // position key in case of an excluded move.
     excludedMove = ss->excludedMove;
-    posKey = pos.key() ^ (Key(excludedMove) << 48); // Isn't a very good hash
+    posKey = excludedMove == MOVE_NONE ? pos.key() : pos.key() ^ make_key(excludedMove);
     tte = TT.probe(posKey, ttHit);
     ttValue = ttHit ? value_from_tt(tte->value(), ss->ply, pos.rule50_count()) : VALUE_NONE;
     ttMove =  rootNode ? thisThread->rootMoves[thisThread->pvIdx].pv[0]