diff --git a/Framework/API/src/WorkspaceOpOverloads.cpp b/Framework/API/src/WorkspaceOpOverloads.cpp index 86b49a7884fdb977f0d3c19973668e0e17cf314b..3be1fd8b086f542a31e47d54d8031b5d25ac7f40 100644 --- a/Framework/API/src/WorkspaceOpOverloads.cpp +++ b/Framework/API/src/WorkspaceOpOverloads.cpp @@ -420,15 +420,14 @@ bool WorkspaceHelpers::commonBoundaries(const MatrixWorkspace_const_sptr WS) { const double commonSum = std::accumulate(WS->readX(0).begin(), WS->readX(0).end(), 0.); // If this results in infinity or NaN, then we can't tell - return false - if (commonSum == std::numeric_limits<double>::infinity() || - commonSum != commonSum) + if (!std::isfinite(commonSum)) return false; const size_t numHist = WS->getNumberHistograms(); for (size_t j = 1; j < numHist; ++j) { const double sum = std::accumulate(WS->readX(j).begin(), WS->readX(j).end(), 0.); // If this results in infinity or NaN, then we can't tell - return false - if (sum == std::numeric_limits<double>::infinity() || sum != sum) + if (!std::isfinite(sum)) return false; if (std::abs(commonSum) < 1.0E-7 && std::abs(sum) < 1.0E-7) { diff --git a/Framework/Algorithms/src/ConvertUnits.cpp b/Framework/Algorithms/src/ConvertUnits.cpp index ba046bf0efb10a9781db7c65af5df81db345a7e1..83d1698a0677d1b2f98945274b296b5fc5235ff8 100644 --- a/Framework/Algorithms/src/ConvertUnits.cpp +++ b/Framework/Algorithms/src/ConvertUnits.cpp @@ -674,7 +674,7 @@ const std::vector<double> ConvertUnits::calculateRebinParams( auto &XData = workspace->x(i); double xfront = XData.front(); double xback = XData.back(); - if (boost::math::isfinite(xfront) && boost::math::isfinite(xback)) { + if (std::isfinite(xfront) && std::isfinite(xback)) { if (xfront < XMin) XMin = xfront; if (xback > XMax) diff --git a/Framework/Algorithms/src/ConvertUnitsUsingDetectorTable.cpp b/Framework/Algorithms/src/ConvertUnitsUsingDetectorTable.cpp index 3b374881c1acbb540550afa2aec77501fc9b9712..8b57d341e7e833955bb9cb70312da437f6b05ab3 100644 --- a/Framework/Algorithms/src/ConvertUnitsUsingDetectorTable.cpp +++ b/Framework/Algorithms/src/ConvertUnitsUsingDetectorTable.cpp @@ -12,12 +12,10 @@ #include <boost/bind.hpp> #include <boost/function.hpp> -#include <boost/math/special_functions/fpclassify.hpp> #include <algorithm> #include <numeric> #include <cfloat> -#include <limits> namespace Mantid { namespace Algorithms { diff --git a/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp b/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp index 5bd44d2b2e911134a2b0e731dabc6f8559348c03..101c657e0bb916de257aa2096c09fa5d80ca9192 100644 --- a/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp +++ b/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp @@ -3,8 +3,6 @@ #include "MantidAPI/SpectrumInfo.h" #include "MantidKernel/BoundedValidator.h" -#include <boost/math/special_functions/fpclassify.hpp> - namespace Mantid { namespace Algorithms { @@ -236,8 +234,7 @@ int DetectorEfficiencyVariation::doDetectorTests( const double signal2 = counts2->y(i)[0]; // Mask out NaN and infinite - if (boost::math::isinf(signal1) || boost::math::isnan(signal1) || - boost::math::isinf(signal2) || boost::math::isnan(signal2)) { + if (!std::isfinite(signal1) || !std::isfinite(signal2)) { maskWS->mutableY(i)[0] = deadValue; PARALLEL_ATOMIC ++numFailed; diff --git a/Framework/Algorithms/src/DiffractionFocussing.cpp b/Framework/Algorithms/src/DiffractionFocussing.cpp index 3b5ae57b7e7f034801237964bdba78edd42ff0ad..458256d04f9c153ec1b80aeab4549ef62faea217 100644 --- a/Framework/Algorithms/src/DiffractionFocussing.cpp +++ b/Framework/Algorithms/src/DiffractionFocussing.cpp @@ -210,8 +210,7 @@ void DiffractionFocussing::calculateRebinParams( auto &xVec = workspace->x(i); const double &localMin = xVec.front(); const double &localMax = xVec.back(); - if (localMin != std::numeric_limits<double>::infinity() && - localMax != std::numeric_limits<double>::infinity()) { + if (std::isfinite(localMin) && std::isfinite(localMax)) { min = std::min(min, localMin); max = std::max(max, localMax); } diff --git a/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp b/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp index cc9a172ec5c133621f4faeee02995759f8bafe38..e4967081d2a96f658f0edf774a4700bda8a13617 100644 --- a/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp +++ b/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp @@ -5,8 +5,6 @@ #include "MantidKernel/BoundedValidator.h" #include "MantidKernel/MultiThreaded.h" -#include <boost/math/special_functions/fpclassify.hpp> - #include <fstream> #include <cmath> @@ -145,7 +143,7 @@ void FindDetectorsOutsideLimits::exec() { const double &yValue = countsWS->y(countsInd)[0]; // Mask out NaN and infinite - if (boost::math::isinf(yValue) || boost::math::isnan(yValue)) { + if (!std::isfinite(yValue)) { keepData = false; } else { if (yValue <= lowThreshold) { diff --git a/Framework/Algorithms/src/GetDetectorOffsets.cpp b/Framework/Algorithms/src/GetDetectorOffsets.cpp index d0028db0599c3e9b1c69cc8dadbba1f3f5e42a47..3f20683ea86634d330b737b1e1dd530d05581fe9 100644 --- a/Framework/Algorithms/src/GetDetectorOffsets.cpp +++ b/Framework/Algorithms/src/GetDetectorOffsets.cpp @@ -178,7 +178,7 @@ double GetDetectorOffsets::fitSpectra(const int64_t s, bool isAbsolbute) { const double peakLoc = inputW->x(s)[it - yValues.begin()]; // Return if peak of Cross Correlation is nan (Happens when spectra is zero) // Pixel with large offset will be masked - if (boost::math::isnan(peakHeight)) + if (std::isnan(peakHeight)) return (1000.); IAlgorithm_sptr fit_alg; diff --git a/Framework/Algorithms/src/IntegrateByComponent.cpp b/Framework/Algorithms/src/IntegrateByComponent.cpp index f2e51448bb144cdcfa21226414b9cb675bed0057..06b10990bcad9b228fba447e32c2dfed29bf0620 100644 --- a/Framework/Algorithms/src/IntegrateByComponent.cpp +++ b/Framework/Algorithms/src/IntegrateByComponent.cpp @@ -4,7 +4,6 @@ #include "MantidGeometry/Instrument.h" #include "MantidKernel/BoundedValidator.h" -#include <boost/math/special_functions/fpclassify.hpp> #include <gsl/gsl_statistics.h> #include <unordered_map> @@ -91,9 +90,7 @@ void IntegrateByComponent::exec() { const double yValue = integratedWS->readY(hists[i])[0]; const double eValue = integratedWS->readE(hists[i])[0]; - if (boost::math::isnan(yValue) || boost::math::isinf(yValue) || - boost::math::isnan(eValue) || - boost::math::isinf(eValue)) // NaNs/Infs + if (!std::isfinite(yValue) || !std::isfinite(eValue)) // NaNs/Infs continue; // Now we have a good value @@ -128,9 +125,7 @@ void IntegrateByComponent::exec() { const double yValue = integratedWS->readY(hists[i])[0]; const double eValue = integratedWS->readE(hists[i])[0]; - if (boost::math::isnan(yValue) || boost::math::isinf(yValue) || - boost::math::isnan(eValue) || - boost::math::isinf(eValue)) // NaNs/Infs + if (!std::isfinite(yValue) || !std::isfinite(eValue)) // NaNs/Infs continue; // Now we have a good value diff --git a/Framework/Algorithms/src/Qxy.cpp b/Framework/Algorithms/src/Qxy.cpp index ae243f9f5d41e034597ae292553d8315acf3aafe..cd9a2fdcde136a99b18ce8463be508e7d7523484 100644 --- a/Framework/Algorithms/src/Qxy.cpp +++ b/Framework/Algorithms/src/Qxy.cpp @@ -13,7 +13,6 @@ #include "MantidKernel/CompositeValidator.h" #include "MantidKernel/UnitFactory.h" #include "MantidKernel/VectorHelper.h" -#include <boost/math/special_functions/fpclassify.hpp> namespace Mantid { namespace Algorithms { @@ -235,7 +234,7 @@ void Qxy::exec() { double &outputBinY = outputWorkspace->dataY(yIndex)[xIndex]; double &outputBinE = outputWorkspace->dataE(yIndex)[xIndex]; - if (boost::math::isnan(outputBinY)) { + if (std::isnan(outputBinY)) { outputBinY = outputBinE = 0; } // Add the contents of the current bin to the 2D array. diff --git a/Framework/Algorithms/src/Rebin2D.cpp b/Framework/Algorithms/src/Rebin2D.cpp index a6cf257796eab15a5240ff2402e0cf00e1ef1310..1e8edf6919f5f437e60c8a955522d98cd61f89d1 100644 --- a/Framework/Algorithms/src/Rebin2D.cpp +++ b/Framework/Algorithms/src/Rebin2D.cpp @@ -15,7 +15,6 @@ #include "MantidKernel/PropertyWithValue.h" #include "MantidKernel/VectorHelper.h" -#include <boost/math/special_functions/fpclassify.hpp> namespace Mantid { namespace Algorithms { diff --git a/Framework/Algorithms/src/ReplaceSpecialValues.cpp b/Framework/Algorithms/src/ReplaceSpecialValues.cpp index ebce095ad184309d204a0658f60bcf29f9155f26..bd36b77a27722277e67f7c6e138b4c331f844a54 100644 --- a/Framework/Algorithms/src/ReplaceSpecialValues.cpp +++ b/Framework/Algorithms/src/ReplaceSpecialValues.cpp @@ -3,7 +3,6 @@ //---------------------------------------------------------------------- #include "MantidAlgorithms/ReplaceSpecialValues.h" #include "MantidKernel/Exception.h" -#include "boost/math/special_functions/fpclassify.hpp" #include <limits> #include <cmath> @@ -84,11 +83,11 @@ void ReplaceSpecialValues::performUnaryOperation(const double XIn, } bool ReplaceSpecialValues::checkIfNan(const double &value) const { - return (boost::math::isnan(value)); + return (std::isnan(value)); } bool ReplaceSpecialValues::checkIfInfinite(const double &value) const { - return (std::abs(value) == std::numeric_limits<double>::infinity()); + return (std::isinf(value)); } bool ReplaceSpecialValues::checkIfBig(const double &value) const { diff --git a/Framework/Algorithms/src/ResampleX.cpp b/Framework/Algorithms/src/ResampleX.cpp index ee4c36e24e21acf42b3cc10c51862f94dff13df3..6e2741a75ac990d940ca322d218c8dd476fa6397 100644 --- a/Framework/Algorithms/src/ResampleX.cpp +++ b/Framework/Algorithms/src/ResampleX.cpp @@ -6,7 +6,6 @@ #include "MantidKernel/BoundedValidator.h" #include "MantidKernel/VectorHelper.h" -#include <boost/math/special_functions/fpclassify.hpp> #include <sstream> @@ -135,14 +134,14 @@ string determineXMinMax(MatrixWorkspace_sptr inputWS, vector<double> &xmins, if (updateXMins || updateXMaxs) { const MantidVec &xvalues = inputWS->getSpectrum(i).dataX(); if (updateXMins) { - if (boost::math::isnan(xvalues.front())) { + if (std::isnan(xvalues.front())) { xmins.push_back(xmin_wksp); } else { xmins.push_back(xvalues.front()); } } if (updateXMaxs) { - if (boost::math::isnan(xvalues.back())) { + if (std::isnan(xvalues.back())) { xmaxs.push_back(xmax_wksp); } else { xmaxs.push_back(xvalues.back()); diff --git a/Framework/Algorithms/src/Stitch1D.cpp b/Framework/Algorithms/src/Stitch1D.cpp index 26e770d3557030d877461c8a9acb9e27dc7bd454..55226f5a4a7aaf1fd6b270bdf7584235e8aa51c0 100644 --- a/Framework/Algorithms/src/Stitch1D.cpp +++ b/Framework/Algorithms/src/Stitch1D.cpp @@ -30,12 +30,6 @@ MinMaxTuple calculateXIntersection(MatrixWorkspace_sptr lhsWS, } bool isNonzero(double i) { return (0 != i); } - -bool isNan(const double &value) { return boost::math::isnan(value); } - -bool isInf(const double &value) { - return std::abs(value) == std::numeric_limits<double>::infinity(); -} } namespace Mantid { @@ -318,18 +312,18 @@ MatrixWorkspace_sptr Stitch1D::rebin(MatrixWorkspace_sptr &input, for (size_t j = 0; j < sourceY.size(); ++j) { const double &value = sourceY[j]; const double &eValue = sourceE[j]; - if (isNan(value)) { + if (std::isnan(value)) { nanYIndexes.push_back(j); sourceY[j] = 0; - } else if (isInf(value)) { + } else if (std::isinf(value)) { infYIndexes.push_back(j); sourceY[j] = 0; } - if (isNan(eValue)) { + if (std::isnan(eValue)) { nanEIndexes.push_back(j); sourceE[j] = 0; - } else if (isInf(eValue)) { + } else if (std::isinf(eValue)) { infEIndexes.push_back(j); sourceE[j] = 0; } @@ -580,7 +574,7 @@ void Stitch1D::exec() { scaleFactor = ratio->readY(0).front(); errorScaleFactor = ratio->readE(0).front(); if (scaleFactor < 1e-2 || scaleFactor > 1e2 || - boost::math::isnan(scaleFactor)) { + std::isnan(scaleFactor)) { std::stringstream messageBuffer; messageBuffer << "Stitch1D calculated scale factor is: " << scaleFactor << ". Check that in both input workspaces the integrated " diff --git a/Framework/Algorithms/src/TOFSANSResolution.cpp b/Framework/Algorithms/src/TOFSANSResolution.cpp index dc8684db22668cab6c0c0f839837f38e09e5a0ec..92de9e1f33dbbb6475d8452366ce67332f9e720c 100644 --- a/Framework/Algorithms/src/TOFSANSResolution.cpp +++ b/Framework/Algorithms/src/TOFSANSResolution.cpp @@ -12,8 +12,6 @@ #include "MantidKernel/RebinParamsValidator.h" #include "MantidKernel/VectorHelper.h" -#include "boost/math/special_functions/fpclassify.hpp" - namespace Mantid { namespace Algorithms { @@ -203,7 +201,7 @@ void TOFSANSResolution::exec() { // By using only events with a positive weight, we use only the data // distribution and leave out the background events. // Note: we are looping over bins, therefore the xLength-1. - if (iq >= 0 && iq < xLength - 1 && !boost::math::isnan(dq_over_q) && + if (iq >= 0 && iq < xLength - 1 && !std::isnan(dq_over_q) && dq_over_q > 0 && YIn[j] > 0) { _dx[iq] += q * dq_over_q * YIn[j]; _norm[iq] += YIn[j]; diff --git a/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp b/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp index ce733e1af692588e38e75eca5aa3b83797fa9f5a..11fbcab1b4a8074a80d63e970dd771f109bb6a40 100644 --- a/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp +++ b/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp @@ -4,8 +4,6 @@ #include "MantidDataObjects/EventWorkspace.h" #include "MantidGeometry/Instrument.h" -#include <boost/math/special_functions/fpclassify.hpp> - namespace Mantid { using namespace API; using namespace DataObjects; @@ -67,8 +65,7 @@ void WeightedMeanOfWorkspace::exec() { MantidVec e = inputWS->dataE(i); double weight = 0.0; for (std::size_t j = 0; j < y.size(); ++j) { - if (!boost::math::isnan(y[j]) && !boost::math::isinf(y[j]) && - !boost::math::isnan(e[j]) && !boost::math::isinf(e[j])) { + if (std::isfinite(y[j]) && std::isfinite(e[j])) { weight = 1.0 / (e[j] * e[j]); averageValue += (y[j] * weight); weightSum += weight; diff --git a/Framework/Algorithms/test/AverageLogDataTest.h b/Framework/Algorithms/test/AverageLogDataTest.h index 9586a085fdad110c69b9f735a0875e435da29a32..0323e175ef1220af6a8ff1acab91942ed18b461c 100644 --- a/Framework/Algorithms/test/AverageLogDataTest.h +++ b/Framework/Algorithms/test/AverageLogDataTest.h @@ -6,7 +6,6 @@ #include "MantidAlgorithms/AverageLogData.h" #include "MantidKernel/TimeSeriesProperty.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" -#include <boost/math/special_functions/fpclassify.hpp> using Mantid::Algorithms::AverageLogData; @@ -102,8 +101,8 @@ public: // check average const double av = alg.getProperty("Average"), err = alg.getProperty("Error"); - TS_ASSERT(boost::math::isnan(av)); - TS_ASSERT(boost::math::isnan(err)); + TS_ASSERT(std::isnan(av)); + TS_ASSERT(std::isnan(err)); // Remove workspace from the data service.*/ Mantid::API::AnalysisDataService::Instance().remove(inputWS); diff --git a/Framework/Algorithms/test/GetAllEiTest.h b/Framework/Algorithms/test/GetAllEiTest.h index ef27ed4a6b1ab04da889112ae107b4802937053c..2365239cc9f39add70f91a4ec9d0d8e269d013d5 100644 --- a/Framework/Algorithms/test/GetAllEiTest.h +++ b/Framework/Algorithms/test/GetAllEiTest.h @@ -2,7 +2,6 @@ #define GETALLEI_TEST_H_ #include <memory> -#include <boost/math/special_functions/fpclassify.hpp> #include <cxxtest/TestSuite.h> #include "MantidAlgorithms/GetAllEi.h" #include "MantidGeometry/Instrument.h" @@ -443,8 +442,8 @@ public: auto Xsp2 = wws->getSpectrum(1).mutableX(); size_t nSpectra = Xsp2.size(); TS_ASSERT_EQUALS(nSpectra, 101); - TS_ASSERT(boost::math::isinf(Xsp1[nSpectra - 1])); - TS_ASSERT(boost::math::isinf(Xsp2[nSpectra - 1])); + TS_ASSERT(std::isinf(Xsp1[nSpectra - 1])); + TS_ASSERT(std::isinf(Xsp2[nSpectra - 1])); // for(size_t i=0;i<Xsp1.size();i++){ // TS_ASSERT_DELTA(Xsp1[i],Xsp2[i],1.e-6); diff --git a/Framework/Algorithms/test/PDFFourierTransformTest.h b/Framework/Algorithms/test/PDFFourierTransformTest.h index 6d37b7188c713382d50aad2bf9662b7f0e8e1046..3e5de969f913d9794418e2c1f9ff39f7eea2ec5b 100644 --- a/Framework/Algorithms/test/PDFFourierTransformTest.h +++ b/Framework/Algorithms/test/PDFFourierTransformTest.h @@ -1,9 +1,9 @@ #ifndef MANTID_ALGORITHMS_PDFFOURIERTRANSFORMTEST_H_ #define MANTID_ALGORITHMS_PDFFOURIERTRANSFORMTEST_H_ -#include <boost/math/special_functions/fpclassify.hpp> #include <cxxtest/TestSuite.h> #include <numeric> +#include <cmath> #include "MantidKernel/Timer.h" #include "MantidKernel/System.h" #include "MantidKernel/UnitFactory.h" @@ -116,7 +116,7 @@ public: TS_ASSERT_DELTA(R[249], 2.5, 0.0001); // make sure that nan didn' slip in TS_ASSERT(std::find_if(GofR.begin(), GofR.end(), - boost::math::isnan<double>) == GofR.end()); + static_cast<bool (*)(double)>(std::isnan)) == GofR.end()); } void test_filter() { diff --git a/Framework/Algorithms/test/Q1D2Test.h b/Framework/Algorithms/test/Q1D2Test.h index fe2f2bad20cd74d0c0c10f03bccd7c2363c69fe8..dfdadc23a7d50f9efe8f8e3a82d4857c529273b4 100644 --- a/Framework/Algorithms/test/Q1D2Test.h +++ b/Framework/Algorithms/test/Q1D2Test.h @@ -10,7 +10,6 @@ #include "MantidDataHandling/LoadRaw3.h" #include "MantidDataHandling/LoadRKH.h" #include "MantidDataHandling/MaskDetectors.h" -#include <boost/math/special_functions/fpclassify.hpp> #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -93,12 +92,12 @@ public: // empty bins are 0/0 TS_ASSERT_DELTA(result->readY(0).front(), 2226533, 1) TS_ASSERT_DELTA(result->readY(0)[4], 946570.8, 0.1) - TS_ASSERT(boost::math::isnan(result->readY(0)[18])) - TS_ASSERT(boost::math::isnan(result->readY(0).back())) + TS_ASSERT(std::isnan(result->readY(0)[18])) + TS_ASSERT(std::isnan(result->readY(0).back())) TS_ASSERT_DELTA(result->readE(0)[1], 57964.04, 0.01) TS_ASSERT_DELTA(result->readE(0)[5], 166712.6, 0.1) - TS_ASSERT(boost::math::isnan(result->readE(0).back())) + TS_ASSERT(std::isnan(result->readE(0).back())) Mantid::API::AnalysisDataService::Instance().remove(outputWS); } @@ -196,12 +195,12 @@ public: TS_ASSERT_DELTA(result->readY(0).front(), 944237.8, 0.1) TS_ASSERT_DELTA(result->readY(0)[3], 1009296, 1) TS_ASSERT_DELTA(result->readY(0)[12], 620952.6, 0.1) - TS_ASSERT(boost::math::isnan(result->readY(0).back())) + TS_ASSERT(std::isnan(result->readY(0).back())) // empty bins are 0/0 TS_ASSERT_DELTA(result->readE(0)[2], 404981, 10) TS_ASSERT_DELTA(result->readE(0)[10], 489710.39, 100) - TS_ASSERT(boost::math::isnan(result->readE(0)[7])) + TS_ASSERT(std::isnan(result->readE(0)[7])) TSM_ASSERT("Should not have a DX value", !result->hasDx(0)) } @@ -276,11 +275,11 @@ public: TS_ASSERT_DELTA(gravity->readY(0)[3], 1009296.4, 0.8) TS_ASSERT_DELTA(gravity->readY(0)[10], 891346.9, 0.1) - TS_ASSERT(boost::math::isnan(gravity->readY(0)[78])) + TS_ASSERT(std::isnan(gravity->readY(0)[78])) TS_ASSERT_DELTA(gravity->readE(0).front(), 329383, 1) TS_ASSERT_DELTA(gravity->readE(0)[10], 489708, 1) // 489710 - TS_ASSERT(boost::math::isnan(gravity->readE(0)[77])) + TS_ASSERT(std::isnan(gravity->readE(0)[77])) Mantid::API::AnalysisDataService::Instance().remove(outputWS); } @@ -315,13 +314,13 @@ public: TS_ASSERT_EQUALS(result->readX(0).back(), 0.5) TS_ASSERT_DELTA(result->readY(0).front(), 1192471.95, 0.1) - TS_ASSERT(boost::math::isnan(result->readY(0)[3])) + TS_ASSERT(std::isnan(result->readY(0)[3])) TS_ASSERT_DELTA(result->readY(0)[12], 503242.79, 0.1) - TS_ASSERT(boost::math::isnan(result->readY(0).back())) + TS_ASSERT(std::isnan(result->readY(0).back())) TS_ASSERT_DELTA(result->readE(0)[2], 404980, 1) TS_ASSERT_DELTA(result->readE(0)[10], 489708, 100) - TS_ASSERT(boost::math::isnan(result->readE(0)[7])) + TS_ASSERT(std::isnan(result->readE(0)[7])) } // here the cut parameters are set but should only affect detectors with lower @@ -356,8 +355,8 @@ public: for (size_t i = 0; i < nocuts->readY(0).size(); ++i) { TS_ASSERT_EQUALS(nocuts->readX(0)[i], noGrav->readX(0)[i]) - if (!boost::math::isnan(nocuts->readY(0)[i]) && - !boost::math::isnan(nocuts->readE(0)[i])) { + if (!std::isnan(nocuts->readY(0)[i]) && + !std::isnan(nocuts->readE(0)[i])) { TS_ASSERT_EQUALS(nocuts->readY(0)[i], noGrav->readY(0)[i]) TS_ASSERT_EQUALS(nocuts->readE(0)[i], noGrav->readE(0)[i]) diff --git a/Framework/Algorithms/test/Stitch1DTest.h b/Framework/Algorithms/test/Stitch1DTest.h index ea1d73ebc81389b2146f42946d1ae9a07491aeac..d1094836d2e180630f97f3d4433adb12855987ef 100644 --- a/Framework/Algorithms/test/Stitch1DTest.h +++ b/Framework/Algorithms/test/Stitch1DTest.h @@ -11,7 +11,6 @@ #include <algorithm> #include <math.h> #include <boost/tuple/tuple.hpp> -#include <boost/math/special_functions.hpp> #include <boost/make_shared.hpp> using namespace Mantid::API; @@ -628,7 +627,7 @@ public: double scaleFactor = ret.get<1>(); TSM_ASSERT("ScaleFactor should not be NAN", - !boost::math::isnan(scaleFactor)); + !std::isnan(scaleFactor)); } void test_patch_inf_y_value_for_scaling() { @@ -658,7 +657,7 @@ public: double scaleFactor = ret.get<1>(); TSM_ASSERT("ScaleFactor should not be Infinity", - !boost::math::isinf(scaleFactor)); + !std::isinf(scaleFactor)); } void test_reset_nans() { @@ -674,7 +673,7 @@ public: auto e = MantidVec(nspectrum * (x.size() - 1), 1); double nan = std::numeric_limits<double>::quiet_NaN(); - y[0] = nan; // Add a Infinity + y[0] = nan; // Add a nan MatrixWorkspace_sptr lhsWS = createWorkspace(x, y, e, static_cast<int>(nspectrum)); @@ -689,10 +688,10 @@ public: double scaleFactor = ret.get<1>(); TSM_ASSERT("ScaleFactor should not be Infinity", - !boost::math::isinf(scaleFactor)); + !std::isinf(scaleFactor)); auto outY = outWs->readY(0); - TSM_ASSERT("Nans should be put back", boost::math::isnan(outY[0])); + TSM_ASSERT("Nans should be put back", std::isnan(outY[0])); } }; diff --git a/Framework/Algorithms/test/TransposeTest.h b/Framework/Algorithms/test/TransposeTest.h index 966c40d44c6a66ba9d5982dc02f26af9629494fe..664f820e6e85cbfa71ad28fa7070b5779d1b1c86 100644 --- a/Framework/Algorithms/test/TransposeTest.h +++ b/Framework/Algorithms/test/TransposeTest.h @@ -2,7 +2,6 @@ #define TRANSPOSETEST_H_ #include <cxxtest/TestSuite.h> -#include <boost/math/special_functions/fpclassify.hpp> #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -121,8 +120,8 @@ public: TS_ASSERT_EQUALS(outputWS->dataF(0).size(), 4); TS_ASSERT_EQUALS(outputWS->dataF(3)[1], inputWS->dataF(1)[3]); // Check a nan - bool inNan = boost::math::isnan(inputWS->dataY(0)[5]); - bool outNan = boost::math::isnan(outputWS->dataY(5)[0]); + bool inNan = std::isnan(inputWS->dataY(0)[5]); + bool outNan = std::isnan(outputWS->dataY(5)[0]); TS_ASSERT_EQUALS(outNan, inNan); delete transpose; diff --git a/Framework/CurveFitting/src/AugmentedLagrangianOptimizer.cpp b/Framework/CurveFitting/src/AugmentedLagrangianOptimizer.cpp index b4c421b85f2f1510d7668f8045d9cb883d3623a4..93e1d0d7df984b38faee6bd3de615743e74b3a39 100644 --- a/Framework/CurveFitting/src/AugmentedLagrangianOptimizer.cpp +++ b/Framework/CurveFitting/src/AugmentedLagrangianOptimizer.cpp @@ -2,7 +2,7 @@ #include "MantidKernel/Exception.h" #include <boost/make_shared.hpp> -#include <boost/math/special_functions/fpclassify.hpp> +#include <cmath> #include <gsl/gsl_multimin.h> @@ -109,7 +109,7 @@ int relstopX(const std::vector<double> &xvOld, const std::vector<double> &xvNew, int relstopX(const std::vector<double> &xvOld, const gsl_vector *xvNew, double reltol, double abstol) { for (size_t i = 0; i < xvOld.size(); ++i) { - if (boost::math::isnan(gsl_vector_get(xvNew, i))) + if (std::isnan(gsl_vector_get(xvNew, i))) return 1; if (!relstop(xvOld[i], gsl_vector_get(xvNew, i), reltol, abstol)) return 0; diff --git a/Framework/CurveFitting/src/FitMW.cpp b/Framework/CurveFitting/src/FitMW.cpp index cdd87d5d4412876bfa0aaccb0621282bc499f3e2..2fc16c200b3fd31ef8a89f37c58845a169e758a4 100644 --- a/Framework/CurveFitting/src/FitMW.cpp +++ b/Framework/CurveFitting/src/FitMW.cpp @@ -20,7 +20,7 @@ #include "MantidKernel/EmptyValues.h" #include "MantidKernel/Matrix.h" -#include <boost/math/special_functions/fpclassify.hpp> +#include <cmath> #include <algorithm> namespace Mantid { @@ -183,12 +183,12 @@ void FitMW::createDomain(boost::shared_ptr<API::FunctionDomain> &domain, error /= binWidth; } - if (!boost::math::isfinite(y)) // nan or inf data + if (!std::isfinite(y)) // nan or inf data { if (!m_ignoreInvalidData) throw std::runtime_error("Infinte number or NaN found in input data."); y = 0.0; // leaving inf or nan would break the fit - } else if (!boost::math::isfinite(error)) // nan or inf error + } else if (!std::isfinite(error)) // nan or inf error { if (!m_ignoreInvalidData) throw std::runtime_error("Infinte number or NaN found in input data."); diff --git a/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp b/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp index a3e24888f6f82774bb3c23efe2fde51a63264bc2..d6eb20dcda75a6f23a97e3a8a859925b14dda33d 100644 --- a/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp +++ b/Framework/CurveFitting/src/FuncMinimizers/FABADAMinimizer.cpp @@ -26,7 +26,7 @@ #include <boost/random/variate_generator.hpp> #include <boost/random/mersenne_twister.hpp> #include <boost/version.hpp> -#include <boost/math/special_functions/fpclassify.hpp> +#include <cmath> namespace Mantid { namespace CurveFitting { @@ -338,7 +338,7 @@ bool FABADAMinimizer::iterate(size_t) { // the user should be aware of that. // Set the new value in order to calculate the new Chi square value - if (boost::math::isnan(new_value)) { + if (std::isnan(new_value)) { throw std::runtime_error("Parameter value is NaN."); } new_parameters.set(i, new_value); @@ -773,7 +773,7 @@ void FABADAMinimizer::TieApplication(const size_t &ParameterIndex, API::ParameterTie *tie = m_FitFunction->getTie(j); if (tie) { new_value = tie->eval(); - if (boost::math::isnan(new_value)) { // maybe not needed + if (std::isnan(new_value)) { // maybe not needed throw std::runtime_error("Parameter value is NaN."); } new_parameters.set(j, new_value); @@ -785,7 +785,7 @@ void FABADAMinimizer::TieApplication(const size_t &ParameterIndex, API::ParameterTie *tie = m_FitFunction->getTie(i); if (tie) { new_value = tie->eval(); - if (boost::math::isnan(new_value)) { // maybe not needed + if (std::isnan(new_value)) { // maybe not needed throw std::runtime_error("Parameter value is NaN."); } new_parameters.set(i, new_value); diff --git a/Framework/CurveFitting/src/Functions/BackToBackExponential.cpp b/Framework/CurveFitting/src/Functions/BackToBackExponential.cpp index 64a5d5aae6a6237bd4a293c78107fc7e4e7c5363..ab588d2eb0e6eb2b7a5243893f26d120ca9e6085 100644 --- a/Framework/CurveFitting/src/Functions/BackToBackExponential.cpp +++ b/Framework/CurveFitting/src/Functions/BackToBackExponential.cpp @@ -6,7 +6,6 @@ #include <gsl/gsl_sf_erf.h> #include <gsl/gsl_multifit_nlin.h> -#include <boost/math/special_functions/fpclassify.hpp> #include <cmath> #include <limits> @@ -64,7 +63,7 @@ void BackToBackExponential::setHeight(const double h) { if (area <= 0.0) { area = 1e-6; } - if (boost::math::isnan(area) || boost::math::isinf(area)) { + if (!std::isfinite(area)) { area = std::numeric_limits<double>::max() / 2; } setParameter(0, area); diff --git a/Framework/CurveFitting/src/Functions/Gaussian.cpp b/Framework/CurveFitting/src/Functions/Gaussian.cpp index 9a90822fdb38bb15b13c576ec644c93218d31cc2..e4e7060c07643b66287d07b7195a617110a51e21 100644 --- a/Framework/CurveFitting/src/Functions/Gaussian.cpp +++ b/Framework/CurveFitting/src/Functions/Gaussian.cpp @@ -3,7 +3,6 @@ //---------------------------------------------------------------------- #include "MantidCurveFitting/Functions/Gaussian.h" #include "MantidAPI/FunctionFactory.h" -#include <boost/math/special_functions/fpclassify.hpp> #include <cmath> #include <numeric> @@ -83,7 +82,7 @@ double Gaussian::intensity() const { auto sigma = getParameter("Sigma"); if (sigma == 0.0) { auto height = getParameter("Height"); - if (boost::math::isfinite(height)) { + if (std::isfinite(height)) { m_intensityCache = height; } } else { diff --git a/Framework/CurveFitting/src/HistogramDomainCreator.cpp b/Framework/CurveFitting/src/HistogramDomainCreator.cpp index 59f68c4fae485b7db188cc15d25d1ab69c3a2f36..4eee8eb2ec5e1a34f68179acae248a76e2fcd4d0 100644 --- a/Framework/CurveFitting/src/HistogramDomainCreator.cpp +++ b/Framework/CurveFitting/src/HistogramDomainCreator.cpp @@ -84,12 +84,12 @@ void HistogramDomainCreator::createDomain( error *= dx; } - if (!boost::math::isfinite(y)) // nan or inf data + if (!std::isfinite(y)) // nan or inf data { if (!m_ignoreInvalidData) throw std::runtime_error("Infinte number or NaN found in input data."); y = 0.0; // leaving inf or nan would break the fit - } else if (!boost::math::isfinite(error)) // nan or inf error + } else if (!std::isfinite(error)) // nan or inf error { if (!m_ignoreInvalidData) throw std::runtime_error("Infinte number or NaN found in input data."); diff --git a/Framework/CurveFitting/src/IMWDomainCreator.cpp b/Framework/CurveFitting/src/IMWDomainCreator.cpp index e7004fa4f82f547666bec8dd11d09e84b0c5c078..9a5ee6bfe8968de3a5b71e30e84ee30d3a34e152 100644 --- a/Framework/CurveFitting/src/IMWDomainCreator.cpp +++ b/Framework/CurveFitting/src/IMWDomainCreator.cpp @@ -20,7 +20,6 @@ #include "MantidKernel/EmptyValues.h" #include "MantidKernel/Matrix.h" -#include <boost/math/special_functions/fpclassify.hpp> #include <algorithm> namespace Mantid { diff --git a/Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h b/Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h index d1abcf80c08a0b490ae10f017d9195c6a820d6ab..718c447c1ee2dfcc556b95d53dcd4edf813dc558 100644 --- a/Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h +++ b/Framework/CurveFitting/test/Algorithms/CalculateChiSquaredTest.h @@ -14,8 +14,7 @@ #include "MantidAPI/WorkspaceFactory.h" #include "MantidKernel/EmptyValues.h" -#include <boost/math/special_functions/fpclassify.hpp> - +#include <cmath> #include <algorithm> #include <limits> @@ -310,8 +309,7 @@ private: bool isGoodValue(double y, double e) { return !ignoreInvalidData || - (!boost::math::isnan(y) && !boost::math::isinf(y) && - !boost::math::isnan(e) && !boost::math::isinf(e) && e > 0); + (std::isfinite(y) && std::isfinite(e) && e > 0); } public: diff --git a/Framework/DataObjects/src/EventList.cpp b/Framework/DataObjects/src/EventList.cpp index 7f86e40871bd3a063dbf26b311fc68bff8ed8e2e..c72612926d7b3c127f8e919829f2838726dc552f 100644 --- a/Framework/DataObjects/src/EventList.cpp +++ b/Framework/DataObjects/src/EventList.cpp @@ -198,10 +198,6 @@ void EventList::createFromHistogram(const ISpectrum *inSpec, bool GenerateZeros, // Fresh start this->clear(true); - // Cached values for later checks - double inf = std::numeric_limits<double>::infinity(); - double ninf = -inf; - // Get the input histogram const MantidVec &X = inSpec->readX(); const MantidVec &Y = inSpec->readY(); @@ -219,12 +215,10 @@ void EventList::createFromHistogram(const ISpectrum *inSpec, bool GenerateZeros, for (size_t i = 0; i < X.size() - 1; i++) { double weight = Y[i]; - if ((weight != 0.0 || GenerateZeros) && (weight == weight) /*NAN check*/ - && (weight != inf) && (weight != ninf)) { + if ((weight != 0.0 || GenerateZeros) && std::isfinite(weight)) { double error = E[i]; // Also check that the error is not a bad number - if ((error == error) /*NAN check*/ - && (error != inf) && (error != ninf)) { + if (std::isfinite(error)) { if (GenerateMultipleEvents) { // --------- Multiple events per bin ---------- double errorSquared = error * error; diff --git a/Framework/Kernel/test/UnitTest.h b/Framework/Kernel/test/UnitTest.h index 6fb918270c2ed303e63426600f299ff998fe59af..bb5070d8f739f44934b830575059f9864825de48 100644 --- a/Framework/Kernel/test/UnitTest.h +++ b/Framework/Kernel/test/UnitTest.h @@ -63,7 +63,7 @@ std::string convert_units_check_range(const Unit &aUnit, const size_t nSteps(100); double step = (range.second - range.first) / nSteps; - if (step == std::numeric_limits<double>::infinity()) { + if (std::isinf(step)) { step = (DBL_MAX / nSteps) * 2; } diff --git a/Framework/MDAlgorithms/src/FindPeaksMD.cpp b/Framework/MDAlgorithms/src/FindPeaksMD.cpp index afb3da2d5e23020f29161efb224a0300ecb38de9..974554a5cefe330993d4d92d283dd81687e10f67 100644 --- a/Framework/MDAlgorithms/src/FindPeaksMD.cpp +++ b/Framework/MDAlgorithms/src/FindPeaksMD.cpp @@ -465,9 +465,7 @@ void FindPeaksMD::findPeaksHisto( double thresholdDensity = (totalSignal * ws->getInverseVolume() / double(numBoxes)) * DensityThresholdFactor * m_densityScaleFactor; - if ((thresholdDensity != thresholdDensity) || - (thresholdDensity == std::numeric_limits<double>::infinity()) || - (thresholdDensity == -std::numeric_limits<double>::infinity())) { + if (!std::isfinite(thresholdDensity)) { g_log.warning() << "Infinite or NaN overall density found. Your input data " "may be invalid. Using a 0 threshold instead.\n"; diff --git a/MantidPlot/src/Mantid/MantidMatrix.cpp b/MantidPlot/src/Mantid/MantidMatrix.cpp index 88a7dc65cbe9d71ed438d13a7867855290451ff4..0899f9cc2c45b8a10df82c2ce3baf6afdebef48f 100644 --- a/MantidPlot/src/Mantid/MantidMatrix.cpp +++ b/MantidPlot/src/Mantid/MantidMatrix.cpp @@ -1146,7 +1146,7 @@ void findYRange(MatrixWorkspace_const_sptr ws, double &miny, double &maxy) { for (size_t i = 0; i < Y.size(); i++) { double aux = Y[i]; - if (fabs(aux) == std::numeric_limits<double>::infinity() || aux != aux) + if (!std::isfinite(aux)) continue; if (aux < local_min) local_min = aux; diff --git a/MantidPlot/src/Spectrogram.cpp b/MantidPlot/src/Spectrogram.cpp index 7ede4fac0a89cc90abaa31d0988c30f361206ed1..8d092ad7a419c2d06c103bcf90947bddc69ca0a5 100644 --- a/MantidPlot/src/Spectrogram.cpp +++ b/MantidPlot/src/Spectrogram.cpp @@ -969,8 +969,7 @@ QImage Spectrogram::renderImage(const QwtScaleMap &xMap, double xmin, xmax; mantidFun->getRowXRange(row, xmin, xmax); int jmin = -1; - if (xmin != std::numeric_limits<double>::infinity() && xmin == xmin && - xmax != std::numeric_limits<double>::infinity() && xmax == xmax) { + if (std::isfinite(xmin) && std::isfinite(xmax)) { jmin = xMap.transform(xmin) - rect.left(); } else { continue; diff --git a/MantidQt/API/src/SignalRange.cpp b/MantidQt/API/src/SignalRange.cpp index d98440bc8dec65a809ca49eeaad68512898ce547..ae2ef0cb663938f86c5c59a0af35dc0874b9aa35 100644 --- a/MantidQt/API/src/SignalRange.cpp +++ b/MantidQt/API/src/SignalRange.cpp @@ -131,7 +131,7 @@ QwtDoubleInterval SignalRange::getRange(Mantid::API::IMDIterator *it) { do { double signal = it->getNormalizedSignal(); // Skip any 'infs' as it screws up the color scale - if (signal != inf) { + if (!std::isinf(signal)) { if (signal < minSignal) minSignal = signal; if (signal > maxSignal) diff --git a/MantidQt/MantidWidgets/src/InstrumentView/InstrumentActor.cpp b/MantidQt/MantidWidgets/src/InstrumentView/InstrumentActor.cpp index fa99f1cb461c1bb19b74ce5da2d9453e1d0fab83..5341ec549a17d401ffb4a23217cede43ac3b2608 100644 --- a/MantidQt/MantidWidgets/src/InstrumentView/InstrumentActor.cpp +++ b/MantidQt/MantidWidgets/src/InstrumentView/InstrumentActor.cpp @@ -134,8 +134,7 @@ void InstrumentActor::setUpWorkspace( for (size_t i = 0; i < nHist; ++i) { const Mantid::MantidVec &values = sharedWorkspace->readX(i); double xtest = values.front(); - if (xtest != std::numeric_limits<double>::infinity()) { - + if (!std::isinf(xtest)) { if (xtest < m_WkspBinMinValue) { m_WkspBinMinValue = xtest; } else if (xtest > m_WkspBinMaxValue) { @@ -145,7 +144,7 @@ void InstrumentActor::setUpWorkspace( } xtest = values.back(); - if (xtest != std::numeric_limits<double>::infinity()) { + if (!std::isinf(xtest)) { if (xtest < m_WkspBinMinValue) { m_WkspBinMinValue = xtest; } else if (xtest > m_WkspBinMaxValue) { diff --git a/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp b/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp index 35246093906ef0c1b275cd5137054a858afa2971..355776936ad0a87dc9421370b70f47e18d44a931 100644 --- a/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp +++ b/MantidQt/MantidWidgets/src/InstrumentView/RotationSurface.cpp @@ -160,17 +160,13 @@ void RotationSurface::init() { double dV = fabs(m_v_max - m_v_min); double du = dU * 0.05; double dv = dV * 0.05; - if (m_width_max > du && - m_width_max != - std::numeric_limits<double>::infinity()) { + if (m_width_max > du && std::isfinite(m_width_max)) { if (du > 0 && !(dU >= m_width_max)) { m_width_max = dU; } du = m_width_max; } - if (m_height_max > dv && - m_height_max != - std::numeric_limits<double>::infinity()) { + if (m_height_max > dv && std::isfinite( m_height_max)) { if (dv > 0 && !(dV >= m_height_max)) { m_height_max = dV; } diff --git a/Vates/VatesAPI/src/MetaDataExtractorUtils.cpp b/Vates/VatesAPI/src/MetaDataExtractorUtils.cpp index c82485a2a3d827c305ecbc4e837dafd27e745538..5d520a305637464ca464502c7f0ed4e533f00b64 100644 --- a/Vates/VatesAPI/src/MetaDataExtractorUtils.cpp +++ b/Vates/VatesAPI/src/MetaDataExtractorUtils.cpp @@ -96,17 +96,16 @@ MetaDataExtractorUtils::getMinAndMax(Mantid::API::IMDWorkspace_sptr workspace) { double minSignal = DBL_MAX; double maxSignal = -DBL_MAX; - auto inf = std::numeric_limits<double>::infinity(); for (size_t i = 0; i < iterators.size(); i++) { delete iterators[i]; double signal; signal = intervals[i].minValue(); - if (signal != inf && signal < minSignal) + if (!std::isinf(signal) && signal < minSignal) minSignal = signal; signal = intervals[i].maxValue(); - if (signal != inf && signal > maxSignal) + if (!std::isinf(signal) && signal > maxSignal) maxSignal = signal; } @@ -157,7 +156,7 @@ MetaDataExtractorUtils::getRange(Mantid::API::IMDIterator *it) { double signal = it->getNormalizedSignal(); // Skip any 'infs' as it screws up the color scale - if (signal != inf) { + if (!std::isinf(signal)) { if (signal == 0.0) minSignalZeroCheck = signal; if (signal < minSignal && signal > 0.0) diff --git a/Vates/VatesAPI/src/vtkMDHistoHex4DFactory.cpp b/Vates/VatesAPI/src/vtkMDHistoHex4DFactory.cpp index 49b10fd7cc5ec202d0121917bdb0377ab39ba1f5..5851197f8bad4117365f35c50e1508c377f93eb8 100644 --- a/Vates/VatesAPI/src/vtkMDHistoHex4DFactory.cpp +++ b/Vates/VatesAPI/src/vtkMDHistoHex4DFactory.cpp @@ -5,7 +5,6 @@ #include "MantidVatesAPI/TimeToTimeStep.h" #include "MantidVatesAPI/vtkMDHistoHex4DFactory.h" #include "MantidVatesAPI/ProgressAction.h" -#include <boost/math/special_functions/fpclassify.hpp> using Mantid::API::IMDWorkspace; using Mantid::Kernel::CPUTimer; diff --git a/Vates/VatesAPI/src/vtkPeakMarkerFactory.cpp b/Vates/VatesAPI/src/vtkPeakMarkerFactory.cpp index 3003756dacf10cfe75be1f718e01be09fb07c810..3cb9226b654d3aad2a545248596e515d6a94f0f0 100644 --- a/Vates/VatesAPI/src/vtkPeakMarkerFactory.cpp +++ b/Vates/VatesAPI/src/vtkPeakMarkerFactory.cpp @@ -1,6 +1,5 @@ #include "MantidVatesAPI/vtkPeakMarkerFactory.h" #include "MantidVatesAPI/ProgressAction.h" -#include <boost/math/special_functions/fpclassify.hpp> #include "MantidAPI/Workspace.h" #include "MantidAPI/IPeaksWorkspace.h" #include "MantidGeometry/Crystal/PeakShape.h" diff --git a/Vates/VatesAPI/src/vtkSplatterPlotFactory.cpp b/Vates/VatesAPI/src/vtkSplatterPlotFactory.cpp index 8c0e86e681f1b0e7aa2aec8baddf2cf90655a468..8a92822e55fdbafc5cf17b28dc38aa5c2902a19d 100644 --- a/Vates/VatesAPI/src/vtkSplatterPlotFactory.cpp +++ b/Vates/VatesAPI/src/vtkSplatterPlotFactory.cpp @@ -30,7 +30,6 @@ #include <vtkVertex.h> #include <algorithm> -#include <boost/math/special_functions/fpclassify.hpp> #include <iterator> #include <qwt_double_interval.h>