summaryrefslogtreecommitdiffstats
path: root/test/theap.c
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-10-01 14:04:36 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-10-01 14:04:36 (GMT)
commitf1ba03cea5b82699a984c80bd2deac14fdc8df18 (patch)
treeebe777c3e0b83f4c4cec9212731da9ebe0a0cfd3 /test/theap.c
parent10343c197906415388f2a4c8d292e21d25cf7381 (diff)
downloadhdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.zip
hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.gz
hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.bz2
Source formatted
Diffstat (limited to 'test/theap.c')
-rw-r--r--test/theap.c516
1 files changed, 261 insertions, 255 deletions
diff --git a/test/theap.c b/test/theap.c
index 7b2fadb..73b8f5b 100644
--- a/test/theap.c
+++ b/test/theap.c
@@ -33,12 +33,12 @@
#include "H5HPprivate.h"
/* The number of elements in testing arrays */
-#define NUM_ELEMS 1000
+#define NUM_ELEMS 1000
/* Objects for testing in heaps */
typedef struct test_obj {
- H5HP_info_t heap_info; /* Information required for heap. _MUST_ be first */
- int val; /* Actual information for object */
+ H5HP_info_t heap_info; /* Information required for heap. _MUST_ be first */
+ int val; /* Actual information for object */
} test_obj;
/* Array of random element values */
@@ -50,28 +50,30 @@ static test_obj *inc_sort_num;
/* Array of random elements values, sorted in decreasing order */
static test_obj *dec_sort_num;
-static int tst_dec_sort(const void *_i1, const void *_i2)
+static int
+tst_dec_sort(const void *_i1, const void *_i2)
{
- const test_obj *i1=(const test_obj *)_i1;
- const test_obj *i2=(const test_obj *)_i2;
-
- if(i1->val<i2->val)
- return(1);
- else if(i1->val>i2->val)
- return(-1);
- return(0);
+ const test_obj *i1 = (const test_obj *)_i1;
+ const test_obj *i2 = (const test_obj *)_i2;
+
+ if (i1->val < i2->val)
+ return (1);
+ else if (i1->val > i2->val)
+ return (-1);
+ return (0);
}
-static int tst_inc_sort(const void *_i1, const void *_i2)
+static int
+tst_inc_sort(const void *_i1, const void *_i2)
{
- const test_obj *i1=(const test_obj *)_i1;
- const test_obj *i2=(const test_obj *)_i2;
-
- if(i1->val<i2->val)
- return(-1);
- else if(i1->val>i2->val)
- return(1);
- return(0);
+ const test_obj *i1 = (const test_obj *)_i1;
+ const test_obj *i2 = (const test_obj *)_i2;
+
+ if (i1->val < i2->val)
+ return (-1);
+ else if (i1->val > i2->val)
+ return (1);
+ return (0);
}
/****************************************************************
@@ -83,8 +85,8 @@ static int tst_inc_sort(const void *_i1, const void *_i2)
static void
test_heap_init(void)
{
- time_t curr_time; /* Current time, for seeding random number generator */
- size_t u; /* Local index variables */
+ time_t curr_time; /* Current time, for seeding random number generator */
+ size_t u; /* Local index variables */
/* Allocate arrays */
rand_num = (test_obj *)HDmalloc(sizeof(test_obj) * NUM_ELEMS);
@@ -97,7 +99,7 @@ test_heap_init(void)
/* Create randomized set of numbers */
curr_time = HDtime(NULL);
HDsrandom((unsigned)curr_time);
- for(u = 0; u < NUM_ELEMS; u++)
+ for (u = 0; u < NUM_ELEMS; u++)
/* Generate random numbers from -1000 to 1000 */
rand_num[u].val = (int)(HDrandom() % 2001) - 1001;
@@ -119,26 +121,26 @@ test_heap_init(void)
static void
test_heap_create(void)
{
- H5HP_t *heap; /* Heap created */
- herr_t ret; /* Generic return value */
+ H5HP_t *heap; /* Heap created */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(6, ("Testing Creating & Closing Heaps\n"));
/* Try creating a maximum Heap */
- heap=H5HP_create(H5HP_MAX_HEAP);
+ heap = H5HP_create(H5HP_MAX_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Try closing the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
/* Try creating a minimum Heap */
- heap=H5HP_create(H5HP_MIN_HEAP);
+ heap = H5HP_create(H5HP_MIN_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Try closing the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_create() */
@@ -152,67 +154,67 @@ test_heap_create(void)
static void
test_heap_insert_min(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Inserting Into Minimum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MIN_HEAP);
+ heap = H5HP_create(H5HP_MIN_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,10,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Check that the heap has one element */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 1, "H5HP_count");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 10, "H5HP_top");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Check that the heap has two elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 2, "H5HP_count");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 5, "H5HP_top");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Check that the heap has three elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 3, "H5HP_count");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 5, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_insert_min() */
@@ -226,67 +228,67 @@ test_heap_insert_min(void)
static void
test_heap_insert_max(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Inserting Into Maximum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MAX_HEAP);
+ heap = H5HP_create(H5HP_MAX_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,10,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Check that the heap has one element */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 1, "H5HP_count");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 10, "H5HP_top");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Check that the heap has two elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 2, "H5HP_count");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 10, "H5HP_top");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Check that the heap has three elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 3, "H5HP_count");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 20, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_insert_max() */
@@ -317,38 +319,38 @@ test_heap_insert(void)
static void
test_heap_insert_many_core(H5HP_type_t heap_type, test_obj *arr, size_t nelem, int top_val)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- size_t u; /* Local index variable */
- herr_t ret; /* Generic return value */
+ H5HP_t *heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ size_t u; /* Local index variable */
+ herr_t ret; /* Generic return value */
/* Create a Heap */
- heap=H5HP_create(heap_type);
+ heap = H5HP_create(heap_type);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert the array elements into the heap */
- for(u=0; u<nelem; u++) {
- ret=H5HP_insert(heap,arr[u].val,&arr[u]);
+ for (u = 0; u < nelem; u++) {
+ ret = H5HP_insert(heap, arr[u].val, &arr[u]);
CHECK(ret, FAIL, "H5HP_insert");
} /* end for */
/* Check that the heap has correct number of elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
CHECK(num, FAIL, "H5HP_count");
VERIFY((size_t)num, nelem, "H5HP_count");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, top_val, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_insert_many_core() */
@@ -393,67 +395,67 @@ test_heap_insert_many(void)
static void
test_heap_remove_min(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- void *ptr; /* Pointer for object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ void * ptr; /* Pointer for object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Removing From Minimum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MIN_HEAP);
+ heap = H5HP_create(H5HP_MIN_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Try removing an object from an empty heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
VERIFY(ret, FAIL, "H5HP_remove");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,10,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Remove first maximum value from heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, 5, "H5HP_remove");
CHECK_PTR_EQ(ptr, &obj2, "H5HP_remove");
/* Remove second maximum value from heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, 10, "H5HP_remove");
CHECK_PTR_EQ(ptr, &obj1, "H5HP_remove");
/* Remove third maximum value from heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, 20, "H5HP_remove");
CHECK_PTR_EQ(ptr, &obj3, "H5HP_remove");
/* Try removing an object from an empty heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
VERIFY(ret, FAIL, "H5HP_remove");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_remove_min() */
@@ -467,67 +469,67 @@ test_heap_remove_min(void)
static void
test_heap_remove_max(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- void *ptr; /* Pointer for object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ void * ptr; /* Pointer for object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Removing From Maximum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MAX_HEAP);
+ heap = H5HP_create(H5HP_MAX_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Try removing an object from an empty heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
VERIFY(ret, FAIL, "H5HP_remove");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,10,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Remove first maximum value from heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, 20, "H5HP_remove");
CHECK_PTR_EQ(ptr, &obj3, "H5HP_remove");
/* Remove second maximum value from heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, 10, "H5HP_remove");
CHECK_PTR_EQ(ptr, &obj1, "H5HP_remove");
/* Remove third maximum value from heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, 5, "H5HP_remove");
CHECK_PTR_EQ(ptr, &obj2, "H5HP_remove");
/* Try removing an object from an empty heap */
- ret=H5HP_remove(heap,&val,&ptr);
+ ret = H5HP_remove(heap, &val, &ptr);
VERIFY(ret, FAIL, "H5HP_remove");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_remove_max() */
@@ -555,110 +557,115 @@ test_heap_remove(void)
** "Core" routine called by test_heap_remove_many() routine.
**
****************************************************************/
-static void test_heap_remove_many_core(H5HP_type_t heap_type, test_obj *arr, size_t nelem)
+static void
+test_heap_remove_many_core(H5HP_type_t heap_type, test_obj *arr, size_t nelem)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int last_val; /* Last value from the heap */
- int val; /* Value of object on heap */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int last_val; /* Last value from the heap */
+ int val; /* Value of object on heap */
test_obj *ptr; /* Pointer for object on heap */
- size_t u; /* Local index variable */
- herr_t ret; /* Generic return value */
+ size_t u; /* Local index variable */
+ herr_t ret; /* Generic return value */
/* Create a Heap */
- heap=H5HP_create(heap_type);
+ heap = H5HP_create(heap_type);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert the array elements into the heap */
- for(u=0; u<nelem; u++) {
- ret=H5HP_insert(heap,arr[u].val,&arr[u]);
+ for (u = 0; u < nelem; u++) {
+ ret = H5HP_insert(heap, arr[u].val, &arr[u]);
CHECK(ret, FAIL, "H5HP_insert");
} /* end for */
/* Check that the heap has correct number of elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
CHECK(num, FAIL, "H5HP_count");
VERIFY((size_t)num, nelem, "H5HP_count");
/* Set an appropriate starting value for the "last" value from heap */
- if(heap_type==H5HP_MAX_HEAP)
- last_val=INT_MAX;
+ if (heap_type == H5HP_MAX_HEAP)
+ last_val = INT_MAX;
else
- last_val=INT_MIN;
+ last_val = INT_MIN;
/* Remove the objects from the heap */
- for(u=0; u<nelem; u++) {
- ret=H5HP_remove(heap,&val,(void **)&ptr);
+ for (u = 0; u < nelem; u++) {
+ ret = H5HP_remove(heap, &val, (void **)&ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, ptr->val, "H5HP_remove");
/* Check that the value is correct, based on the heap type */
- if(heap_type==H5HP_MAX_HEAP) {
- if(val>last_val)
- TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n",__LINE__,val,last_val);
+ if (heap_type == H5HP_MAX_HEAP) {
+ if (val > last_val)
+ TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n", __LINE__, val,
+ last_val);
} /* end if */
else {
- if(val<last_val)
- TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n",__LINE__,val,last_val);
+ if (val < last_val)
+ TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n", __LINE__, val,
+ last_val);
} /* end else */
/* Update last value */
- last_val=val;
+ last_val = val;
} /* end for */
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
-/* Insert & remove again, to check that completely empty heaps can be added again */
+ /* Insert & remove again, to check that completely empty heaps can be added again */
/* Set an appropriate starting value for the "last" value from heap */
- if(heap_type==H5HP_MAX_HEAP)
- last_val=INT_MAX;
+ if (heap_type == H5HP_MAX_HEAP)
+ last_val = INT_MAX;
else
- last_val=INT_MIN;
+ last_val = INT_MIN;
/* Insert the array elements into the heap */
- for(u=0; u<nelem; u++) {
- ret=H5HP_insert(heap,arr[u].val,&arr[u]);
+ for (u = 0; u < nelem; u++) {
+ ret = H5HP_insert(heap, arr[u].val, &arr[u]);
CHECK(ret, FAIL, "H5HP_insert");
} /* end for */
/* Check that the heap has correct number of elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
CHECK(num, FAIL, "H5HP_count");
VERIFY((size_t)num, nelem, "H5HP_count");
/* Remove the objects from the heap */
- for(u=0; u<nelem; u++) {
- ret=H5HP_remove(heap,&val,(void **)&ptr);
+ for (u = 0; u < nelem; u++) {
+ ret = H5HP_remove(heap, &val, (void **)&ptr);
CHECK(ret, FAIL, "H5HP_remove");
VERIFY(val, ptr->val, "H5HP_remove");
/* Check that the value is correct, based on the heap type */
- if(heap_type==H5HP_MAX_HEAP) {
- if(val>last_val)
- TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n",__LINE__,val,last_val);
+ if (heap_type == H5HP_MAX_HEAP) {
+ if (val > last_val)
+ TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n", __LINE__, val,
+ last_val);
} /* end if */
else {
- if(val<last_val)
- TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n",__LINE__,val,last_val);
+ if (val < last_val)
+ TestErrPrintf("Error on line %d: incorrect value from heap=%d, last_val=%d\n", __LINE__, val,
+ last_val);
} /* end else */
/* Update last value */
- last_val=val;
+ last_val = val;
} /* end for */
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_remove_many_core() */
@@ -703,67 +710,67 @@ test_heap_remove_many(void)
static void
test_heap_change_min(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Changing Priority of Objects in Minimum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MIN_HEAP);
+ heap = H5HP_create(H5HP_MIN_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,10,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Change priority of first object on heap in way which shouldn't affect heap order */
- ret=H5HP_change(heap,11,&obj1);
+ ret = H5HP_change(heap, 11, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 5, "H5HP_top");
/* Change priority of first object on heap to be the top object on the heap */
- ret=H5HP_change(heap,3,&obj1);
+ ret = H5HP_change(heap, 3, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 3, "H5HP_top");
/* Change priority of first object on heap to not be the top object on the heap */
- ret=H5HP_change(heap,10,&obj1);
+ ret = H5HP_change(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 5, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_change_min() */
@@ -777,67 +784,67 @@ test_heap_change_min(void)
static void
test_heap_change_max(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Changing Priority of Objects in Maximum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MAX_HEAP);
+ heap = H5HP_create(H5HP_MAX_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,10,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Change priority of first object on heap in way which shouldn't affect heap order */
- ret=H5HP_change(heap,11,&obj1);
+ ret = H5HP_change(heap, 11, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 20, "H5HP_top");
/* Change priority of first object on heap to be the top object on the heap */
- ret=H5HP_change(heap,21,&obj1);
+ ret = H5HP_change(heap, 21, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 21, "H5HP_top");
/* Change priority of first object on heap to not be the top object on the heap */
- ret=H5HP_change(heap,10,&obj1);
+ ret = H5HP_change(heap, 10, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 20, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_change() */
@@ -869,67 +876,67 @@ test_heap_change(void)
static void
test_heap_incdec_min(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Incrementing & Decrementing Priority of Objects in Minimum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MIN_HEAP);
+ heap = H5HP_create(H5HP_MIN_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,6,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 6, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Decrement object one's priority by two to put it on top of the heap */
- ret=H5HP_decr(heap, 2, &obj1);
+ ret = H5HP_decr(heap, 2, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 4, "H5HP_top");
/* Decrement object two's priority by two to put it back on top of the heap */
- ret=H5HP_decr(heap, 2, &obj2);
+ ret = H5HP_decr(heap, 2, &obj2);
CHECK(ret, FAIL, "H5HP_change");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 3, "H5HP_top");
/* Increment object two's priority by two to return object one to the top */
- ret=H5HP_incr(heap,2,&obj2);
+ ret = H5HP_incr(heap, 2, &obj2);
CHECK(ret, FAIL, "H5HP_change");
/* Check the minimum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 4, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_incdec_min() */
@@ -944,67 +951,67 @@ test_heap_incdec_min(void)
static void
test_heap_incdec_max(void)
{
- H5HP_t *heap; /* Heap created */
- ssize_t num; /* Number of elements in heap */
- int val; /* Value of object on heap */
- test_obj obj1, obj2, obj3; /* Test objects to insert */
- herr_t ret; /* Generic return value */
+ H5HP_t * heap; /* Heap created */
+ ssize_t num; /* Number of elements in heap */
+ int val; /* Value of object on heap */
+ test_obj obj1, obj2, obj3; /* Test objects to insert */
+ herr_t ret; /* Generic return value */
/* Output message about test being performed */
MESSAGE(7, ("Testing Incrementing & Decrementing Priority of Objects in Maximum Heaps\n"));
/* Create a Heap */
- heap=H5HP_create(H5HP_MAX_HEAP);
+ heap = H5HP_create(H5HP_MAX_HEAP);
CHECK_PTR(heap, "H5HP_create");
/* Check that the heap has no elements */
- num=H5HP_count(heap);
+ num = H5HP_count(heap);
VERIFY(num, 0, "H5HP_count");
/* Insert an object into the heap */
- obj1.val=100;
- ret=H5HP_insert(heap,19,&obj1);
+ obj1.val = 100;
+ ret = H5HP_insert(heap, 19, &obj1);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert another object into the heap, with value less than top element */
- obj2.val=50;
- ret=H5HP_insert(heap,5,&obj2);
+ obj2.val = 50;
+ ret = H5HP_insert(heap, 5, &obj2);
CHECK(ret, FAIL, "H5HP_insert");
/* Insert third object into the heap, with value greater than top element */
- obj3.val=200;
- ret=H5HP_insert(heap,20,&obj3);
+ obj3.val = 200;
+ ret = H5HP_insert(heap, 20, &obj3);
CHECK(ret, FAIL, "H5HP_insert");
/* Increment object one's priority by two to put it on top of the heap */
- ret=H5HP_incr(heap, 2, &obj1);
+ ret = H5HP_incr(heap, 2, &obj1);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 21, "H5HP_top");
/* Increment object three's priority by two to put it back on top of the heap */
- ret=H5HP_incr(heap, 2, &obj3);
+ ret = H5HP_incr(heap, 2, &obj3);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 22, "H5HP_top");
/* Decrement object three's priority by two to return object one to the top */
- ret=H5HP_decr(heap,2,&obj3);
+ ret = H5HP_decr(heap, 2, &obj3);
CHECK(ret, FAIL, "H5HP_change");
/* Check the maximum value on the heap */
- ret=H5HP_top(heap, &val);
+ ret = H5HP_top(heap, &val);
CHECK(ret, FAIL, "H5HP_top");
VERIFY(val, 21, "H5HP_top");
/* Close the heap */
- ret=H5HP_close(heap);
+ ret = H5HP_close(heap);
CHECK(ret, FAIL, "H5HP_close");
} /* end test_heap_incdec_max() */
@@ -1037,11 +1044,11 @@ static void
test_heap_term(void)
{
/* Release arrays */
- if(rand_num)
+ if (rand_num)
HDfree(rand_num);
- if(inc_sort_num)
+ if (inc_sort_num)
HDfree(inc_sort_num);
- if(dec_sort_num)
+ if (dec_sort_num)
HDfree(dec_sort_num);
} /* end test_tst_term() */
@@ -1060,16 +1067,15 @@ test_heap(void)
test_heap_init();
/* Actual Heap tests */
- test_heap_create(); /* Test Heap creation */
- test_heap_insert(); /* Test basic Heap insertion */
- test_heap_insert_many(); /* Test Heap insertion of many items */
- test_heap_remove(); /* Test basic Heap removal */
- test_heap_remove_many(); /* Test Heap removal of many items */
- test_heap_change(); /* Test changing priority of objects on Heap */
- test_heap_incdec(); /* Test incrementing & decrementing priority of objects on Heap */
+ test_heap_create(); /* Test Heap creation */
+ test_heap_insert(); /* Test basic Heap insertion */
+ test_heap_insert_many(); /* Test Heap insertion of many items */
+ test_heap_remove(); /* Test basic Heap removal */
+ test_heap_remove_many(); /* Test Heap removal of many items */
+ test_heap_change(); /* Test changing priority of objects on Heap */
+ test_heap_incdec(); /* Test incrementing & decrementing priority of objects on Heap */
/* Release Heap testing data */
test_heap_term();
-} /* end test_heap() */
-
+} /* end test_heap() */