X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothur.h;h=98b34c31c58c88b614412be4e9ba6874ec1cbe36;hb=bd27c2b0612942815b7417c79f7ee41f669a2a34;hp=2c143e8667786c5740f0aa6324ea4062eab66b76;hpb=e41b86a600fe30f5df9507d7e55027e7b8bd7dd6;p=mothur.git diff --git a/mothur.h b/mothur.h index 2c143e8..98b34c3 100644 --- a/mothur.h +++ b/mothur.h @@ -88,6 +88,7 @@ using namespace std; typedef unsigned long ull; +typedef unsigned short intDist; struct IntNode { int lvalue; @@ -119,7 +120,13 @@ struct diffPair { reverseProb = rp; } }; - +/***********************************************************************/ +struct PDistCell{ + ull index; + float dist; + PDistCell() : index(0), dist(0) {}; + PDistCell(ull c, float d) : index(c), dist(d) {} +}; /************************************************************/ struct clusterNode { int numSeq; @@ -158,21 +165,26 @@ struct spearmanRank { spearmanRank(string n, float s) : name(n), score(s) {} }; +//*********************************************************************** +inline bool compareIndexes(PDistCell left, PDistCell right){ + return (left.index > right.index); +} //******************************************************************************************************************** -//sorts highest to lowest inline bool compareSpearman(spearmanRank left, spearmanRank right){ - return (left.score > right.score); + return (left.score < right.score); } //******************************************************************************************************************** //sorts highest to lowest inline bool compareSeqPriorityNodes(seqPriorityNode left, seqPriorityNode right){ - return (left.numIdentical > right.numIdentical); -} -//******************************************************************************************************************** -//sorts lowest to highest -inline bool compareSpearmanReverse(spearmanRank left, spearmanRank right){ - return (left.score < right.score); + if (left.numIdentical > right.numIdentical) { + return true; + }else if (left.numIdentical == right.numIdentical) { + if (left.seq > right.seq) { return true; } + else { return false; } + } + return false; } + /************************************************************/ //sorts lowest to highest inline bool compareDistLinePairs(distlinePair left, distlinePair right){