X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8614314e15433c18f67638fdcb519a12608e49c2..a4d071afeab4b3ff0a50eefbf48a391d4e8978aa:/teshsuite/xbt/heap_bench/heap_bench.c diff --git a/teshsuite/xbt/heap_bench/heap_bench.c b/teshsuite/xbt/heap_bench/heap_bench.c index 823d6e1aba..cff04fe087 100644 --- a/teshsuite/xbt/heap_bench/heap_bench.c +++ b/teshsuite/xbt/heap_bench/heap_bench.c @@ -1,12 +1,11 @@ /* A few tests for the xbt_heap module */ -/* Copyright (c) 2004-2010, 2012-2014. The SimGrid Team. +/* Copyright (c) 2004-2010, 2012-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include #include #include @@ -15,19 +14,10 @@ #define MAX_TEST 1000000 -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) +static int compare_double(const void *a, const void *b) { - double pa, pb; - - pa = *((double *) a); - pb = *((double *) b); + double pa = *((double *) a); + double pb = *((double *) b); if (pa > pb) return 1; @@ -36,11 +26,20 @@ int compare_double(const void *a, const void *b) return -1; } -void test_heap_validity(int size) +static void test_reset_heap(xbt_heap_t * heap, int size) +{ + xbt_heap_free(*heap); + *heap = xbt_heap_new(size, NULL); + + for (int i = 0; i < size; i++) { + xbt_heap_push(*heap, NULL, (10.0 * rand() / (RAND_MAX + 1.0))); + } +} + +static void test_heap_validity(int size) { xbt_heap_t heap = xbt_heap_new(size, NULL); double *tab = xbt_new0(double, size); - int i; for (i = 0; i < size; i++) { @@ -63,49 +62,33 @@ void test_heap_validity(int size) printf("Validity test complete!\n"); } -void test_heap_mean_operation(int size) +static void test_heap_mean_operation(int size) { xbt_heap_t heap = xbt_heap_new(size, NULL); - double val; - double date = 0; - int i, j; - date = xbt_os_time() * 1000000; - for (i = 0; i < size; i++) + double date = xbt_os_time() * 1000000; + for (int i = 0; i < size; i++) xbt_heap_push(heap, NULL, (10.0 * rand() / (RAND_MAX + 1.0))); date = xbt_os_time() * 1000000 - date; printf("Creation time %d size heap : %g\n", size, date); date = xbt_os_time() * 1000000; - for (j = 0; j < MAX_TEST; j++) { + for (int j = 0; j < MAX_TEST; j++) { if (!(j % size) && j) test_reset_heap(&heap, size); - val = xbt_heap_maxkey(heap); + double val = xbt_heap_maxkey(heap); xbt_heap_pop(heap); xbt_heap_push(heap, NULL, 3.0 * val); } date = xbt_os_time() * 1000000 - date; - printf("Mean access time for a %d size heap : %g\n", size, - date * 1.0 / (MAX_TEST + 0.0)); + printf("Mean access time for a %d size heap : %g\n", size, date * 1.0 / (MAX_TEST + 0.0)); 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;