Krita Source Code Documentation
Loading...
Searching...
No Matches
KisRollingMeanAccumulatorWrapper Class Reference

A simple wrapper class that hides boost includes from QtCreator preventing it from crashing when one adds boost's accumulator into a file. More...

#include <KisRollingMeanAccumulatorWrapper.h>

Classes

struct  Private
 

Public Member Functions

 KisRollingMeanAccumulatorWrapper (int windowSize)
 
void operator() (qreal value)
 
void reset (int windowSize)
 
int rollingCount () const
 
qreal rollingMean () const
 
qreal rollingMeanSafe () const
 
 ~KisRollingMeanAccumulatorWrapper ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

A simple wrapper class that hides boost includes from QtCreator preventing it from crashing when one adds boost's accumulator into a file.

Definition at line 19 of file KisRollingMeanAccumulatorWrapper.h.

Constructor & Destructor Documentation

◆ KisRollingMeanAccumulatorWrapper()

KisRollingMeanAccumulatorWrapper::KisRollingMeanAccumulatorWrapper ( int windowSize)

Create a rolling mean accumulator with window windowSize

Definition at line 25 of file KisRollingMeanAccumulatorWrapper.cpp.

26 : m_d(new Private(windowSize))
27{
28}

◆ ~KisRollingMeanAccumulatorWrapper()

KisRollingMeanAccumulatorWrapper::~KisRollingMeanAccumulatorWrapper ( )

Definition at line 30 of file KisRollingMeanAccumulatorWrapper.cpp.

31{
32}

Member Function Documentation

◆ operator()()

void KisRollingMeanAccumulatorWrapper::operator() ( qreal value)

Add value to a set of numbers

Definition at line 34 of file KisRollingMeanAccumulatorWrapper.cpp.

35{
36 m_d->accumulator(value);
37}
float value(const T *src, size_t ch)

References m_d, and value().

◆ reset()

void KisRollingMeanAccumulatorWrapper::reset ( int windowSize)

Reset accumulator and any stored value

Definition at line 55 of file KisRollingMeanAccumulatorWrapper.cpp.

56{
57 m_d->accumulator =
58 accumulator_set<qreal, stats<tag::lazy_rolling_mean>>(
59 tag::rolling_window::window_size = windowSize);
60}

References m_d.

◆ rollingCount()

int KisRollingMeanAccumulatorWrapper::rollingCount ( ) const

Get the number of elements in the rolling window

Definition at line 50 of file KisRollingMeanAccumulatorWrapper.cpp.

51{
52 return boost::accumulators::rolling_count(m_d->accumulator);
53}

References m_d.

◆ rollingMean()

qreal KisRollingMeanAccumulatorWrapper::rollingMean ( ) const

Get rolling mean of the numbers passed to the operator. If there are no elements in the rolling window, returns NaN.

Definition at line 39 of file KisRollingMeanAccumulatorWrapper.cpp.

40{
41 return boost::accumulators::rolling_mean(m_d->accumulator);
42}

References m_d.

◆ rollingMeanSafe()

qreal KisRollingMeanAccumulatorWrapper::rollingMeanSafe ( ) const

Get rolling mean of the numbers passed to the operator. If there are no elements in the rolling window, returns 0.

Definition at line 44 of file KisRollingMeanAccumulatorWrapper.cpp.

45{
46 return boost::accumulators::rolling_count(m_d->accumulator) > 0 ?
47 boost::accumulators::rolling_mean(m_d->accumulator) : 0;
48}

References m_d.

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisRollingMeanAccumulatorWrapper::m_d
private

Definition at line 57 of file KisRollingMeanAccumulatorWrapper.h.


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