X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothur.h;h=c5afe86a79a9e92c789735ea3b1be3d33accf66a;hb=1244c4907c07baea86b0f0676d098a29d2e95a39;hp=2efdda8bda209ec303dd7e6bc1b8650b5eb65949;hpb=28d65de5f06f5b033109a3b8bbb6d3c4060914d3;p=mothur.git diff --git a/mothur.h b/mothur.h index 2efdda8..c5afe86 100644 --- a/mothur.h +++ b/mothur.h @@ -45,20 +45,21 @@ #include #include -using namespace std; -#ifdef _WIN32 - #define exp(x) (exp((double) x)) - #define sqrt(x) (sqrt((double) x)) - #define log10(x) (log10((double) x)) - #define log2(x) (log10(x)/log10(2)) - #define isnan(x) ((x) != (x)) - #define isinf(x) (fabs(x) == std::numeric_limits::infinity()) -#else +#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) #include #include #endif +using namespace std; + +#define exp(x) (exp((double) x)) +#define sqrt(x) (sqrt((double) x)) +#define log10(x) (log10((double) x)) +#define log2(x) (log10(x)/log10(2)) +#define isnan(x) ((x) != (x)) +#define isinf(x) (fabs(x) == std::numeric_limits::infinity()) + typedef unsigned long ull; @@ -96,6 +97,7 @@ inline void convert(const string& s, T& x, bool failIfLeftoverChars = true){ if (!(i >> x) || (failIfLeftoverChars && i.get(c))) throw BadConversion(s); } + //********************************************************************************************************************** template @@ -167,6 +169,30 @@ inline int openOutputFileAppend(string fileName, ofstream& fileHandle){ } } +/***********************************************************************/ + +inline string getline(ifstream& fileHandle) { + try { + + string line = ""; + + while (!fileHandle.eof()) { + //get next character + char c = fileHandle.get(); + + //are you at the end of the line + if ((c == '\n') || (c == '\r') || (c == '\f')){ break; } + else { line += c; } + } + + return line; + + } + catch(exception& e) { + cout << "Error in mothur function getline" << endl; + exit(1); + } +} /**************************************************************************************************/ @@ -231,7 +257,7 @@ inline void errorOut(exception& e, string object, string function) { mothurOut("Error: "); mothurOut(toString(e.what())); - mothurOut(" has occurred in the " + object + " class function " + function + ". Please contact Pat Schloss at pschloss@microbio.umass.edu, and be sure to include the mothur.logFile with your inquiry."); + mothurOut(" has occurred in the " + object + " class function " + function + ". Please contact Pat Schloss at pschloss@umich.edu, and be sure to include the mothur.logFile with your inquiry."); mothurOutEndLine(); }