Format headers
This commit is contained in:
@@ -11,31 +11,28 @@
|
||||
#include <stdint.h>
|
||||
|
||||
// max size = 127
|
||||
template<class T, uint8_t SIZE>
|
||||
struct history {
|
||||
static const uint8_t size = SIZE;
|
||||
T buf[size];
|
||||
int32_t sum;
|
||||
uint8_t loc;
|
||||
template <class T, uint8_t SIZE> struct history {
|
||||
static const uint8_t size = SIZE;
|
||||
T buf[size];
|
||||
int32_t sum;
|
||||
uint8_t loc;
|
||||
|
||||
void update(T const val) {
|
||||
// step backwards so i+1 is the previous value.
|
||||
void update(T const val) {
|
||||
// step backwards so i+1 is the previous value.
|
||||
|
||||
sum -= buf[loc];
|
||||
sum += val;
|
||||
buf[loc] = val;
|
||||
loc = (loc + 1) % size;
|
||||
}
|
||||
sum -= buf[loc];
|
||||
sum += val;
|
||||
buf[loc] = val;
|
||||
loc = (loc + 1) % size;
|
||||
}
|
||||
|
||||
T operator[](uint8_t i) const {
|
||||
// 0 = newest, size-1 = oldest.
|
||||
i = (i + loc) % size;
|
||||
return buf[i];
|
||||
}
|
||||
T operator[](uint8_t i) const {
|
||||
// 0 = newest, size-1 = oldest.
|
||||
i = (i + loc) % size;
|
||||
return buf[i];
|
||||
}
|
||||
|
||||
T average() const {
|
||||
return sum / size;
|
||||
}
|
||||
T average() const { return sum / size; }
|
||||
};
|
||||
|
||||
#endif /* HISTORY_HPP_ */
|
||||
#endif /* HISTORY_HPP_ */
|
||||
|
||||
Reference in New Issue
Block a user