From 43af7aead466095c362d1cd34d2ddd51ae4f3ce0 Mon Sep 17 00:00:00 2001 From: alegrand Date: Tue, 2 Nov 2004 05:41:44 +0000 Subject: [PATCH] cosmetics git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@448 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- include/xbt/heap.h | 6 ++-- src/xbt/heap.c | 22 ++++++------ src/xbt/heap_private.h | 7 +++- testsuite/xbt/heap_bench.c | 70 ++++++++++++++++++++++---------------- 4 files changed, 61 insertions(+), 44 deletions(-) diff --git a/include/xbt/heap.h b/include/xbt/heap.h index ec853b622e..2f6d792121 100644 --- a/include/xbt/heap.h +++ b/include/xbt/heap.h @@ -11,11 +11,11 @@ typedef struct xbt_heap *xbt_heap_t; /* The following two definitions concern the type of the keys used for the heaps. That should be handled via configure (FIXME). */ typedef long double xbt_heap_float_t; -#define XBT_HEAP_FLOAT_T "%Lg" /* for printing purposes */ +#define XBT_HEAP_FLOAT_T "%Lg" /* for printing purposes */ /* pointer to a function freeing something (should be common to all .h : FIXME) */ -typedef void (void_f_pvoid_t) (void*); +typedef void (void_f_pvoid_t) (void *); xbt_heap_t xbt_heap_new(int num, void_f_pvoid_t free_func); void xbt_heap_free(xbt_heap_t H); @@ -26,4 +26,4 @@ void *xbt_heap_pop(xbt_heap_t H); xbt_heap_float_t xbt_heap_maxkey(xbt_heap_t H); void *xbt_heap_maxcontent(xbt_heap_t H); -#endif /* _XBT_HEAP_H */ +#endif /* _XBT_HEAP_H */ diff --git a/src/xbt/heap.c b/src/xbt/heap.c index 917cd6ca8d..95513b759d 100644 --- a/src/xbt/heap.c +++ b/src/xbt/heap.c @@ -17,10 +17,11 @@ xbt_heap_t xbt_heap_new(int init_size, void_f_pvoid_t * const free_func) { xbt_heap_t H = calloc(1, sizeof(struct xbt_heap)); - H->size = init_size; + H->size = init_size; H->count = 0; - H->items = (xbt_heapItem_t) calloc(init_size, sizeof(struct xbt_heapItem)); - H->free = free; + H->items = + (xbt_heapItem_t) calloc(init_size, sizeof(struct xbt_heapItem)); + H->free = free; return H; } @@ -32,9 +33,9 @@ xbt_heap_t xbt_heap_new(int init_size, void_f_pvoid_t * const free_func) */ void xbt_heap_free(xbt_heap_t H) { - int i ; - if(H->free) - for(i=0;i < H->size;i++) + int i; + if (H->free) + for (i = 0; i < H->size; i++) H->free(H->items[i].content); free(H->items); free(H); @@ -122,8 +123,8 @@ void *xbt_heap_maxcontent(xbt_heap_t H) */ void xbt_heap_maxHeapify(xbt_heap_t H) { - int i=0; - while(1) { + int i = 0; + while (1) { int greatest = i; int l = LEFT(i); int r = RIGHT(i); @@ -136,8 +137,9 @@ void xbt_heap_maxHeapify(xbt_heap_t H) struct xbt_heapItem tmp = H->items[i]; H->items[i] = H->items[greatest]; H->items[greatest] = tmp; - i=greatest; - } else return; + i = greatest; + } else + return; } } diff --git a/src/xbt/heap_private.h b/src/xbt/heap_private.h index 40928142ad..6726edbd32 100644 --- a/src/xbt/heap_private.h +++ b/src/xbt/heap_private.h @@ -3,13 +3,16 @@ /* 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. */ +#ifndef _XBT_HEAP_PRIVATE_H +#define _XBT_HEAP_PRIVATE_H + #include #include "xbt_heap.h" typedef struct xbt_heapItem { void *content; xbt_heap_float_t key; -} s_xbt_heapItem_t ,*xbt_heapItem_t; +} s_xbt_heapItem_t, *xbt_heapItem_t; typedef struct xbt_heap { int size; @@ -27,3 +30,5 @@ typedef struct xbt_heap { void xbt_heap_maxHeapify(xbt_heap_t H); void xbt_heap_increaseKey(xbt_heap_t H, int i); + +#endif /* _XBT_HEAP_PRIVATE_H */ diff --git a/testsuite/xbt/heap_bench.c b/testsuite/xbt/heap_bench.c index 4a7449a1a3..10f173a899 100644 --- a/testsuite/xbt/heap_bench.c +++ b/testsuite/xbt/heap_bench.c @@ -1,3 +1,10 @@ +/* A few tests for the xbt_heap module */ + +/* Authors: Arnaud Legrand */ + +/* 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 @@ -9,45 +16,47 @@ long us_time(void); long us_time(void) { - struct timeval start; - gettimeofday(&start, NULL); - - return (start.tv_sec * 1000000 + start.tv_usec); + struct timeval start; + gettimeofday(&start, NULL); + + return (start.tv_sec * 1000000 + start.tv_usec); } -int compare_xbt_heap_float_t (const void *a, const void *b); +int compare_xbt_heap_float_t(const void *a, const void *b); void test_heap_validity(int size); void test_heap_mean_operation(int size); -int compare_xbt_heap_float_t (const void *a, const void *b) +int compare_xbt_heap_float_t(const void *a, const void *b) { xbt_heap_float_t pa, pb; - pa=* ((xbt_heap_float_t *)a); - pb=* ((xbt_heap_float_t *)b); + pa = *((xbt_heap_float_t *) a); + pb = *((xbt_heap_float_t *) b); - if(pa>pb) return 1; - if(pa==pb) return 0; + if (pa > pb) + return 1; + if (pa == pb) + return 0; return -1; } void test_heap_validity(int size) { - xbt_heap_t heap = xbt_heap_new(size,NULL); - xbt_heap_float_t *tab = calloc(size,sizeof(xbt_heap_float_t)); + xbt_heap_t heap = xbt_heap_new(size, NULL); + xbt_heap_float_t *tab = calloc(size, sizeof(xbt_heap_float_t)); int i; - for(i=0; i