Loading...
Searching...
No Matches
Catch::Benchmark::Detail Namespace Reference

## Classes

struct | BenchmarkFunction
struct | bootstrap_analysis
struct | ChronometerConcept
struct | ChronometerModel
struct | CompleteInvoker
struct | CompleteInvoker< void >
struct | CompleteType
struct | CompleteType< void >
struct | do_nothing
struct | is_related
struct | ObjectStorage
struct | optimized_away_error
struct | repeater

## Typedefs

template<typename T>
using | CompleteType_t = typename CompleteType<T>::type
template<typename Clock, typename Fun>
using | run_for_at_least_argument_t = std::conditional_t<is_callable<Fun(Chronometer)>::value, Chronometer, int>
using | sample = std::vector<double>

## Functions

SampleAnalysis | analyse (const IConfig &cfg, FDuration *first, FDuration *last)
void | throw_optimized_away_error ()
double | weighted_average_quantile (int k, int q, double *first, double *last)
OutlierClassification | classify_outliers (double const *first, double const *last)
double | mean (double const *first, double const *last)
double | normal_cdf (double x)
double | erfc_inv (double x)
double | normal_quantile (double p)
Estimate< double > | bootstrap (double confidence_level, double *first, double *last, sample const &resample, double(*estimator)(double const *, double const *))
bootstrap_analysis | analyse_samples (double confidence_level, unsigned int n_resamples, double *first, double *last)
template<typename Fun>
repeater< std::decay_t< Fun > > | repeat (Fun &&fun)
template<typename Fun, typename... Args>
CompleteType_t< FunctionReturnType< Fun, Args... > > | complete_invoke (Fun &&fun, Args &&... args)
template<typename Clock, typename Fun, typename... Args>
TimingOf< Fun, Args... > | measure (Fun &&fun, Args &&... args)
template<typename Clock, typename Fun>
TimingOf< Fun, int > | measure_one (Fun &&fun, int iters, std::false_type)
template<typename Clock, typename Fun>
TimingOf< Fun, Chronometer > | measure_one (Fun &&fun, int iters, std::true_type)
template<typename Clock, typename Fun>
TimingOf< Fun, run_for_at_least_argument_t< Clock, Fun > > | run_for_at_least (IDuration how_long, const int initial_iterations, Fun &&fun)
template<typename Clock>
std::vector< double > | resolution (int k)
template<typename Clock>
int | warmup ()
template<typename Clock>
EnvironmentEstimate | estimate_clock_resolution (int iterations)
template<typename Clock>
EnvironmentEstimate | estimate_clock_cost (FDuration resolution)
template<typename Clock>
Environment | measure_environment ()

## Variables

constexpr auto | warmup_iterations = 10000
constexpr auto | warmup_time = std::chrono::milliseconds(100)
constexpr auto | minimum_ticks = 1000
constexpr auto | warmup_seed = 10000
constexpr auto | clock_resolution_estimation_time = std::chrono::milliseconds(500)
constexpr auto | clock_cost_estimation_time_limit = std::chrono::seconds(1)
constexpr auto | clock_cost_estimation_tick_limit = 100000
constexpr auto | clock_cost_estimation_time = std::chrono::milliseconds(10)
constexpr auto | clock_cost_estimation_iterations = 10000

## Typedef Documentation

## CompleteType_t

template<typename T>

using Catch::Benchmark::Detail::CompleteType_t = typename CompleteType<T>::type

## run_for_at_least_argument_t

template<typename Clock, typename Fun>

using Catch::Benchmark::Detail::run_for_at_least_argument_t = std::conditional_t<is_callable<Fun(Chronometer)>::value, Chronometer, int>

## sample

using Catch::Benchmark::Detail::sample = std::vector<double>

## Function Documentation

## analyse()

SampleAnalysis Catch::Benchmark::Detail::analyse | ( | const IConfig & | cfg,
|  | FDuration * | first,
|  | FDuration * | last )

Here is the call graph for this function:
Here is the caller graph for this function:

## analyse_samples()

bootstrap_analysis Catch::Benchmark::Detail::analyse_samples | ( | double | confidence_level,
|  | unsigned int | n_resamples,
|  | double * | first,
|  | double * | last )

Here is the call graph for this function:
Here is the caller graph for this function:

## bootstrap()

Estimate< double > Catch::Benchmark::Detail::bootstrap | ( | double | confidence_level,
|  | double * | first,
|  | double * | last,
|  | sample const & | resample,
|  | double(* | estimator )(double const *, double const *) )

Here is the call graph for this function:
Here is the caller graph for this function:

## classify_outliers()

