From 80b7a8116d821aeae489086a403a6cdfd64d801a Mon Sep 17 00:00:00 2001 From: Alexandre Jesus Date: Fri, 16 Sep 2016 01:15:07 +0100 Subject: Add time measure --- include/structs.h | 4 ++++ src/common.c | 6 +++++- src/dfs.c | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/structs.h b/include/structs.h index cb1bca9..3b5c550 100644 --- a/include/structs.h +++ b/include/structs.h @@ -1,5 +1,8 @@ #ifndef _STRUCTS_H #define _STRUCTS_H + +#include + struct item { double p; double w; @@ -16,5 +19,6 @@ struct front_item { struct item i; struct front_item * next; struct front_item * prev; + clock_t time; }; #endif diff --git a/src/common.c b/src/common.c index 92bd467..d6f1eb3 100644 --- a/src/common.c +++ b/src/common.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "structs.h" #include "common.h" @@ -47,8 +48,10 @@ void print_data(struct data * d){ } void print_front(struct front_item * b){ + struct front_item * beg = b; while(b!=NULL){ - printf("%.02f\t%.02f\n",b->i.p,b->i.w); + clock_t t = b->time - beg->time; + printf("%.02f,\t%.02f,\t%f\n", b->i.p, b->i.w, ((double)t)/CLOCKS_PER_SEC); b = b->next; } } @@ -73,6 +76,7 @@ struct front_item * new_front_item(double p, double w, struct front_item * prev, f->i.w = w; f->next = next; f->prev = prev; + f->time = clock(); return f; } diff --git a/src/dfs.c b/src/dfs.c index 3f34001..bdf2b7e 100644 --- a/src/dfs.c +++ b/src/dfs.c @@ -14,6 +14,7 @@ struct front_item * rec(struct data * d, int i, struct item * it) { struct front_item * f1 = rec(d, i+1, it); it->p -= d->items[i].p; it->w -= d->items[i].w; + // Go right (do not select item) struct front_item * f2 = rec(d, i+1, it); -- cgit v1.2.3