45 lines · c
1// Copyright 2016 Ismael Jimenez Martinez. All rights reserved.2// Copyright 2017 Roman Lebedev. All rights reserved.3//4// Licensed under the Apache License, Version 2.0 (the "License");5// you may not use this file except in compliance with the License.6// You may obtain a copy of the License at7//8// http://www.apache.org/licenses/LICENSE-2.09//10// Unless required by applicable law or agreed to in writing, software11// distributed under the License is distributed on an "AS IS" BASIS,12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13// See the License for the specific language governing permissions and14// limitations under the License.15 16#ifndef STATISTICS_H_17#define STATISTICS_H_18 19#include <vector>20 21#include "benchmark/benchmark.h"22 23namespace benchmark {24 25// Return a vector containing the mean, median and standard deviation26// information (and any user-specified info) for the specified list of reports.27// If 'reports' contains less than two non-errored runs an empty vector is28// returned29BENCHMARK_EXPORT30std::vector<BenchmarkReporter::Run> ComputeStats(31 const std::vector<BenchmarkReporter::Run>& reports);32 33BENCHMARK_EXPORT34double StatisticsMean(const std::vector<double>& v);35BENCHMARK_EXPORT36double StatisticsMedian(const std::vector<double>& v);37BENCHMARK_EXPORT38double StatisticsStdDev(const std::vector<double>& v);39BENCHMARK_EXPORT40double StatisticsCV(const std::vector<double>& v);41 42} // end namespace benchmark43 44#endif // STATISTICS_H_45