26inline long minValue(
const std::vector<long> &values) {
return *std::min_element(values.cbegin(), values.cend()); }
33inline long meanValue(
const std::vector<long> &values) {
34 return std::accumulate(values.cbegin(), values.cend(), 0l) /
static_cast<long>(values.size());
44 if (values.empty())
return 0;
46 std::sort(values.begin(), values.end());
48 return values[(values.size() - 1) / 2];
57inline long optimumValue(
const std::vector<long> &values, SelectorStrategyOption strategy) {
63 case SelectorStrategyOption::fastestAbs: {
66 case SelectorStrategyOption::fastestMean: {
69 case SelectorStrategyOption::fastestMedian: {
static void exception(const Exception e)
Handle an exception derived by std::exception.
Definition: ExceptionHandler.h:63
Collection of functions for selecting the optimum value out of a vector of values according to a give...
Definition: OptimumSelector.h:19
T medianValue(std::vector< T > values)
Median value.
Definition: OptimumSelector.h:43
long minValue(const std::vector< long > &values)
Minimal value.
Definition: OptimumSelector.h:26
long optimumValue(const std::vector< long > &values, SelectorStrategyOption strategy)
Optimal value according to passed strategy.
Definition: OptimumSelector.h:57
long meanValue(const std::vector< long > &values)
Arithmetic mean.
Definition: OptimumSelector.h:33