mirror of
https://github.com/intel/isa-l.git
synced 2025-02-25 07:41:06 +01:00
Fix test helper for windows and gcc7 issues
Change-Id: Idb61d32d928536918dd243df825060c1b5bc484d Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
This commit is contained in:
parent
a8966b6709
commit
278a51979a
@ -36,25 +36,34 @@ extern "C" {
|
||||
|
||||
// Use sys/time.h functions for time
|
||||
#if defined (__unix__) || (__APPLE__) || (__MINGW32__)
|
||||
#include <sys/time.h>
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# define inline __inline
|
||||
# include <time.h>
|
||||
# include <Windows.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
struct perf{
|
||||
struct timeval tv;
|
||||
};
|
||||
|
||||
|
||||
#if defined (__unix__) || (__APPLE__) || (__MINGW32__)
|
||||
inline int perf_start(struct perf *p)
|
||||
static inline int perf_start(struct perf *p)
|
||||
{
|
||||
return gettimeofday(&(p->tv), 0);
|
||||
}
|
||||
inline int perf_stop(struct perf *p)
|
||||
static inline int perf_stop(struct perf *p)
|
||||
{
|
||||
return gettimeofday(&(p->tv), 0);
|
||||
}
|
||||
|
||||
inline void perf_print(struct perf stop, struct perf start, long long dsize)
|
||||
static inline void perf_print(struct perf stop, struct perf start, long long dsize)
|
||||
{
|
||||
long long secs = stop.tv.tv_sec - start.tv.tv_sec;
|
||||
long long usecs = secs * 1000000 + stop.tv.tv_usec - start.tv.tv_usec;
|
||||
@ -75,13 +84,17 @@ inline void perf_print(struct perf stop, struct perf start, long long dsize)
|
||||
}
|
||||
#endif
|
||||
|
||||
inline uint64_t get_filesize(FILE *fp)
|
||||
static inline uint64_t get_filesize(FILE *fp)
|
||||
{
|
||||
uint64_t file_size;
|
||||
fpos_t pos, pos_curr;
|
||||
|
||||
fgetpos(fp, &pos_curr); /* Save current position */
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
_fseeki64(fp, 0, SEEK_END);
|
||||
#else
|
||||
fseeko(fp, 0, SEEK_END);
|
||||
#endif
|
||||
fgetpos(fp, &pos);
|
||||
file_size = *(uint64_t *)&pos;
|
||||
fsetpos(fp, &pos_curr); /* Restore position */
|
||||
|
Loading…
x
Reference in New Issue
Block a user