rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
util
math
exp_average.h
Go to the documentation of this file.
1
/**
2
* @file exp_average.h
3
*/
4
5
#pragma once
6
7
class
ExpAverage
{
8
public
:
9
float
initOrAverage
(
float
value) {
10
if
(
current
== 0) {
11
current
= value;
12
return
current
;
13
}
14
return
average
(value);
15
}
16
17
float
average
(
float
value) {
18
current
=
smoothingFactor
* value + (1 -
smoothingFactor
) *
current
;
19
return
current
;
20
}
21
22
void
init
(
int
length) {
23
setSmoothingFactor
(2 / (length + 1.0));
24
}
25
26
void
setSmoothingFactor
(
float
p_smoothingFactor) {
27
smoothingFactor
= p_smoothingFactor;
28
}
29
30
void
reset
() {
31
current
= 0;
32
smoothingFactor
= 0.5;
33
}
34
35
private
:
36
float
current
= 0;
37
float
smoothingFactor
= 0.5;
38
};
ExpAverage
Definition
exp_average.h:7
ExpAverage::reset
void reset()
Definition
exp_average.h:30
ExpAverage::setSmoothingFactor
void setSmoothingFactor(float p_smoothingFactor)
Definition
exp_average.h:26
ExpAverage::initOrAverage
float initOrAverage(float value)
Definition
exp_average.h:9
ExpAverage::init
void init(int length)
Definition
exp_average.h:22
ExpAverage::average
float average(float value)
Definition
exp_average.h:17
ExpAverage::smoothingFactor
float smoothingFactor
Definition
exp_average.h:37
ExpAverage::current
float current
Definition
exp_average.h:36
Generated on Sat Sep 27 2025 00:10:07 for rusEFI by
1.9.8