bcd7207e33c24231cdeb4e4d4212c7af56f9855b kent Mon Aug 25 17:18:51 2014 -0700 Adding hacTreeMultiThread. diff --git src/inc/hacTree.h src/inc/hacTree.h index 9e8fb44..9a5b03f 100644 --- src/inc/hacTree.h +++ src/inc/hacTree.h @@ -74,16 +74,22 @@ struct hacTree *hacTreeFromItems(const struct slList *itemList, struct lm *localMem, hacDistanceFunction *distF, hacMergeFunction *mergeF, hacCmpFunction *cmpF, void *extraData); /* Using distF, mergeF, optionally cmpF and binary tree operations, * perform a hierarchical agglomerative (bottom-up) clustering of * items. To free the resulting tree, lmCleanup(&localMem). */ struct hacTree *hacTreeForCostlyMerges(struct slList *itemList, struct lm *localMem, hacDistanceFunction *distF, hacMergeFunction *mergeF, void *extraData); /* Construct hacTree similar to hacTreeForItems, but using a method that will minimize the * number of calls to the distance and merge functions, assuming they are expensive. * Do a lmCleanup(&localMem) to free the returned tree. */ +struct hacTree *hacTreeMultiThread(int threadCount, struct slList *itemList, struct lm *localMem, + hacDistanceFunction *distF, hacMergeFunction *mergeF, + void *extraData); +/* Construct hacTree minimizing number of merges called, and doing distance calls + * in parallel when possible. Do a lmCleanup(localMem) to free returned tree. */ + #endif//def HACTREE_H