From: David Rosca Date: Tue, 23 Feb 2016 16:32:35 +0000 Subject: signalplotter: Use std namespaced isnan and isinf X-Git-Tag: v5.5.95 X-Git-Url: http://quickgit.kde.org/?p=libksysguard.git&a=commitdiff&h=b0578798eb3f5bdad0a25ea9b4a52c53ebcfc020 --- signalplotter: Use std namespaced isnan and isinf Test Plan: Fixes build for me. Reviewers: #plasma, ivan Reviewed By: ivan Subscribers: ivan, plasma-devel Projects: #plasma Differential Revision: https://phabricator.kde.org/D1010 --- --- a/signalplotter/ksignalplotter.cpp +++ b/signalplotter/ksignalplotter.cpp @@ -32,8 +32,6 @@ #include "ksignalplotter_p.h" #include "processcore/processcore_debug.h" -#include //For floor, ceil, log10 etc for calculating ranges - #include #include #include @@ -49,7 +47,7 @@ #include #include -#include +#include #include #ifdef SVG_SUPPORT @@ -485,20 +483,20 @@ qreal value=0; for(int i = sampleBuf.count()-1; i>= 0; i--) { qreal newValue = sampleBuf[i]; - if( !isinf(newValue) && !isnan(newValue) ) + if( !std::isinf(newValue) && !std::isnan(newValue) ) value += newValue; } - if(isnan(mMinValue) || mMinValue > value) mMinValue = value; - if(isnan(mMaxValue) || mMaxValue < value) mMaxValue = value; + if(std::isnan(mMinValue) || mMinValue > value) mMinValue = value; + if(std::isnan(mMaxValue) || mMaxValue < value) mMaxValue = value; if(value > 0.7*mMaxValue) mRescaleTime = time; } else { qreal value; for(int i = sampleBuf.count()-1; i>= 0; i--) { value = sampleBuf[i]; - if( !isinf(value) && !isnan(value) ) { - if(isnan(mMinValue) || mMinValue > value) mMinValue = value; - if(isnan(mMaxValue) || mMaxValue < value) mMaxValue = value; + if( !std::isinf(value) && !std::isnan(value) ) { + if(std::isnan(mMinValue) || mMinValue > value) mMinValue = value; + if(std::isnan(mMaxValue) || mMaxValue < value) mMaxValue = value; if(value > 0.7*mMaxValue) mRescaleTime = time; } @@ -789,9 +787,9 @@ qreal max = mUserMaxValue; qreal min = mUserMinValue; if( mUseAutoRange ) { - if(!isnan(mMaxValue) && mMaxValue * 0.99 > max) //Allow max value to go very slightly over the given max, for rounding reasons + if(!std::isnan(mMaxValue) && mMaxValue * 0.99 > max) //Allow max value to go very slightly over the given max, for rounding reasons max = mMaxValue; - if(!isnan(mMinValue) && mMinValue * 0.99 < min) { + if(!std::isnan(mMinValue) && mMinValue * 0.99 < min) { min = mMinValue; } } @@ -920,23 +918,23 @@ bool firstLine = true; for (int j = 0; j < count; ++j) { qreal point0 = datapoints[j]; - if( isnan(point0) ) + if( std::isnan(point0) ) continue; //Just do not draw points with nans. skip them qreal point1 = prev_datapoints[j]; qreal point2 = prev_prev_datapoints[j]; - if(isnan(point1)) + if(std::isnan(point1)) point1 = point0; - else if(mSmoothGraph && !isinf(point1)) { + else if(mSmoothGraph && !std::isinf(point1)) { // Apply a weighted average just to smooth the graph out a bit // Do not try to smooth infinities or nans point0 = (2*point0 + point1)/3; - if(!isnan(point2) && !isinf(point2)) + if(!std::isnan(point2) && !std::isinf(point2)) point1 = (2*point1 + point2)/3; // We don't bother to average out y2. This will introduce slight inaccuracies in the gradients, but they aren't really noticeable. } - if(isnan(point2)) + if(std::isnan(point2)) point2 = point1; if (mStackBeams) { @@ -1046,12 +1044,12 @@ } QString KSignalPlotter::lastValueAsString( int i, int precision) const { - if(d->mBeamData.isEmpty() || d->mBeamData.first().size() <= i || isnan(d->mBeamData.first().at(i))) return QString(); + if(d->mBeamData.isEmpty() || d->mBeamData.first().size() <= i || std::isnan(d->mBeamData.first().at(i))) return QString(); return valueAsString(d->mBeamData.first().at(i), precision); //retrieve the newest value for this beam } QString KSignalPlotter::valueAsString( qreal value, int precision) const { - if(isnan(value)) + if(std::isnan(value)) return QString(); value = value / d->mScaleDownBy; // scale the value. E.g. from Bytes to KiB return d->scaledValueAsString(value, precision); --- a/tests/signalplottertest.cpp +++ b/tests/signalplottertest.cpp @@ -56,8 +56,8 @@ s->addBeam(Qt::blue); s->addBeam(Qt::red); - QVERIFY( isnan(s->lastValue(0)) ); //unset, so should default to NaN - QVERIFY( isnan(s->lastValue(1)) ); //unset, so should default to NaN + QVERIFY( std::isnan(s->lastValue(0)) ); //unset, so should default to NaN + QVERIFY( std::isnan(s->lastValue(1)) ); //unset, so should default to NaN QCOMPARE(s->numBeams(), 2); QVERIFY(s->beamColor(0) == Qt::blue); QVERIFY(s->beamColor(1) == Qt::red); @@ -92,7 +92,7 @@ QVERIFY(s->beamColor(0) == Qt::blue); QVERIFY(s->beamColor(1) == Qt::red); QCOMPARE(s->lastValue(0), 1.0); - QVERIFY( isnan(s->lastValue(1)) ); //unset, so should default to NaN + QVERIFY( std::isnan(s->lastValue(1)) ); //unset, so should default to NaN } void TestSignalPlotter::testReorderBeams() @@ -153,8 +153,8 @@ s->addBeam(Qt::blue); s->addBeam(Qt::red); QCOMPARE(s->numBeams(), 2); - QVERIFY(isnan(s->lastValue(0))); //unset, so should default to NaN - QVERIFY(isnan(s->lastValue(1))); //unset, so should default to NaN + QVERIFY(std::isnan(s->lastValue(0))); //unset, so should default to NaN + QVERIFY(std::isnan(s->lastValue(1))); //unset, so should default to NaN //Add some data QList data; data << 1.0 << 2.0; @@ -189,13 +189,13 @@ QCOMPARE(s->numBeams(), 3); QCOMPARE(s->lastValue(0), 2.0); QCOMPARE(s->lastValue(1), 1.0); - QVERIFY(isnan(s->lastValue(2))); //unset, so should default to NaN + QVERIFY(std::isnan(s->lastValue(2))); //unset, so should default to NaN newOrder.clear(); newOrder << 2 << 0 << 1; s->reorderBeams(newOrder); QCOMPARE(s->numBeams(), 3); - QVERIFY(isnan(s->lastValue(0))); //unset, so should default to NaN + QVERIFY(std::isnan(s->lastValue(0))); //unset, so should default to NaN QCOMPARE(s->lastValue(1), 2.0); QCOMPARE(s->lastValue(2), 1.0); }