Bitcoin Core  0.20.99
P2P Digital Currency
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

◆ RangeMeasure

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

Definition at line 1019 of file nanobench.h.

Constructor & Destructor Documentation

◆ BigO() [1/4]

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

Definition at line 1032 of file nanobench.h.

Here is the caller graph for this function:

◆ BigO() [2/4]

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.

Here is the call graph for this function:

◆ BigO() [3/4]

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

◆ BigO() [4/4]

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

Member Function Documentation

◆ ANKERL_NANOBENCH() [1/3]

ANKERL_NANOBENCH (NODISCARD) std ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD  ) const
noexcept

◆ ANKERL_NANOBENCH() [2/3]

ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD  ) const
noexcept

◆ ANKERL_NANOBENCH() [3/3]

ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD  ) const &
noexcept

◆ collectRangeMeasure()

static RangeMeasure ankerl::nanobench::BigO::collectRangeMeasure ( std::vector< Result > const &  results)
static
Here is the caller graph for this function:

◆ mapRangeMeasure()

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

◆ mConstant

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

Definition at line 1048 of file nanobench.h.

◆ mName

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

Definition at line 1047 of file nanobench.h.

◆ mNormalizedRootMeanSquare

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: