diff options
| author | Martin Hořeňovský | 2023-09-16 21:29:47 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2023-09-16 21:29:47 +0200 |
| commit | 92672591c114b442d3471bba600f6201f2d08b4c (patch) | |
| tree | d3357370198570c8a42f1a63f434941129ad88a0 | |
| parent | 56fcd584c1a4ca7f9449843e239559e69a084a63 (diff) | |
| download | catch3-92672591c114b442d3471bba600f6201f2d08b4c.tar.gz | |
Make jackknife TU-local to stats.cpp
| -rw-r--r-- | src/catch2/benchmark/detail/catch_stats.cpp | 36 | ||||
| -rw-r--r-- | src/catch2/benchmark/detail/catch_stats.hpp | 5 |
2 files changed, 18 insertions, 23 deletions
diff --git a/src/catch2/benchmark/detail/catch_stats.cpp b/src/catch2/benchmark/detail/catch_stats.cpp index d745bb1f..ac255e36 100644 --- a/src/catch2/benchmark/detail/catch_stats.cpp +++ b/src/catch2/benchmark/detail/catch_stats.cpp @@ -197,6 +197,24 @@ namespace Catch { # pragma GCC diagnostic pop #endif + + static sample jackknife( double ( *estimator )( double const*, + double const* ), + double* first, + double* last ) { + const auto second = first + 1; + sample results; + results.reserve( static_cast<size_t>( last - first ) ); + + for ( auto it = first; it != last; ++it ) { + std::iter_swap( it, first ); + results.push_back( estimator( second, last ) ); + } + + return results; + } + + } // namespace } // namespace Detail } // namespace Benchmark @@ -263,24 +281,6 @@ namespace Catch { return sum / static_cast<double>(count); } - sample jackknife( double ( *estimator )( double const*, - double const* ), - double* first, - double* last ) { - auto n = static_cast<size_t>( last - first ); - auto second = first; - ++second; - sample results; - results.reserve( n ); - - for ( auto it = first; it != last; ++it ) { - std::iter_swap( it, first ); - results.push_back( estimator( second, last ) ); - } - - return results; - } - double normal_cdf( double x ) { return std::erfc( -x / std::sqrt( 2.0 ) ) / 2.0; } diff --git a/src/catch2/benchmark/detail/catch_stats.hpp b/src/catch2/benchmark/detail/catch_stats.hpp index 5b7c8808..3bea612f 100644 --- a/src/catch2/benchmark/detail/catch_stats.hpp +++ b/src/catch2/benchmark/detail/catch_stats.hpp @@ -30,11 +30,6 @@ namespace Catch { double mean( double const* first, double const* last ); - sample jackknife( double ( *estimator )( double const*, - double const* ), - double* first, - double* last ); - double normal_cdf( double x ); double erfc_inv(double x); |