| 852 |
|
} |
| 853 |
|
|
| 854 |
|
|
| 855 |
+ |
#ifdef _WIN32 |
| 856 |
+ |
/* replacement function for Windoze */ |
| 857 |
+ |
static int |
| 858 |
+ |
gettimeofday(struct timeval *tp, void *dummy) |
| 859 |
+ |
{ |
| 860 |
+ |
FILETIME ft; |
| 861 |
+ |
LARGE_INTEGER li; |
| 862 |
+ |
__int64 t; |
| 863 |
+ |
|
| 864 |
+ |
SYSTEMTIME st; |
| 865 |
+ |
FILETIME ft2; |
| 866 |
+ |
LARGE_INTEGER li2; |
| 867 |
+ |
__int64 t2; |
| 868 |
+ |
|
| 869 |
+ |
st.wYear = 1970; |
| 870 |
+ |
st.wHour = 0; |
| 871 |
+ |
st.wMinute = 0; |
| 872 |
+ |
st.wSecond = 0; |
| 873 |
+ |
st.wMilliseconds = 1; |
| 874 |
+ |
|
| 875 |
+ |
SystemTimeToFileTime(&st, &ft2); |
| 876 |
+ |
li2.LowPart = ft2.dwLowDateTime; |
| 877 |
+ |
li2.HighPart = ft2.dwHighDateTime; |
| 878 |
+ |
t2 = li2.QuadPart; |
| 879 |
+ |
|
| 880 |
+ |
GetSystemTimeAsFileTime(&ft); |
| 881 |
+ |
li.LowPart = ft.dwLowDateTime; |
| 882 |
+ |
li.HighPart = ft.dwHighDateTime; |
| 883 |
+ |
t = li.QuadPart; |
| 884 |
+ |
t -= t2; // From 1970 |
| 885 |
+ |
t /= 10; // In microseconds |
| 886 |
+ |
tp->tv_sec = (long)(t / 1000000); |
| 887 |
+ |
tp->tv_usec = (long)(t % 1000000); |
| 888 |
+ |
return 0; |
| 889 |
+ |
} |
| 890 |
+ |
|
| 891 |
+ |
#endif |
| 892 |
+ |
|
| 893 |
|
extern double |
| 894 |
|
getTime(void) /* get current time (CPU or real) */ |
| 895 |
|
{ |