mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 11:23:29 +01:00
Make jackknife TU-local to stats.cpp
This commit is contained in:
parent
56fcd584c1
commit
92672591c1
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user