Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorMartin Hořeňovský2023-09-16 21:29:47 +0200
committerMartin Hořeňovský2023-09-16 21:29:47 +0200
commit92672591c114b442d3471bba600f6201f2d08b4c (patch)
treed3357370198570c8a42f1a63f434941129ad88a0 /src
parent56fcd584c1a4ca7f9449843e239559e69a084a63 (diff)
downloadcatch3-92672591c114b442d3471bba600f6201f2d08b4c.tar.gz
Make jackknife TU-local to stats.cpp
Diffstat (limited to 'src')
-rw-r--r--src/catch2/benchmark/detail/catch_stats.cpp36
-rw-r--r--src/catch2/benchmark/detail/catch_stats.hpp5
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);