34 : _min(nullptr), _max(nullptr), _median(nullptr), _mean(measurements.begin()->value().is_floating_point), _stddev(0.0)
43 _median = &measurements[indices[measurements.size() / 2]];
44 _min = &measurements[indices[0]];
45 _max = &measurements[indices[measurements.size() - 1]];
50 _mean = sum_values / measurements.size();
52 std::transform(measurements.begin(), measurements.end(), diff.begin(), [&](
const Measurement & x)
54 return x.value() - _mean;
57 auto variance = sq_sum / measurements.size();
static double relative_standard_deviation(const Value &variance, const Value &mean)
Get the relative standard deviation to a given distribution as a percentage.
Generic measurement that stores values as either double or long long int.
SimpleTensor< T2 > accumulate(const SimpleTensor< T1 > &src, DataType output_data_type)
Copyright (c) 2017-2023 Arm Limited.
InstrumentsStats(const std::vector< Measurement > &measurements)
Compute statistics for the passed set of measurements.
bool is_floating_point
Is the stored value floating point or integer ?
const Value & value() const
Accessor for the stored value.
std::vector< size_t > sort_indices(const std::vector< T > &v)
Perform an index sort of a given vector.