Fix pondering with incremental TC
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 8 Dec 2018 13:29:28 +0000 (14:29 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 8 Dec 2018 13:29:28 +0000 (14:29 +0100)
To calculate the time left on our clock after giving a move, for the
purpose of starting a ponder search for the next one, we subtracted the
increment instead of adding it.

UCI2WB.c

index 81a7e5f..5118c22 100644 (file)
--- a/UCI2WB.c
+++ b/UCI2WB.c
@@ -260,7 +260,7 @@ HandleEngineOutput()
            if(strstr(line+9, "(none)") || strstr(line+9, "null") ||\r
               strstr(line+9, "0000")) { printf("%s\n", lastScore < -99999 ? "resign" : "1/2-1/2 {stalemate}"); computer = NONE; }\r
            sscanf(line, "bestmove %s", move[moveNr++]);\r
-           myTime -= (GetTickCount() - startTime)*1.02 + inc; // update own clock, so we can give correct wtime, btime with ponder\r
+           myTime -= (GetTickCount() - startTime)*1.02 - inc; // update own clock, so we can give correct wtime, btime with ponder\r
            if(mps && ((moveNr+1)/2) % mps == 0) myTime += tc; if(sTime) myTime = sTime; // new session or move starts\r
            stm = WHITE+BLACK - stm;\r
            // first start a new ponder search, if pondering is on and we have a move to ponder on\r