diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 14:04:36 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 14:04:36 (GMT) |
commit | f1ba03cea5b82699a984c80bd2deac14fdc8df18 (patch) | |
tree | ebe777c3e0b83f4c4cec9212731da9ebe0a0cfd3 /test/theap.c | |
parent | 10343c197906415388f2a4c8d292e21d25cf7381 (diff) | |
download | hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.zip hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.gz hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.bz2 |
Source formatted
Diffstat (limited to 'test/theap.c')
-rw-r--r-- | test/theap.c | 516 |
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() */ |