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).
minValue () const
 Minimum observed value.
maxValue () const
 Maximum observed value.
avg () const
 Histogram average.
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 23 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 33 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 41 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 48 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 55 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 62 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 69 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 90 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 27 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 28 of file Histogram.h.