diff --git a/VirtualRobot/math/statistics/measures.cpp b/VirtualRobot/math/statistics/measures.cpp index a69494c82352062fad785e39f38866e27d0ab921..2597ad0e6b0b0e15915ce7b3b23640039268c34a 100644 --- a/VirtualRobot/math/statistics/measures.cpp +++ b/VirtualRobot/math/statistics/measures.cpp @@ -73,7 +73,7 @@ float quantile(const std::vector<float>& _values, float p, bool isSorted) checkNotEmpty(_values); const std::vector<float>& values = isSorted ? _values : sorted(_values); - float location = p * values.size(); + float location = p < 1 ? p * values.size() : values.size() - 1; std::size_t floor = static_cast<std::size_t>(std::floor(location)); std::size_t ceil = static_cast<std::size_t>(std::ceil(location));