int centroidset_weighted_insert(centroidset_t *centroidset, double mean, int weight) { int ret; centroid_t *centroid; centroid = calloc(1, sizeof(centroid_t)); centroid->mean = mean; centroid->count = weight; ret = jsw_rbinsert(centroidset, (void *)centroid); if (ret == 0) { printf("failed to insert the centroid with mean %f and weight %d\n", mean, weight); free(centroid); return -1; } return 0; }
static void createAndStoreFileNames() { int i= 0; char path[128] = {0}; key_value_s* item; // create new tree gRb_tree_bl = jsw_rbnew(key_val_cmp, key_val_dup, key_val_rel); if(gRb_tree_bl != NULL) { while( i < (TOKENARRAYSIZE-1) ) { if(gpTokenArray[i+1] != 0 ) { memset(path, 0, sizeof(path)); snprintf(path, 128, "%s", gpTokenArray[i]); // storage type item = malloc(sizeof(key_value_s)); // asign key and value to the rbtree item if(item != NULL) { //printf("createAndStoreFileNames => path: %s\n", path); item->key = pclCrc32(0, (unsigned char*)path, strlen(path)); // we don't need the path name here, we just need to know that this key is available in the tree item->value = ""; (void)jsw_rbinsert(gRb_tree_bl, item); free(item); } i+=1; } else { break; } } } }
void cx_rbtreeSet(cx_rbtree tree, const void* key, void* value) { jsw_rbinsert((jsw_rbtree_t*)tree, (void*)key, value); }