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