#include "config.h"
#endif
+#include "replacements.h"
#include "time_support.h"
+#include "log.h"
-#include <sys/time.h>
-#include <time.h>
+#include <stdlib.h>
int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y);
int timeval_add(struct timeval *result, struct timeval *x, struct timeval *y);
return 0;
}
+int duration_start_measure(duration_t *duration)
+{
+ gettimeofday(&duration->start, NULL);
+
+ return ERROR_OK;
+}
+
+int duration_stop_measure(duration_t *duration, char **text)
+{
+ struct timeval end;
+
+ gettimeofday(&end, NULL);
+
+ timeval_subtract(&duration->duration, &end, &duration->start);
+
+ if (text)
+ {
+ float t;
+ t=duration->duration.tv_sec;
+ t+=(float)duration->duration.tv_usec/1000000.0;
+ *text = malloc(100);
+ snprintf(*text, 100, "%fs", t);
+ }
+
+ return ERROR_OK;
+}
+
+
+
+
+long long timeval_ms()
+{
+ struct timeval now;
+ long long t=0;
+ gettimeofday(&now, NULL);
+
+ t+=now.tv_usec/1000;
+ t+=now.tv_sec*1000;
+
+ return t;
+}