Fix determination of EPD solving time
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sun, 27 Mar 2016 09:22:41 +0000 (11:22 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 29 Mar 2016 14:51:34 +0000 (16:51 +0200)
Repeating an already found solution would increase the solving time
like the repetition was the first good solution.

backend.c

index 7f8bc87..bfdba0f 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -9726,7 +9726,7 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h
                    ChessMove mt;
                    int ok = ParseOneMove(bestMove, forwardMostMove, &mt, &ff1, &fr1, &tf1, &tr1, &pp1);
                    ok    &= ParseOneMove(pv, forwardMostMove, &mt, &ff2, &fr2, &tf2, &tr2, &pp2);
-                   solvingTime = (ok && ff1==ff2 && fr1==fr2 && tf1==tf2 && tr1==tr2 && pp1==pp2 ? time : -1);
+                   solvingTime = (ok && ff1==ff2 && fr1==fr2 && tf1==tf2 && tr1==tr2 && pp1==pp2 ? (solvingTime < 0 ? time : solvingTime) : -1);
                }
 
                if(serverMoves && (time > 100 || time == 0 && plylev > 7)) {