diff --git a/CEP/Calibration/BBSKernel/include/BBSKernel/EstimateUtil.h b/CEP/Calibration/BBSKernel/include/BBSKernel/EstimateUtil.h index 3b7860f813167b9dd7744046618cdad418783bf2..f1b1e0bf33a0d28266c35ecc3eae2117125e139b 100644 --- a/CEP/Calibration/BBSKernel/include/BBSKernel/EstimateUtil.h +++ b/CEP/Calibration/BBSKernel/include/BBSKernel/EstimateUtil.h @@ -35,6 +35,8 @@ #include <Common/lofar_vector.h> #include <Common/Timer.h> +#include <cmath> + #include <scimath/Fitting/LSQFit.h> //# For the definition of SolverOptions... @@ -467,7 +469,7 @@ T storeCoeff(const Location &cell, const ParmGroup &solvables, T first) template <typename T> inline bool isfinite(T x) { - return !isnan(x) && !isinf(x); + return !std::isnan(x) && !std::isinf(x); } // @} diff --git a/CEP/DP3/AOFlagger/src/msio/image2d.cpp b/CEP/DP3/AOFlagger/src/msio/image2d.cpp index 45078dafb74a783c4495603727376fee77b84b37..b7f8c8ca29638b69b8a79fae05a59a9b3f5bb622 100644 --- a/CEP/DP3/AOFlagger/src/msio/image2d.cpp +++ b/CEP/DP3/AOFlagger/src/msio/image2d.cpp @@ -22,6 +22,7 @@ #include <AOFlagger/msio/fitsfile.h> #include <algorithm> +#include <cmath> #include <limits> #include <iostream> @@ -182,7 +183,7 @@ num_t Image2D::GetMaximumFinite() const { for(size_t y=0;y<_height;++y) { for(size_t x=0;x<_width;++x) { - if(isfinite(_dataPtr[y][x]) && _dataPtr[y][x] > max) { + if (std::isfinite(_dataPtr[y][x]) && _dataPtr[y][x] > max) { max = _dataPtr[y][x]; } } @@ -195,7 +196,7 @@ num_t Image2D::GetMinimumFinite() const { for(size_t y=0;y<_height;++y) { for(size_t x=0;x<_width;++x) { - if(isfinite(_dataPtr[y][x]) && _dataPtr[y][x] < min) { + if(std::isfinite(_dataPtr[y][x]) && _dataPtr[y][x] < min) { min = _dataPtr[y][x]; } } diff --git a/CEP/DP3/AOFlagger/src/strategy/algorithms/highpassfilter.cpp b/CEP/DP3/AOFlagger/src/strategy/algorithms/highpassfilter.cpp index 301d8a7694535b785c914c460ed9c85fb80baad7..02a09ac93676dcc054481499dfdbce5bd136c29d 100644 --- a/CEP/DP3/AOFlagger/src/strategy/algorithms/highpassfilter.cpp +++ b/CEP/DP3/AOFlagger/src/strategy/algorithms/highpassfilter.cpp @@ -3,6 +3,7 @@ #include <AOFlagger/strategy/algorithms/highpassfilter.h> #include <AOFlagger/util/rng.h> +#include <cmath> HighPassFilter::~HighPassFilter() { @@ -162,7 +163,7 @@ void HighPassFilter::setFlaggedValuesToZeroAndMakeWeights(const Image2DCPtr &inp { for(size_t x=0;x<width;++x) { - if(inputMask->Value(x, y) || !isfinite(inputImage->Value(x, y))) + if(inputMask->Value(x, y) || !std::isfinite(inputImage->Value(x, y))) { outputImage->SetValue(x, y, 0.0); weightsOutput->SetValue(x, y, 0.0); @@ -193,8 +194,8 @@ void HighPassFilter::setFlaggedValuesToZeroAndMakeWeightsSSE(const Image2DCPtr & // Assign each integer to one bool in the mask // Convert false to 0xFFFFFFFF and true to 0 __m128 conditionMask = _mm_castsi128_ps( - _mm_cmpeq_epi32(_mm_set_epi32(rowPtr[3] || !isfinite(inputPtr[3]), rowPtr[2] || !isfinite(inputPtr[2]), - rowPtr[1] || !isfinite(inputPtr[1]), rowPtr[0] || !isfinite(inputPtr[0])), + _mm_cmpeq_epi32(_mm_set_epi32(rowPtr[3] || !std::isfinite(inputPtr[3]), rowPtr[2] || !std::isfinite(inputPtr[2]), + rowPtr[1] || !std::isfinite(inputPtr[1]), rowPtr[0] || !std::isfinite(inputPtr[0])), zero4i)); _mm_store_ps(weightsPtr, _mm_or_ps( diff --git a/CEP/PyBDSM/src/c++/MGFunction1.cc b/CEP/PyBDSM/src/c++/MGFunction1.cc index bdfab91b1e844cf2c45ecaca72c821315034698a..b37c5a41018aa5e0be1fca92111672446f61d781 100644 --- a/CEP/PyBDSM/src/c++/MGFunction1.cc +++ b/CEP/PyBDSM/src/c++/MGFunction1.cc @@ -106,7 +106,7 @@ void MGFunction::py_remove_gaussian(int idx) // // Get gaussian parameters by index // -tuple MGFunction::py_get_gaussian(int idx) +boost::python::tuple MGFunction::py_get_gaussian(int idx) { if (idx < 0) idx += m_gaul.size(); @@ -116,7 +116,7 @@ tuple MGFunction::py_get_gaussian(int idx) vector<double> &p = m_parameters[idx]; - return make_tuple(p[0], p[1], p[2], p[3], p[4], p[5]); + return boost::python::make_tuple(p[0], p[1], p[2], p[3], p[4], p[5]); } // @@ -171,7 +171,7 @@ list MGFunction::py_get_errors() for (unsigned i = 0; i < m_gaul.size(); ++i) { vector<double> &e = m_errors[i]; - res.append(make_tuple(e[0], e[1], e[2], e[3], e[4], e[5])); + res.append(boost::python::make_tuple(e[0], e[1], e[2], e[3], e[4], e[5])); } return res; @@ -180,7 +180,7 @@ list MGFunction::py_get_errors() // // Find highest peak in the data-MGFunction residual // -tuple MGFunction::py_find_peak() +boost::python::tuple MGFunction::py_find_peak() { vector<double> buf(data_size()); fcn_diff(&buf.front()); @@ -197,7 +197,7 @@ tuple MGFunction::py_find_peak() int x1 = mm_data[pidx].x1; int x2 = mm_data[pidx].x2; - return make_tuple(peak, make_tuple(x1, x2)); + return boost::python::make_tuple(peak, make_tuple(x1, x2)); } diff --git a/CEP/PyBDSM/src/c++/MGFunction2.cc b/CEP/PyBDSM/src/c++/MGFunction2.cc index aff1746c20199765f3a7810fa875a665a764dbc0..4417d0a0bb56e96a220090e9216a155e19fe57d6 100644 --- a/CEP/PyBDSM/src/c++/MGFunction2.cc +++ b/CEP/PyBDSM/src/c++/MGFunction2.cc @@ -35,13 +35,13 @@ and parameters under exponents (NL_ij) are non-linear. #include "boost_python.h" #include "MGFunction.h" -#if defined(__GLIBCXX__) +#if defined(__GLIBCXX__) and __cplusplus <= 199711L #include <ext/algorithm> #endif #include <num_util/num_util.h> #include <cfloat> -#if not(defined(_LIBCPP_VERSION)) +#if not(defined(_LIBCPP_VERSION)) and __cplusplus <= 199711L using namespace __gnu_cxx; #endif using namespace std; diff --git a/CEP/PyBDSM/src/c++/stat.cc b/CEP/PyBDSM/src/c++/stat.cc index 15ef128032e44b3e737c05b51240687471509ee4..1220a250ed9a4ec02696ec3afc9c8d27c36c2f21 100644 --- a/CEP/PyBDSM/src/c++/stat.cc +++ b/CEP/PyBDSM/src/c++/stat.cc @@ -229,7 +229,7 @@ static object _bstat(numeric::array arr, object mask, double kappa) /* py_assert(res.second == dev.back(), PyExc_RuntimeError, "clipped rRMS calculation does not converge"); */ - return make_tuple(mean[1], dev[1], mean.back(), dev.back(), cnt); + return boost::python::make_tuple(mean[1], dev[1], mean.back(), dev.back(), cnt); } object bstat(numeric::array arr, object mask, double kappa) @@ -264,5 +264,5 @@ object bstat(numeric::array arr, object mask, double kappa) fail: py_assert(false, PyExc_RuntimeError, "bstat dispatch failed: not implemented for this datatype/layout"); - return tuple(); // this is fake return-statement to silence the compiler + return boost::python::tuple(); // this is fake return-statement to silence the compiler }