OutlierClassification Catch::Benchmark::Detail::classify_outliers | ( | double const * | first,
|  | double const * | last )

Here is the call graph for this function:
Here is the caller graph for this function:

## complete_invoke()

template<typename Fun, typename... Args>

CompleteType_t< FunctionReturnType< Fun, Args... > > Catch::Benchmark::Detail::complete_invoke | ( | Fun && | fun,
|  | Args &&... | args )

Here is the call graph for this function:
Here is the caller graph for this function:

## erfc_inv()

double Catch::Benchmark::Detail::erfc_inv | ( | double | x | ) |

Here is the caller graph for this function:

## estimate_clock_cost()

template<typename Clock>

EnvironmentEstimate Catch::Benchmark::Detail::estimate_clock_cost | ( | FDuration | resolution | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## estimate_clock_resolution()

template<typename Clock>

EnvironmentEstimate Catch::Benchmark::Detail::estimate_clock_resolution | ( | int | iterations | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## mean()

double Catch::Benchmark::Detail::mean | ( | double const * | first,
|  | double const * | last )

Here is the caller graph for this function:

## measure()

template<typename Clock, typename Fun, typename... Args>

TimingOf< Fun, Args... > Catch::Benchmark::Detail::measure | ( | Fun && | fun,
|  | Args &&... | args )

Here is the call graph for this function:
Here is the caller graph for this function:

## measure_environment()

template<typename Clock>

Environment Catch::Benchmark::Detail::measure_environment | ( |  | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## measure_one() [1/2]

template<typename Clock, typename Fun>

TimingOf< Fun, int > Catch::Benchmark::Detail::measure_one | ( | Fun && | fun,
|  | int | iters,
|  | std::false_type | )

Here is the call graph for this function:
Here is the caller graph for this function:

## measure_one() [2/2]

template<typename Clock, typename Fun>

TimingOf< Fun, Chronometer > Catch::Benchmark::Detail::measure_one | ( | Fun && | fun,
|  | int | iters,
|  | std::true_type | )

Here is the call graph for this function:

## normal_cdf()

double Catch::Benchmark::Detail::normal_cdf | ( | double | x | ) |

Here is the caller graph for this function:

## normal_quantile()

double Catch::Benchmark::Detail::normal_quantile | ( | double | p | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## repeat()

template<typename Fun>

repeater< std::decay_t< Fun > > Catch::Benchmark::Detail::repeat | ( | Fun && | fun | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## resolution()

template<typename Clock>

std::vector< double > Catch::Benchmark::Detail::resolution | ( | int | k | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## run_for_at_least()

template<typename Clock, typename Fun>

TimingOf< Fun, run_for_at_least_argument_t< Clock, Fun > > Catch::Benchmark::Detail::run_for_at_least | ( | IDuration | how_long,
|  | const int | initial_iterations,
|  | Fun && | fun )

Here is the call graph for this function:
Here is the caller graph for this function:

## throw_optimized_away_error()

void Catch::Benchmark::Detail::throw_optimized_away_error | ( |  | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## warmup()

template<typename Clock>

int Catch::Benchmark::Detail::warmup | ( |  | ) |

Here is the call graph for this function:
Here is the caller graph for this function:

## weighted_average_quantile()

double Catch::Benchmark::Detail::weighted_average_quantile | ( | int | k,
|  | int | q,
|  | double * | first,
|  | double * | last )

Here is the call graph for this function:
Here is the caller graph for this function:

## Variable Documentation

## clock_cost_estimation_iterations

auto Catch::Benchmark::Detail::clock_cost_estimation_iterations = 10000

constexpr

## clock_cost_estimation_tick_limit

auto Catch::Benchmark::Detail::clock_cost_estimation_tick_limit = 100000

constexpr

## clock_cost_estimation_time

auto Catch::Benchmark::Detail::clock_cost_estimation_time = std::chrono::milliseconds(10)

constexpr

## clock_cost_estimation_time_limit

auto Catch::Benchmark::Detail::clock_cost_estimation_time_limit = std::chrono::seconds(1)

constexpr

## clock_resolution_estimation_time

auto Catch::Benchmark::Detail::clock_resolution_estimation_time = std::chrono::milliseconds(500)

constexpr

## minimum_ticks

auto Catch::Benchmark::Detail::minimum_ticks = 1000

constexpr

## warmup_iterations

auto Catch::Benchmark::Detail::warmup_iterations = 10000

constexpr

## warmup_seed

auto Catch::Benchmark::Detail::warmup_seed = 10000

constexpr

## warmup_time

auto Catch::Benchmark::Detail::warmup_time = std::chrono::milliseconds(100)

constexpr