Fixed in upstream, see https://github.com/arq5x/bedtools2/issues/271 From b47dbefcb57f8e6c4fe397f64346338620740b71 Mon Sep 17 00:00:00 2001 From: arq5x Date: Wed, 15 Jul 2015 15:15:23 -0600 Subject: [PATCH] settle on uint32_t signature for QuickString. Resolves #267 and #271? --- src/coverageFile/coverageFile.cpp | 24 ++++++++++++------------ src/utils/general/QuickString.cpp | 27 ++++++++++++++------------- src/utils/general/QuickString.h | 6 +++--- 3 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp index 859cfdc..0fb544b 100644 --- a/src/coverageFile/coverageFile.cpp +++ b/src/coverageFile/coverageFile.cpp @@ -83,11 +83,11 @@ void CoverageFile::giveFinalReport(RecordOutputMgr *outputMgr) { float depthPct = (float)basesAtDepth / (float)_totalQueryLen; _finalOutput = "all\t"; - _finalOutput.append(depth); + _finalOutput.append(static_cast(depth)); _finalOutput.append("\t"); - _finalOutput.append(basesAtDepth); + _finalOutput.append(static_cast(basesAtDepth)); _finalOutput.append("\t"); - _finalOutput.append(_totalQueryLen); + _finalOutput.append(static_cast(_totalQueryLen)); _finalOutput.append("\t"); format(depthPct); @@ -138,7 +138,7 @@ size_t CoverageFile::countBasesAtDepth(size_t depth) { void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits) { - _finalOutput = hits.size(); + _finalOutput = static_cast(hits.size()); outputMgr->printRecord(hits.getKey(), _finalOutput); } @@ -147,9 +147,9 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits) //loop through all bases in query, printing full record and metrics for each const Record * queryRec = hits.getKey(); for (size_t i= 0; i < _queryLen; i++) { - _finalOutput = i +1; + _finalOutput = static_cast(i+1); _finalOutput.append("\t"); - _finalOutput.append(_depthArray[i]); + _finalOutput.append(static_cast(_depthArray[i])); outputMgr->printRecord(queryRec, _finalOutput); } @@ -181,11 +181,11 @@ void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits) size_t numBasesAtDepth = iter->second; float coveredBases = (float)numBasesAtDepth / (float)_queryLen; - _finalOutput = depth; + _finalOutput = static_cast(depth); _finalOutput.append("\t"); - _finalOutput.append(numBasesAtDepth); + _finalOutput.append(static_cast(numBasesAtDepth)); _finalOutput.append("\t"); - _finalOutput.append(_queryLen); + _finalOutput.append(static_cast(_queryLen)); _finalOutput.append("\t"); format(coveredBases); @@ -199,11 +199,11 @@ void CoverageFile::doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits) size_t nonZeroBases = _queryLen - countBasesAtDepth(0); float coveredBases = (float)nonZeroBases / (float)_queryLen; - _finalOutput = hits.size(); + _finalOutput = static_cast(hits.size()); _finalOutput.append("\t"); - _finalOutput.append(nonZeroBases); + _finalOutput.append(static_cast(nonZeroBases)); _finalOutput.append("\t"); - _finalOutput.append(_queryLen); + _finalOutput.append(static_cast(_queryLen)); _finalOutput.append("\t"); format(coveredBases); diff --git a/src/utils/general/QuickString.cpp b/src/utils/general/QuickString.cpp index 0757009..a83263e 100644 --- a/src/utils/general/QuickString.cpp +++ b/src/utils/general/QuickString.cpp @@ -105,11 +105,11 @@ QuickString &QuickString::operator = (uint32_t val) { return *this; } -QuickString &QuickString::operator = (size_t val) { - clear(); - append(val); - return *this; -} +// QuickString &QuickString::operator = (size_t val) { +// clear(); +// append(val); +// return *this; +// } QuickString &QuickString::operator = (float val) { clear(); @@ -158,10 +158,11 @@ QuickString &QuickString::operator += (uint32_t num) { return *this; } -QuickString &QuickString::operator += (size_t num) { - append(num); - return *this; -} +// QuickString &QuickString::operator += (size_t num) { +// append(num); +// return *this; +// } + QuickString &QuickString::operator += (float num) { append(num); return *this; @@ -273,12 +274,12 @@ void QuickString::append(int num) { } void QuickString::append(uint32_t num) { - int2str((int)num, *this, true); + int2str((int)num, *this, true); } -void QuickString::append(size_t num) { - int2str((int)num, *this, true); -} +// void QuickString::append(size_t num) { +// int2str((int)num, *this, true); +// } void QuickString::append(float num) { append(ToString(num)); diff --git a/src/utils/general/QuickString.h b/src/utils/general/QuickString.h index b43fdfc..6e6fa94 100644 --- a/src/utils/general/QuickString.h +++ b/src/utils/general/QuickString.h @@ -38,7 +38,7 @@ class QuickString { QuickString &operator = (char); QuickString &operator = (int); QuickString &operator = (uint32_t); - QuickString &operator = (size_t); + //QuickString &operator = (size_t); QuickString &operator = (float); QuickString &operator = (double); QuickString &operator += (const QuickString &); @@ -47,7 +47,7 @@ class QuickString { QuickString &operator += (char); QuickString &operator += (int); QuickString &operator += (uint32_t); - QuickString &operator += (size_t); + //QuickString &operator += (size_t); QuickString &operator += (float); QuickString &operator += (double); @@ -74,7 +74,7 @@ class QuickString { //for better performance. void append(int num); void append(uint32_t num); - void append(size_t num); + //void append(size_t num); void append(float num); void append(double num);