mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 04:07:10 +01:00 
			
		
		
		
	Make jackknife TU-local to stats.cpp
This commit is contained in:
		| @@ -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); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský