1 
2 #include "cluster.hpp"
3 
4 
5 /***********************************************************************/
6 
SingleLinkage(RAbundVector * rav,ListVector * lv,SparseDistanceMatrix * dm,float c,string s,float a)7 SingleLinkage::SingleLinkage(RAbundVector* rav, ListVector* lv, SparseDistanceMatrix* dm, float c, string s, float a) :
8 Cluster(rav, lv, dm, c, s, a)
9 {}
10 
11 
12 /***********************************************************************/
13 //This function returns the tag of the method.
getTag()14 string SingleLinkage::getTag() {
15 	return("nn");
16 }
17 /***********************************************************************/
18 //This function updates the distance based on the nearest neighbor method.
updateDistance(PDistCell & colCell,PDistCell & rowCell)19 bool SingleLinkage::updateDistance(PDistCell& colCell, PDistCell& rowCell) {
20 	try {
21 		bool changed = false;
22 		if (colCell.dist > rowCell.dist) {
23 			colCell.dist = rowCell.dist;
24 		}
25 		return(changed);
26 	}
27 	catch(exception& e) {
28 		m->errorOut(e, "SingleLinkage", "updateDistance");
29 		exit(1);
30 	}
31 }
32 /***********************************************************************/
33