X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothur.h;h=2c143e8667786c5740f0aa6324ea4062eab66b76;hb=e0b6040c7b6ad4ecdad4aa90b4326c0528379178;hp=f8ec32363516bcc6543569b57f313505796acef7;hpb=fc1ed1ae1b022719176910ab71993bd6535810ad;p=mothur.git diff --git a/mothur.h b/mothur.h index f8ec323..2c143e8 100644 --- a/mothur.h +++ b/mothur.h @@ -42,6 +42,7 @@ #include #include #include +#include //misc #include @@ -53,7 +54,7 @@ #endif /***********************************************************************/ -#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) +#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix) #include #include #include @@ -85,6 +86,7 @@ using namespace std; #define isnan(x) ((x) != (x)) #define isinf(x) (fabs(x) == std::numeric_limits::infinity()) + typedef unsigned long ull; struct IntNode { @@ -105,6 +107,19 @@ struct ThreadNode { IntNode* right; }; +struct diffPair { + float prob; + float reverseProb; + + diffPair() { + prob = 0; reverseProb = 0; + } + diffPair(float p, float rp) { + prob = p; + reverseProb = rp; + } +}; + /************************************************************/ struct clusterNode { int numSeq; @@ -116,9 +131,9 @@ struct clusterNode { struct seqDist { int seq1; int seq2; - float dist; + double dist; seqDist() {} - seqDist(int s1, int s2, float d) : seq1(s1), seq2(s2), dist(d) {} + seqDist(int s1, int s2, double d) : seq1(s1), seq2(s2), dist(d) {} ~seqDist() {} }; /************************************************************/ @@ -188,7 +203,8 @@ void convert(const string& s, T& x, bool failIfLeftoverChars = true){ throw BadConversion(s); } - +//********************************************************************************************************************** +template int sgn(T val){ return (val > T(0)) - (val < T(0)); } //********************************************************************************************************************** template