Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
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 bigOName, RangeMeasure const &rangeMeasure, Op rangeToN)
 BigO (char const *bigOName, RangeMeasure const &scaledRangeMeasure)
 BigO (std::string 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 1111 of file nanobench.h.

Member Typedef Documentation

◆ RangeMeasure

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

Definition at line 1113 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 1126 of file nanobench.h.

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

◆ BigO() [2/4]

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

Definition at line 1130 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 bigOName,
RangeMeasure const & scaledRangeMeasure )

Member Function Documentation

◆ ANKERL_NANOBENCH() [1/3]

ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD ) const &
noexcept
Here is the call graph for this function:

◆ ANKERL_NANOBENCH() [2/3]

ANKERL_NANOBENCH(NODISCARD) std ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD ) const
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ANKERL_NANOBENCH() [3/3]

ankerl::nanobench::BigO::ANKERL_NANOBENCH ( NODISCARD ) const
noexcept
Here is the call graph for this function:

◆ collectRangeMeasure()

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

◆ mapRangeMeasure()

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

Definition at line 1116 of file nanobench.h.

Here is the caller graph for this function:

Member Data Documentation

◆ mConstant

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

Definition at line 1142 of file nanobench.h.

◆ mName

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

Definition at line 1141 of file nanobench.h.

◆ mNormalizedRootMeanSquare

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

Definition at line 1143 of file nanobench.h.


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