16 lines
324 B
C
Raw Normal View History

2018-11-13 08:10:15 +01:00
#pragma once
class ExpMovAvg {
public:
ExpMovAvg(int* in_i, int* out_o, float lambda = 0.5) : _in_ptr(in_i), _out_ptr(out_o), _lambda(lambda) {;}
inline void calculate() {
_ema = _lambda * (float)(*_in_ptr) + (1 - _lambda) * _ema;
*_out_ptr = _ema;
}
int *_in_ptr, *_out_ptr;
int _ema;
float _lambda;
};