]> git.donarmstrong.com Git - mothur.git/blobdiff - mothur.h
Merge remote-tracking branch 'origin/master'
[mothur.git] / mothur.h
index 57ece6785e1e798e310797b747e6b8d049c0113d..2c143e8667786c5740f0aa6324ea4062eab66b76 100644 (file)
--- a/mothur.h
+++ b/mothur.h
@@ -42,6 +42,7 @@
 #include <cmath>
 #include <math.h>
 #include <algorithm>
+#include <numeric>
 
 //misc
 #include <cerrno>
@@ -53,7 +54,7 @@
 #endif
 /***********************************************************************/
 
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
        #include <sys/wait.h>
        #include <sys/time.h>
        #include <sys/resource.h>
@@ -106,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;
@@ -117,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() {}
 };
 /************************************************************/
@@ -189,7 +203,8 @@ void convert(const string& s, T& x, bool failIfLeftoverChars = true){
                        throw BadConversion(s);
        
 }
-
+//**********************************************************************************************************************
+template <typename T> int sgn(T val){ return (val > T(0)) - (val < T(0)); }
 //**********************************************************************************************************************
 
 template<typename T>