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