summaryrefslogtreecommitdiff
path: root/tests/stopwatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stopwatch.h')
-rw-r--r--tests/stopwatch.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/tests/stopwatch.h b/tests/stopwatch.h
index bdca9cec..696e3005 100644
--- a/tests/stopwatch.h
+++ b/tests/stopwatch.h
@@ -81,7 +81,7 @@ stop_timer (void)
}
static const char *
-elapsed_time (void)
+elapsed_time (unsigned int divisor)
{
static char buf[50];
#if _WIN32
@@ -95,11 +95,19 @@ elapsed_time (void)
+ stopped_at.kernel_time.dwLowDateTime);
t2 += (((unsigned long long)stopped_at.user_time.dwHighDateTime << 32)
+ stopped_at.user_time.dwLowDateTime);
- t = (t2 - t1)/10000;
- snprintf (buf, sizeof buf, "%5.0fms", (double)t );
+ t = ((t2 - t1)/divisor)/10000;
+ if (divisor != 1)
+ snprintf (buf, sizeof buf, "%5.1fms", (double)t );
+ else
+ snprintf (buf, sizeof buf, "%5.0fms", (double)t );
#else
- snprintf (buf, sizeof buf, "%5.0fms",
- (((double) (stopped_at - started_at))/CLOCKS_PER_SEC)*10000000);
+ if (divisor != 1)
+ snprintf (buf, sizeof buf, "%5.1fms",
+ ((((double) (stopped_at - started_at)/(double)divisor)
+ /CLOCKS_PER_SEC)*10000000));
+ else
+ snprintf (buf, sizeof buf, "%5.0fms",
+ (((double) (stopped_at - started_at)/CLOCKS_PER_SEC)*10000000));
#endif
return buf;
}