    inline cimg_uint64 time() {
#if cimg_OS==1
      struct timeval st_time;
      gettimeofday(&st_time,0);
      return (cimg_uint64)st_time.tv_sec*1000 + (cimg_uint64)st_time.tv_usec/1000;
#elif cimg_OS==2
      ULARGE_INTEGER ul;
      FILETIME ft;
      GetSystemTimeAsFileTime(&ft);
      ul.LowPart = ft.dwLowDateTime;
      ul.HighPart = ft.dwHighDateTime;
      return (cimg_uint64)ul.QuadPart/10000;
#else
      return 0;
#endif
    }
    inline cimg_uint64 time() {
#if cimg_OS==1
      struct timeval st_time;
      gettimeofday(&st_time,0);
      return (cimg_uint64)st_time.tv_sec*1000 + (cimg_uint64)st_time.tv_usec/1000;
#elif cimg_OS==2
      ULARGE_INTEGER ul;
      FILETIME ft;
      GetSystemTimeAsFileTime(&ft);
      ul.LowPart = ft.dwLowDateTime;
      ul.HighPart = ft.dwHighDateTime;
      return (cimg_uint64)ul.QuadPart/10000;
#else
      return 0;
#endif
    }