Use 30msec margin in st->movetime translation
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 17 Apr 2012 05:31:24 +0000 (07:31 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 17 Apr 2012 05:43:57 +0000 (07:43 +0200)
Because of the different definition of the time mentioned in the WB st
and UCI movetime (max time vs exact time), a margin is needed to not make
the engine forfeit on time.

num

README.txt
UCI2WB.c

index e3ca509..026ad8b 100644 (file)
@@ -34,6 +34,9 @@ H.G.Muller
 \r
 Change log:\r
 \r
+15/4/2012 v1.7\r
+Take 30ms safety margin in translating st command to movetime\r
+\r
 14/1/2011 v1.6\r
 Replaced all polling by blocking synchronization (through pipes).\r
 Implemented ping (using isready/readyok)\r
index a0abcfe..3d26fcc 100644 (file)
--- a/UCI2WB.c
+++ b/UCI2WB.c
@@ -1,6 +1,6 @@
 /************************* UCI2WB by H.G.Muller ****************************/\r
 \r
-#define VERSION "1.6"\r
+#define VERSION "1.7"\r
 \r
 #include <stdio.h>\r
 #include <stdlib.h>\r
@@ -350,7 +350,7 @@ GUI2Engine()
        else if(!strcmp(command, "memory")) sscanf(line, "memory %d", &memory);\r
        else if(!strcmp(command, "cores"))  sscanf(line, "cores %d", &cores);\r
        else if(!strcmp(command, "sd"))     sscanf(line, "sd %d", &depth);\r
-       else if(!strcmp(command, "st"))     sscanf(line, "st %d", &sTime), sTime *= 1000, inc = 0;\r
+       else if(!strcmp(command, "st"))     sscanf(line, "st %d", &sTime), sTime = 1000*sTime - 30, inc = 0;\r
        else if(!strcmp(command, "quit"))   fprintf(toE, "quit\n"), fflush(toE), exit(0);\r
     }\r
 }\r