Bitcoin Core  0.21.1
P2P Digital Currency
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
ankerl::nanobench::BigO Class Reference

#include <nanobench.h>

Public Types

using RangeMeasure = std::vector< std::pair< double, double >>
 

Public Member Functions

template<typename Op >
 BigO (char const *bigOName, RangeMeasure const &rangeMeasure, Op rangeToN)
 
template<typename Op >
 BigO (std::string const &bigOName, RangeMeasure const &rangeMeasure, Op rangeToN)
 
 BigO (char const *bigOName, RangeMeasure const &scaledRangeMeasure)
 
 BigO (std::string const &bigOName, RangeMeasure const &scaledRangeMeasure)
 
ANKERL_NANOBENCH(NODISCARD) std ANKERL_NANOBENCH (NODISCARD) double const ant() const noexcept
 
 ANKERL_NANOBENCH (NODISCARD) double normalizedRootMeanSquare() const noexcept
 
 ANKERL_NANOBENCH (NODISCARD) bool operator<(BigO const &other) const noexcept
 

Static Public Member Functions

template<typename Op >
static RangeMeasure mapRangeMeasure (RangeMeasure data, Op op)
 
static RangeMeasure collectRangeMeasure (std::vector< Result > const &results)
 

Private Attributes

std::string mName {}
 
double mConstant {}
 
double mNormalizedRootMeanSquare {}
 

Detailed Description

Definition at line 1017 of file nanobench.h.

Member Typedef Documentation

using ankerl::nanobench::BigO::RangeMeasure = std::vector<std::pair<double, double>>

Definition at line 1019 of file nanobench.h.

Constructor & Destructor Documentation

template<typename Op >
ankerl::nanobench::BigO::BigO ( char const *  bigOName,
RangeMeasure const &  rangeMeasure,
Op  rangeToN 
)
inline

Definition at line 1032 of file nanobench.h.

template<typename Op >
ankerl::nanobench::BigO::BigO ( std::string const &  bigOName,
RangeMeasure const &  rangeMeasure,
Op  rangeToN 
)
inline

Definition at line 1036 of file nanobench.h.

ankerl::nanobench::BigO::BigO ( char const *  bigOName,
RangeMeasure const &  scaledRangeMeasure 
)
ankerl::nanobench::BigO::BigO ( std::string const &  bigOName,
RangeMeasure const &  scaledRangeMeasure 
)

Member Function Documentation

ANKERL_NANOBENCH (NODISCARD) std ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD  ) const
noexcept
ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD  ) const
noexcept
ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD  ) const
noexcept
static RangeMeasure ankerl::nanobench::BigO::collectRangeMeasure ( std::vector< Result > const &  results)
static

Here is the caller graph for this function:

template<typename Op >
static RangeMeasure ankerl::nanobench::BigO::mapRangeMeasure ( RangeMeasure  data,
Op  op 
)
inlinestatic

Definition at line 1022 of file nanobench.h.

Member Data Documentation

double ankerl::nanobench::BigO::mConstant {}
private

Definition at line 1048 of file nanobench.h.

std::string ankerl::nanobench::BigO::mName {}
private

Definition at line 1047 of file nanobench.h.

double ankerl::nanobench::BigO::mNormalizedRootMeanSquare {}
private

Definition at line 1049 of file nanobench.h.


The documentation for this class was generated from the following file: