[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] ncurses and gg_cputime
From: |
Teun Burgers |
Subject: |
[gnugo-devel] ncurses and gg_cputime |
Date: |
Fri, 19 Oct 2001 22:31:07 +0200 |
This patch aims to complete the gg_cputime
implementation and configuration for ncurses/{term,curses}.h
- improved configuration for ncurses/{term,curses}.h
- improvements to gg_cputime
Teun
Index: configure.in
===================================================================
RCS file: /cvsroot/gnugo/gnugo/configure.in,v
retrieving revision 1.15
diff -u -r1.15 configure.in
--- configure.in 2001/10/18 22:08:27 1.15
+++ configure.in 2001/10/19 20:23:43
@@ -110,6 +110,22 @@
AC_CHECK_HEADERS(unistd.h sys/time.h sys/times.h)
AC_CHECK_HEADERS(curses.h term.h ncurses/curses.h ncurses/term.h)
+if test "$ac_cv_header_curses_h" = "yes";then
+ curses_header="curses.h"
+elif test "$ac_cv_header_ncurses_curses_h" = "yes";then
+ curses_header="ncurses/curses.h"
+else
+ curses_header="no"
+fi
+
+if test "$ac_cv_header_term_h" = "yes";then
+ term_header="term.h"
+elif test "$ac_cv_header_ncurses_term_h" = "yes";then
+ term_header="ncurses/term.h"
+else
+ term_header="no"
+fi
+
AC_PATH_PROG(perl, perl)
AC_CHECK_SIZEOF(int)
@@ -185,7 +201,7 @@
AH_TEMPLATE([HAVE_CURSES_ARROWS],
[Define if the curses headers defines KEY_{UP,DOWN,LEFT,RIGHT}])
-if test "$ac_cv_header_curses_h" = "yes" -a "$ac_cv_mingw32" = "no";then
+if test "$curses_header" != "no";then
AC_SEARCH_LIBS(initscr,ncurses curses pdcurses termcap terminfo termlib)
if test "$ac_cv_search_initscr" != "no";then
AC_DEFINE(CURSES)
@@ -193,7 +209,7 @@
AC_CACHE_CHECK(
[for KEY_UP],
gnugo_cv_decl_key_up,
- AC_TRY_COMPILE([#include <curses.h>],
+ AC_TRY_COMPILE([#include <$curses_header>],
[int c=KEY_UP],
gnugo_cv_decl_key_up="yes",
gnugo_cv_decl_key_up="no")
@@ -223,7 +239,7 @@
dnl make sure that both curses.h and term.h are available
dnl FIXME PRE3.0: better to actually figure out here what headers
dnl are really required
- if test "$ac_cv_header_term_h$ac_cv_header_curses_h" = "yesyes" ; then
+ if test "$term_header" != "no" -a "$curses_header" != "no" ; then
dnl check for a working termcap library
AC_SEARCH_LIBS(tparm,ncurses curses pdcurses termcap terminfo termlib)
Index: utils/gg_utils.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/utils/gg_utils.c,v
retrieving revision 1.11
diff -u -r1.11 gg_utils.c
--- utils/gg_utils.c 2001/10/18 22:08:27 1.11
+++ utils/gg_utils.c 2001/10/19 20:23:50
@@ -266,28 +266,30 @@
return VERSION;
}
-/* return cputime used in mili secs */
+/* return cputime used in secs */
-int gg_cputime(void)
+double gg_cputime(void)
{
#if HAVE_SYS_TIMES_H && HAVE_TIMES
struct tms t;
- times(&t);
- return t.tms_utime + t.tms_stime + t.tms_cutime + t.tms_cstime;
+ return times(&t) / ((double) CLOCKS_PER_SEC);
#elif defined(WIN32)
FILETIME creationTime, exitTime, kernelTime, userTime;
ULARGE_INTEGER uKernelTime,uUserTime,uElapsedTime;
unsigned long ulElapsedTime;
- UNUSED(s);
- GetProcessTimes(GetCurrentProcess(), &creationTime, &exitTime,
&kernelTime, &userTime);
+ GetProcessTimes(GetCurrentProcess(), &creationTime, &exitTime,
+ &kernelTime, &userTime);
uKernelTime.LowPart = kernelTime.dwLowDateTime;
uKernelTime.HighPart = kernelTime.dwHighDateTime;
uUserTime.LowPart = userTime.dwLowDateTime;
uUserTime.HighPart = userTime.dwHighDateTime;
uElapsedTime.QuadPart = uKernelTime.QuadPart + uUserTime.QuadPart;
- ulElapsedTime = (unsigned long)(uElapsedTime.QuadPart / 10000); /* convert
to milliseconds: */
/*_ASSERTE(0 && "Debug Times");*/
- return ulElapsedTime;
+ /* convert from multiples of 100nanosecs to seconds: */
+ return uElapsedTime.QuadPart * 1.e-7;
+#else
+ /* return wall clock seconds */
+ return gg_gettimeofday();
#endif
}
Index: utils/gg_utils.h
===================================================================
RCS file: /cvsroot/gnugo/gnugo/utils/gg_utils.h,v
retrieving revision 1.5
diff -u -r1.5 gg_utils.h
--- utils/gg_utils.h 2001/10/05 20:03:59 1.5
+++ utils/gg_utils.h 2001/10/19 20:23:50
@@ -61,6 +61,7 @@
int gg_gettimeofday2(struct timeval *tv, void *p);
double gg_gettimeofday(void);
+double gg_cputime(void);
const char *gg_version(void);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnugo-devel] ncurses and gg_cputime,
Teun Burgers <=