Krita Source Code Documentation
Loading...
Searching...
No Matches
KisRollingSumAccumulatorWrapper.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2023 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
8
#include "
KisRollingSumAccumulatorWrapper.h
"
9
10
#include <boost/accumulators/accumulators.hpp>
11
#include <boost/accumulators/statistics/stats.hpp>
12
#include <boost/accumulators/statistics/rolling_sum.hpp>
13
#include <boost/accumulators/statistics/rolling_count.hpp>
14
15
using namespace
boost::accumulators;
16
17
struct
KisRollingSumAccumulatorWrapper::Private
{
18
Private
(
int
windowSize)
19
:
accumulator
(tag::rolling_window::window_size = windowSize)
20
{
21
}
22
23
accumulator_set<qreal, stats<tag::rolling_sum, tag::rolling_count> >
accumulator
;
24
};
25
26
27
KisRollingSumAccumulatorWrapper::KisRollingSumAccumulatorWrapper
(
int
windowSize)
28
: m_d(new
Private
(windowSize))
29
{
30
}
31
32
KisRollingSumAccumulatorWrapper::~KisRollingSumAccumulatorWrapper
()
33
{
34
}
35
36
void
KisRollingSumAccumulatorWrapper::operator()
(qreal
value
)
37
{
38
m_d
->accumulator(
value
);
39
}
40
41
qreal
KisRollingSumAccumulatorWrapper::rollingSum
()
const
42
{
43
return
boost::accumulators::rolling_sum(
m_d
->accumulator);
44
}
45
46
int
KisRollingSumAccumulatorWrapper::rollingCount
()
const
47
{
48
return
boost::accumulators::rolling_count(
m_d
->accumulator);
49
}
50
51
void
KisRollingSumAccumulatorWrapper::reset
(
int
windowSize)
52
{
53
m_d
->accumulator =
54
accumulator_set<qreal, stats<tag::rolling_sum, tag::rolling_count>>(
55
tag::rolling_window::window_size = windowSize);
56
}
57
value
float value(const T *src, size_t ch)
Definition
JPEGXLImport.cpp:93
KisRollingSumAccumulatorWrapper.h
KisRollingSumAccumulatorWrapper::rollingSum
qreal rollingSum() const
Definition
KisRollingSumAccumulatorWrapper.cpp:41
KisRollingSumAccumulatorWrapper::rollingCount
int rollingCount() const
Definition
KisRollingSumAccumulatorWrapper.cpp:46
KisRollingSumAccumulatorWrapper::operator()
void operator()(qreal value)
Definition
KisRollingSumAccumulatorWrapper.cpp:36
KisRollingSumAccumulatorWrapper::KisRollingSumAccumulatorWrapper
KisRollingSumAccumulatorWrapper(int windowSize)
Definition
KisRollingSumAccumulatorWrapper.cpp:27
KisRollingSumAccumulatorWrapper::~KisRollingSumAccumulatorWrapper
~KisRollingSumAccumulatorWrapper()
Definition
KisRollingSumAccumulatorWrapper.cpp:32
KisRollingSumAccumulatorWrapper::reset
void reset(int windowSize)
Definition
KisRollingSumAccumulatorWrapper.cpp:51
KisRollingSumAccumulatorWrapper::m_d
const QScopedPointer< Private > m_d
Definition
KisRollingSumAccumulatorWrapper.h:45
Private
Definition
SvgTransformParser.cpp:20
KisRollingSumAccumulatorWrapper::Private
Definition
KisRollingSumAccumulatorWrapper.cpp:17
KisRollingSumAccumulatorWrapper::Private::Private
Private(int windowSize)
Definition
KisRollingSumAccumulatorWrapper.cpp:18
KisRollingSumAccumulatorWrapper::Private::accumulator
accumulator_set< qreal, stats< tag::rolling_sum, tag::rolling_count > > accumulator
Definition
KisRollingSumAccumulatorWrapper.cpp:23
libs
global
KisRollingSumAccumulatorWrapper.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52