xrpld
Loading...
Searching...
No Matches
xrpl::test::csf::Histogram< T, Compare > Class Template Reference

Basic histogram. More...

#include <Histogram.h>

Collaboration diagram for xrpl::test::csf::Histogram< T, Compare >:

Public Member Functions

void insert (T const &s)
 Insert an sample.
std::size_t size () const
 The number of samples.
std::size_t numBins () const
 The number of distinct samples (bins).
T minValue () const
 Minimum observed value.
T maxValue () const
 Maximum observed value.
T avg () const
 Histogram average.
T percentile (float p) const
 Calculate the given percentile of the distribution.

Private Attributes

std::map< T, std::size_t, Compare > counts_
std::size_t samples_ = 0

Detailed Description

template<class T, class Compare = std::less<T>>
class xrpl::test::csf::Histogram< T, Compare >

Basic histogram.

Histogram for a type T that satisfies

  • Default construction: T{}
  • Comparison : T a, b; bool res = a < b
  • Addition: T a, b; T c = a + b;
  • Multiplication : T a, std::size_t b; T c = a * b;
  • Division: T a; std::size_t b; T c = a/b;

Definition at line 22 of file Histogram.h.

Member Function Documentation

◆ insert()

template<class T, class Compare = std::less<T>>
void xrpl::test::csf::Histogram< T, Compare >::insert ( T const & s)

Insert an sample.

Definition at line 34 of file Histogram.h.

◆ size()

template<class T, class Compare = std::less<T>>
std::size_t xrpl::test::csf::Histogram< T, Compare >::size ( ) const
nodiscard

The number of samples.

Definition at line 44 of file Histogram.h.

◆ numBins()

template<class T, class Compare = std::less<T>>
std::size_t xrpl::test::csf::Histogram< T, Compare >::numBins ( ) const
nodiscard

The number of distinct samples (bins).

Definition at line 53 of file Histogram.h.

◆ minValue()

template<class T, class Compare = std::less<T>>
T xrpl::test::csf::Histogram< T, Compare >::minValue ( ) const
nodiscard

Minimum observed value.

Definition at line 62 of file Histogram.h.

◆ maxValue()

template<class T, class Compare = std::less<T>>
T xrpl::test::csf::Histogram< T, Compare >::maxValue ( ) const
nodiscard

Maximum observed value.

Definition at line 71 of file Histogram.h.

◆ avg()

template<class T, class Compare = std::less<T>>
T xrpl::test::csf::Histogram< T, Compare >::avg ( ) const
nodiscard

Histogram average.

Definition at line 80 of file Histogram.h.

◆ percentile()

template<class T, class Compare = std::less<T>>
T xrpl::test::csf::Histogram< T, Compare >::percentile ( float p) const
nodiscard

Calculate the given percentile of the distribution.

Parameters
pPercentile between 0 and 1, e.g. 0.50 is 50-th percentile If the percentile falls between two bins, uses the nearest bin.
Returns
The given percentile of the distribution

Definition at line 102 of file Histogram.h.

Member Data Documentation

◆ counts_

template<class T, class Compare = std::less<T>>
std::map<T, std::size_t, Compare> xrpl::test::csf::Histogram< T, Compare >::counts_
private

Definition at line 26 of file Histogram.h.

◆ samples_

template<class T, class Compare = std::less<T>>
std::size_t xrpl::test::csf::Histogram< T, Compare >::samples_ = 0
private

Definition at line 27 of file Histogram.h.