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 |
|
{ |