From: Yann Dirson Date: Wed, 23 Oct 2013 21:31:45 +0000 (+0200) Subject: Move ElapsedTime to tcontrl.c, now that there is a single implementation. X-Git-Url: http://winboard.nl/cgi-bin?p=gnushogi.git;a=commitdiff_plain;h=1f6f420ff000a2f0f5bec0845da2fa51170573c9 Move ElapsedTime to tcontrl.c, now that there is a single implementation. --- diff --git a/gnushogi/cursesdsp.c b/gnushogi/cursesdsp.c index 5540ede..8e2c376 100644 --- a/gnushogi/cursesdsp.c +++ b/gnushogi/cursesdsp.c @@ -1221,70 +1221,6 @@ Curses_PollForInput(void) } } -/* - * Determine the time that has passed since the search was started. If the - * elapsed time exceeds the target(ResponseTime + ExtraTime) then set timeout - * to true which will terminate the search. - * iop = COMPUTE_MODE calculate et, bump ETnodes - * iop = COMPUTE_AND_INIT_MODE calculate et, set timeout if time exceeded, - * set reference time - */ -void -Curses_ElapsedTime(ElapsedTime_mode iop) -{ - long current_time; -#ifdef HAVE_GETTIMEOFDAY - struct timeval tv; -#endif - - PollForInput(); - -#ifdef HAVE_GETTIMEOFDAY - gettimeofday(&tv, NULL); - current_time = tv.tv_sec*100 + (tv.tv_usec/10000); -#else - et = ((current_time = time((long *) 0)) - time0) * 100; -#endif - -#ifdef INTERRUPT_TEST - if (iop == INIT_INTERRUPT_MODE) - { - itime0 = current_time; - } - else if (iop == COMPUTE_INTERRUPT_MODE) - { - it = current_time - itime0; - } - else -#endif - { -#ifdef HAVE_GETTIMEOFDAY - et = current_time - time0; -#endif - ETnodes = NodeCnt + znodes; - - if (et < 0) - { -#ifdef INTERRUPT_TEST - printf("elapsed time %ld not positive\n", et); -#endif - et = 0; - } - - if (iop == COMPUTE_AND_INIT_MODE) - { - if ((et > (ResponseTime + ExtraTime)) && (Sdepth > MINDEPTH)) - flag.timeout = true; - - time0 = current_time; - } - -#ifdef QUIETBACKGROUND - if (!background) -#endif - UpdateClocks(); - } -} void Curses_SetupBoard(void) diff --git a/gnushogi/cursesdsp.h b/gnushogi/cursesdsp.h index 0c0ade1..6f2b07e 100644 --- a/gnushogi/cursesdsp.h +++ b/gnushogi/cursesdsp.h @@ -48,7 +48,6 @@ void Curses_Die(int sig); void Curses_DoDebug(void); void Curses_DoTable(short table[NO_SQUARES]); void Curses_EditBoard(void); -void Curses_ElapsedTime(ElapsedTime_mode iop); void Curses_ExitShogi(void); void Curses_GiveHint(void); void Curses_Initialize(void); diff --git a/gnushogi/dspwrappers.c b/gnushogi/dspwrappers.c index 59d55ee..3cdfbce 100644 --- a/gnushogi/dspwrappers.c +++ b/gnushogi/dspwrappers.c @@ -85,7 +85,6 @@ DISPLAY_VOIDFUNC(ChangeXwindow) DISPLAY_VOIDFUNC(ClearScreen) DISPLAY_VOIDFUNC(DoDebug) DISPLAY_FUNC(DoTable, (short table[NO_SQUARES]), (table)) -DISPLAY_FUNC(ElapsedTime, (ElapsedTime_mode iop), (iop)) DISPLAY_VOIDFUNC(EditBoard) DISPLAY_VOIDFUNC(ExitShogi) DISPLAY_VOIDFUNC(GiveHint) diff --git a/gnushogi/dspwrappers.h b/gnushogi/dspwrappers.h index 97de97d..0bfe79f 100644 --- a/gnushogi/dspwrappers.h +++ b/gnushogi/dspwrappers.h @@ -45,7 +45,6 @@ extern void ChangeXwindow(void); extern void ClearScreen(void); extern void DoDebug(void); extern void DoTable(short table[NO_SQUARES]); -extern void ElapsedTime(ElapsedTime_mode iop); extern void EditBoard(void); extern void ExitShogi(void); extern void GiveHint(void); diff --git a/gnushogi/gnushogi.h b/gnushogi/gnushogi.h index 2640a21..a244428 100644 --- a/gnushogi/gnushogi.h +++ b/gnushogi/gnushogi.h @@ -1067,6 +1067,7 @@ extern void ShowLine(unsigned short *bstline); extern int pick(short p1, short p2); extern short repetition(void); extern void TimeCalc(void); +extern void ElapsedTime(ElapsedTime_mode iop); extern short DropPossible(short piece, short side, short sq); /* genmoves.c */ diff --git a/gnushogi/rawdsp.c b/gnushogi/rawdsp.c index e71877d..8bdc1a0 100644 --- a/gnushogi/rawdsp.c +++ b/gnushogi/rawdsp.c @@ -1007,69 +1007,3 @@ Raw_PollForInput(void) flag.bothsides = false; } } - - -/* - * Determine the time that has passed since the search was started. If the - * elapsed time exceeds the target(ResponseTime + ExtraTime) then set timeout - * to true which will terminate the search. - * iop = COMPUTE_MODE calculate et, bump ETnodes - * iop = COMPUTE_AND_INIT_MODE calculate et, set timeout if time exceeded, - * set reference time - */ -void -Raw_ElapsedTime(ElapsedTime_mode iop) -{ - long current_time; -#ifdef HAVE_GETTIMEOFDAY - struct timeval tv; -#endif - - PollForInput(); - -#ifdef HAVE_GETTIMEOFDAY - gettimeofday(&tv, NULL); - current_time = tv.tv_sec*100 + (tv.tv_usec/10000); -#else - et = ((current_time = time((long *) 0)) - time0) * 100; -#endif - -#ifdef INTERRUPT_TEST - if (iop == INIT_INTERRUPT_MODE) - { - itime0 = current_time; - } - else if (iop == COMPUTE_INTERRUPT_MODE) - { - it = current_time - itime0; - } - else -#endif - { -#ifdef HAVE_GETTIMEOFDAY - et = current_time - time0; -#endif - ETnodes = NodeCnt + znodes; - - if (et < 0) - { -#ifdef INTERRUPT_TEST - printf("elapsed time %ld not positive\n", et); -#endif - et = 0; - } - - if (iop == COMPUTE_AND_INIT_MODE) - { - if ((et > (ResponseTime + ExtraTime)) && (Sdepth > MINDEPTH)) - flag.timeout = true; - - time0 = current_time; - } - -#ifdef QUIETBACKGROUND - if (!background) -#endif - UpdateClocks(); - } -} diff --git a/gnushogi/rawdsp.h b/gnushogi/rawdsp.h index 6162d24..699528e 100644 --- a/gnushogi/rawdsp.h +++ b/gnushogi/rawdsp.h @@ -48,7 +48,6 @@ void Raw_Die(int sig); void Raw_DoDebug(void); void Raw_DoTable(short table[NO_SQUARES]); void Raw_EditBoard(void); -void Raw_ElapsedTime(ElapsedTime_mode iop); void Raw_ExitShogi(void); void Raw_GiveHint(void); void Raw_Initialize(void); diff --git a/gnushogi/tcontrl.c b/gnushogi/tcontrl.c index 451ed0d..fd5f4a5 100644 --- a/gnushogi/tcontrl.c +++ b/gnushogi/tcontrl.c @@ -347,3 +347,69 @@ CheckForTimeout(int score, int globalscore, int Jscore, int zwndw) if (flag.timeout) ShowMessage("timeout"); } + + +/* + * Determine the time that has passed since the search was started. If the + * elapsed time exceeds the target(ResponseTime + ExtraTime) then set timeout + * to true which will terminate the search. + * iop = COMPUTE_MODE calculate et, bump ETnodes + * iop = COMPUTE_AND_INIT_MODE calculate et, set timeout if time exceeded, + * set reference time + */ +void +ElapsedTime(ElapsedTime_mode iop) +{ + long current_time; +#ifdef HAVE_GETTIMEOFDAY + struct timeval tv; +#endif + + PollForInput(); + +#ifdef HAVE_GETTIMEOFDAY + gettimeofday(&tv, NULL); + current_time = tv.tv_sec*100 + (tv.tv_usec/10000); +#else + et = ((current_time = time((long *) 0)) - time0) * 100; +#endif + +#ifdef INTERRUPT_TEST + if (iop == INIT_INTERRUPT_MODE) + { + itime0 = current_time; + } + else if (iop == COMPUTE_INTERRUPT_MODE) + { + it = current_time - itime0; + } + else +#endif + { +#ifdef HAVE_GETTIMEOFDAY + et = current_time - time0; +#endif + ETnodes = NodeCnt + znodes; + + if (et < 0) + { +#ifdef INTERRUPT_TEST + printf("elapsed time %ld not positive\n", et); +#endif + et = 0; + } + + if (iop == COMPUTE_AND_INIT_MODE) + { + if ((et > (ResponseTime + ExtraTime)) && (Sdepth > MINDEPTH)) + flag.timeout = true; + + time0 = current_time; + } + +#ifdef QUIETBACKGROUND + if (!background) +#endif + UpdateClocks(); + } +}