X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fb5ab7a1b6fc59ea80553579f897faa7c97733b0..5d02d342bf2942a5e97d9d3599cbb7d94f3285a9:/testsuite/xbt/heap_bench.c diff --git a/testsuite/xbt/heap_bench.c b/testsuite/xbt/heap_bench.c index 5f3e1c40cc..b3706d7fac 100644 --- a/testsuite/xbt/heap_bench.c +++ b/testsuite/xbt/heap_bench.c @@ -18,6 +18,8 @@ int compare_double(const void *a, const void *b); void test_heap_validity(int size); void test_heap_mean_operation(int size); +void test_reset_heap(xbt_heap_t heap,int size); + int compare_double(const void *a, const void *b) { @@ -74,6 +76,10 @@ void test_heap_mean_operation(int size) date = gras_os_time() * 1000000; for (j = 0; j < MAX_TEST; j++) { + + if(!(j%size) && j) + test_reset_heap(heap,size); + val = xbt_heap_maxkey(heap); xbt_heap_pop(heap); xbt_heap_push(heap, NULL, 3.0 * val); @@ -85,6 +91,18 @@ void test_heap_mean_operation(int size) xbt_heap_free(heap); } +void test_reset_heap(xbt_heap_t heap,int size) +{ + int i; + xbt_heap_free(heap); + heap = xbt_heap_new(size, NULL); + + for (i = 0; i < size; i++){ + xbt_heap_push(heap, NULL, (10.0 * rand() / (RAND_MAX + 1.0))); + } + +} + int main(int argc, char **argv) { int size;