diff --git a/src/util/movinginterquartilemean.cpp b/src/util/movinginterquartilemean.cpp index 582fba5a488..ee1142e9f6c 100644 --- a/src/util/movinginterquartilemean.cpp +++ b/src/util/movinginterquartilemean.cpp @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -59,7 +60,7 @@ double MovingInterquartileMean::mean() { if (listSize <= 4) { m_dMean = simpleMean(m_list.cbegin(), m_list.cend()); } else if (listSize % 4 == 0) { - int quartileSize = listSize / 4; + std::size_t quartileSize = listSize / 4; auto start = m_list.cbegin() + quartileSize; auto end = m_list.cend() - quartileSize; m_dMean = simpleMean(start, end); @@ -67,13 +68,13 @@ double MovingInterquartileMean::mean() { // http://en.wikipedia.org/wiki/Interquartile_mean#Dataset_not_divisible_by_four double quartileSize = listSize / 4.0; double interQuartileRange = 2 * quartileSize; - int nFullValues = listSize - 2 * static_cast(quartileSize) - 2; + std::size_t nFullValues = listSize - 2 * static_cast(quartileSize) - 2; double quartileWeight = (interQuartileRange - nFullValues) / 2; auto it = m_list.begin(); - std::advance(it, static_cast(quartileSize)); + std::advance(it, static_cast(quartileSize)); double d_sum = *it * quartileWeight; ++it; - for (int k = 0; k < nFullValues; ++k, ++it) { + for (std::size_t k = 0; k < nFullValues; ++k, ++it) { d_sum += *it; } d_sum += *it * quartileWeight;