#endif
#if defined(_WIN32) || defined(__WIN32__)
-# include <windows.h>
+# include <windows.h>
#endif
/* return time in seconds since some arbitrary point in the past */
double nlopt_seconds(void)
{
- static THREADLOCAL int start_inited = 0; /* whether start time has been initialized */
+ static THREADLOCAL int start_inited = 0; /* whether start time has been initialized */
#if defined(HAVE_GETTIMEOFDAY)
- static THREADLOCAL struct timeval start;
- struct timeval tv;
- if (!start_inited) {
- start_inited = 1;
- gettimeofday(&start, NULL);
- }
- gettimeofday(&tv, NULL);
- return (tv.tv_sec - start.tv_sec) + 1.e-6 * (tv.tv_usec - start.tv_usec);
+ static THREADLOCAL struct timeval start;
+ struct timeval tv;
+ if (!start_inited) {
+ start_inited = 1;
+ gettimeofday(&start, NULL);
+ }
+ gettimeofday(&tv, NULL);
+ return (tv.tv_sec - start.tv_sec) + 1.e-6 * (tv.tv_usec - start.tv_usec);
#elif defined(HAVE_TIME)
- return time(NULL);
+ return time(NULL);
#elif defined(_WIN32) || defined(__WIN32__)
- static THREADLOCAL ULONGLONG start;
- FILETIME ft;
- if (!start_inited) {
- start_inited = 1;
- GetSystemTimeAsFileTime(&ft);
- start = (((ULONGLONG) ft.dwHighDateTime) << 32) + ft.dwLowDateTime;
- }
- GetSystemTimeAsFileTime(&ft);
- return 100e-9 * (((((ULONGLONG) ft.dwHighDateTime) << 32) + ft.dwLowDateTime) - start);
+ static THREADLOCAL ULONGLONG start;
+ FILETIME ft;
+ if (!start_inited) {
+ start_inited = 1;
+ GetSystemTimeAsFileTime(&ft);
+ start = (((ULONGLONG) ft.dwHighDateTime) << 32) + ft.dwLowDateTime;
+ }
+ GetSystemTimeAsFileTime(&ft);
+ return 100e-9 * (((((ULONGLONG) ft.dwHighDateTime) << 32) + ft.dwLowDateTime) - start);
#else
- /* use clock() as a fallback... this is somewhat annoying
- because clock() may wrap around with a fairly short period */
- static THREADLOCAL clock_t start;
- if (!start_inited) {
- start_inited = 1;
- start = clock();
- }
- return (clock() - start) * 1.0 / CLOCKS_PER_SEC;
+ /* use clock() as a fallback... this is somewhat annoying
+ because clock() may wrap around with a fairly short period */
+ static THREADLOCAL clock_t start;
+ if (!start_inited) {
+ start_inited = 1;
+ start = clock();
+ }
+ return (clock() - start) * 1.0 / CLOCKS_PER_SEC;
#endif
}
unsigned long nlopt_time_seed(void)
{
#if defined(HAVE_GETTIMEOFDAY)
- struct timeval tv;
- gettimeofday(&tv, NULL);
- return (tv.tv_sec ^ tv.tv_usec);
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ return (tv.tv_sec ^ tv.tv_usec);
#elif defined(HAVE_TIME)
- return time(NULL);
+ return time(NULL);
#elif defined(_WIN32) || defined(__WIN32__)
- FILETIME ft;
- GetSystemTimeAsFileTime(&ft);
- return ft.dwHighDateTime ^ ft.dwLowDateTime;
+ FILETIME ft;
+ GetSystemTimeAsFileTime(&ft);
+ return ft.dwHighDateTime ^ ft.dwLowDateTime;
#else
- return clock();
+ return clock();
#endif
}