Home | History | Annotate | Download | only in src
      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 at
      7 //
      8 //     http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unless required by applicable law or agreed to in writing, software
     11 // 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 and
     14 // limitations under the License.
     15 
     16 #ifndef STATISTICS_H_
     17 #define STATISTICS_H_
     18 
     19 #include <vector>
     20 
     21 #include "benchmark/benchmark.h"
     22 
     23 namespace benchmark {
     24 
     25 // Return a vector containing the mean, median and standard devation information
     26 // (and any user-specified info) for the specified list of reports. If 'reports'
     27 // contains less than two non-errored runs an empty vector is returned
     28 std::vector<BenchmarkReporter::Run> ComputeStats(
     29     const std::vector<BenchmarkReporter::Run>& reports);
     30 
     31 double StatisticsMean(const std::vector<double>& v);
     32 double StatisticsMedian(const std::vector<double>& v);
     33 double StatisticsStdDev(const std::vector<double>& v);
     34 
     35 }  // end namespace benchmark
     36 
     37 #endif  // STATISTICS_H_
     38