line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
// Copyright Catch2 Authors |
3
|
|
|
|
|
|
|
// Distributed under the Boost Software License, Version 1.0. |
4
|
|
|
|
|
|
|
// (See accompanying file LICENSE_1_0.txt or copy at |
5
|
|
|
|
|
|
|
// https://www.boost.org/LICENSE_1_0.txt) |
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
// SPDX-License-Identifier: BSL-1.0 |
8
|
|
|
|
|
|
|
// Adapted from donated nonius code. |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
#ifndef CATCH_SAMPLE_ANALYSIS_HPP_INCLUDED |
11
|
|
|
|
|
|
|
#define CATCH_SAMPLE_ANALYSIS_HPP_INCLUDED |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
#include |
14
|
|
|
|
|
|
|
#include |
15
|
|
|
|
|
|
|
#include |
16
|
|
|
|
|
|
|
#include |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
#include |
19
|
|
|
|
|
|
|
#include |
20
|
|
|
|
|
|
|
#include |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
namespace Catch { |
23
|
|
|
|
|
|
|
namespace Benchmark { |
24
|
|
|
|
|
|
|
template |
25
|
0
|
|
|
|
|
|
struct SampleAnalysis { |
26
|
|
|
|
|
|
|
std::vector samples; |
27
|
|
|
|
|
|
|
Estimate mean; |
28
|
|
|
|
|
|
|
Estimate standard_deviation; |
29
|
|
|
|
|
|
|
OutlierClassification outliers; |
30
|
|
|
|
|
|
|
double outlier_variance; |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
template |
33
|
|
|
|
|
|
|
operator SampleAnalysis() const { |
34
|
|
|
|
|
|
|
std::vector samples2; |
35
|
|
|
|
|
|
|
samples2.reserve(samples.size()); |
36
|
|
|
|
|
|
|
std::transform(samples.begin(), samples.end(), std::back_inserter(samples2), [](Duration d) { return Duration2(d); }); |
37
|
|
|
|
|
|
|
return { |
38
|
|
|
|
|
|
|
CATCH_MOVE(samples2), |
39
|
|
|
|
|
|
|
mean, |
40
|
|
|
|
|
|
|
standard_deviation, |
41
|
|
|
|
|
|
|
outliers, |
42
|
|
|
|
|
|
|
outlier_variance, |
43
|
|
|
|
|
|
|
}; |
44
|
|
|
|
|
|
|
} |
45
|
|
|
|
|
|
|
}; |
46
|
|
|
|
|
|
|
} // namespace Benchmark |
47
|
|
|
|
|
|
|
} // namespace Catch |
48
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
#endif // CATCH_SAMPLE_ANALYSIS_HPP_INCLUDED |