1
1

* Fix a few warnings in ompi_rb_tree

* Add the get_key function to the opal_tree test

This commit was SVN r27207.
Этот коммит содержится в:
Jeff Squyres 2012-08-31 20:43:58 +00:00
родитель fcc1c7e33c
Коммит 36dc0d40a6
2 изменённых файлов: 15 добавлений и 6 удалений

Просмотреть файл

@ -43,8 +43,9 @@ int values[] = {
}; };
int comp_fn(void * ele1, void * ele2); int comp_fn(void * ele1, void * ele2);
void test1(void); void test1(void);
int comp_key(void* key1, void* key2);
void test_keys(void);
int comp_fn(void * ele1, void * ele2) int comp_fn(void * ele1, void * ele2)
{ {
@ -67,6 +68,7 @@ struct my_val_t{
int val; int val;
}; typedef struct my_val_t my_val_t; }; typedef struct my_val_t my_val_t;
int comp_key(void* key1, void* key2) { int comp_key(void* key1, void* key2) {
if( ((my_key_t*) key1)->base < if( ((my_key_t*) key1)->base <
((my_key_t*) key2)->base) { ((my_key_t*) key2)->base) {
@ -81,10 +83,11 @@ int comp_key(void* key1, void* key2) {
} }
} }
void test_keys(void) void test_keys(void)
{ {
ompi_rb_tree_t tree; ompi_rb_tree_t tree;
int rc, i, *result; int rc, i;
my_key_t keys[NUM_KEYS]; my_key_t keys[NUM_KEYS];
my_val_t vals[NUM_KEYS]; my_val_t vals[NUM_KEYS];
char buf[200]; char buf[200];

Просмотреть файл

@ -39,6 +39,7 @@ static int test_comp(opal_tree_item_t *item, void *key);
static int test_serialize(opal_tree_item_t *item, opal_buffer_t *buffer); static int test_serialize(opal_tree_item_t *item, opal_buffer_t *buffer);
static int test_deserialize(opal_buffer_t *serial_data, static int test_deserialize(opal_buffer_t *serial_data,
opal_tree_item_t **item); opal_tree_item_t **item);
static void *test_get_key(opal_tree_item_t *item);
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@ -63,9 +64,9 @@ int main(int argc, char **argv)
/* initialize tree */ /* initialize tree */
OBJ_CONSTRUCT(&tree, opal_tree_t); OBJ_CONSTRUCT(&tree, opal_tree_t);
opal_tree_init(&tree, &test_comp, &test_serialize, &test_deserialize); opal_tree_init(&tree, test_comp, test_serialize, test_deserialize, test_get_key);
OBJ_CONSTRUCT(&x, opal_tree_t); OBJ_CONSTRUCT(&x, opal_tree_t);
opal_tree_init(&x, &test_comp, &test_serialize, &test_deserialize); opal_tree_init(&x, test_comp, test_serialize, test_deserialize, test_get_key);
/* check length of tree */ /* check length of tree */
tree_size=opal_tree_get_size(&tree); tree_size=opal_tree_get_size(&tree);
@ -217,8 +218,8 @@ int main(int argc, char **argv)
/* create new tree */ /* create new tree */
OBJ_CONSTRUCT(&tmp_tree, opal_tree_t); OBJ_CONSTRUCT(&tmp_tree, opal_tree_t);
opal_tree_init(&tmp_tree, &test_comp, &test_serialize, opal_tree_init(&tmp_tree, test_comp, test_serialize,
&test_deserialize); test_deserialize, test_get_key);
/* deserialize tree */ /* deserialize tree */
opal_tree_deserialize(serial_tree, &(tmp_tree.opal_tree_sentinel)); opal_tree_deserialize(serial_tree, &(tmp_tree.opal_tree_sentinel));
@ -321,3 +322,8 @@ static int test_deserialize(opal_buffer_t *serial_data, opal_tree_item_t **item)
} }
return(rc); return(rc);
} }
static void *test_get_key(opal_tree_item_t *item)
{
return (void*) (((test_data_t *)item)->data);
}