Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_incremental_average.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef __KIS_INCREMENTAL_AVERAGE_H
8
#define __KIS_INCREMENTAL_AVERAGE_H
9
10
#include <
kis_debug.h
>
11
#include <QVector>
12
13
14
class
KisIncrementalAverage
15
{
16
public
:
17
KisIncrementalAverage
(
int
size)
18
:
m_size
(size),
19
m_index
(-1),
20
m_sum
(0),
21
m_values
(size)
22
{
23
}
24
25
inline
int
pushThrough
(
int
value
) {
26
if
(
m_index
< 0) {
27
for
(
int
i = 0; i <
m_size
; i++) {
28
m_values
[i] =
value
;
29
}
30
m_index
= 0;
31
m_sum
= 3 *
value
;
32
return
value
;
33
}
34
35
int
oldValue =
m_values
[
m_index
];
36
m_values
[
m_index
] =
value
;
37
38
m_sum
+=
value
- oldValue;
39
40
if
(++
m_index
>=
m_size
) {
41
m_index
= 0;
42
}
43
44
return
m_sum
/
m_size
;
45
}
46
47
private
:
48
int
m_size
;
49
int
m_index
;
50
int
m_sum
;
51
QVector<int>
m_values
;
52
};
53
54
#endif
/* __KIS_INCREMENTAL_AVERAGE_H */
value
float value(const T *src, size_t ch)
Definition
JPEGXLImport.cpp:93
KisIncrementalAverage
Definition
kis_incremental_average.h:15
KisIncrementalAverage::m_size
int m_size
Definition
kis_incremental_average.h:48
KisIncrementalAverage::m_sum
int m_sum
Definition
kis_incremental_average.h:50
KisIncrementalAverage::KisIncrementalAverage
KisIncrementalAverage(int size)
Definition
kis_incremental_average.h:17
KisIncrementalAverage::m_values
QVector< int > m_values
Definition
kis_incremental_average.h:51
KisIncrementalAverage::pushThrough
int pushThrough(int value)
Definition
kis_incremental_average.h:25
KisIncrementalAverage::m_index
int m_index
Definition
kis_incremental_average.h:49
QList
Definition
KisQStringListFwd.h:16
kis_debug.h
libs
ui
input
wintab
kis_incremental_average.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52