Prevent the use of nullmove TT value only at verification search
authorJoona Kiiski <joona.kiiski@gmail.com>
Sun, 11 Apr 2010 17:27:34 +0000 (20:27 +0300)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 16 Apr 2010 04:47:31 +0000 (05:47 +0100)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index aaff2f547dfd5c90c2cf9539a80957076728a2ef..043c433a648cba38fb0bab2be01cf3a45b2d2385 100644 (file)
@@ -1306,7 +1306,7 @@ namespace {
     tte = TT.retrieve(posKey);
     ttMove = (tte ? tte->move() : MOVE_NONE);
 
     tte = TT.retrieve(posKey);
     ttMove = (tte ? tte->move() : MOVE_NONE);
 
-    if (tte && ok_to_use_TT(tte, depth, beta, ply, nullStatus == ALLOW_NULLMOVE))
+    if (tte && ok_to_use_TT(tte, depth, beta, ply, nullStatus != VERIFY_NULLMOVE))
     {
         ss[ply].currentMove = ttMove; // Can be MOVE_NONE
         return value_from_tt(tte->value(), ply);
     {
         ss[ply].currentMove = ttMove; // Can be MOVE_NONE
         return value_from_tt(tte->value(), ply);
@@ -1389,7 +1389,7 @@ namespace {
             // Do zugzwang verification search for high depths, don't store in TT
             // if search was stopped.
             if (   (   depth < 6 * OnePly
             // Do zugzwang verification search for high depths, don't store in TT
             // if search was stopped.
             if (   (   depth < 6 * OnePly
-                    || search(pos, ss, beta, depth-5*OnePly, ply, FORBID_NULLMOVE, threadID) >= beta)
+                    || search(pos, ss, beta, depth-5*OnePly, ply, VERIFY_NULLMOVE, threadID) >= beta)
                 && !AbortSearch
                 && !TM.thread_should_stop(threadID))
             {
                 && !AbortSearch
                 && !TM.thread_should_stop(threadID))
             {