| /* | |
| * Created by Joachim on 16/04/2019. | |
| * Adapted from donated nonius code. | |
| * | |
| * Distributed under the Boost Software License, Version 1.0. (See accompanying | |
| * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
| */ | |
| // Benchmark results | |
| namespace Catch { | |
| namespace Benchmark { | |
| template <typename Duration> | |
| struct SampleAnalysis { | |
| std::vector<Duration> samples; | |
| Estimate<Duration> mean; | |
| Estimate<Duration> standard_deviation; | |
| OutlierClassification outliers; | |
| double outlier_variance; | |
| template <typename Duration2> | |
| operator SampleAnalysis<Duration2>() const { | |
| std::vector<Duration2> samples2; | |
| samples2.reserve(samples.size()); | |
| std::transform(samples.begin(), samples.end(), std::back_inserter(samples2), [](Duration d) { return Duration2(d); }); | |
| return { | |
| std::move(samples2), | |
| mean, | |
| standard_deviation, | |
| outliers, | |
| outlier_variance, | |
| }; | |
| } | |
| }; | |
| } // namespace Benchmark | |
| } // namespace Catch | |