31 lines
678 B
C
31 lines
678 B
C
/*
|
|
* avg_values.h
|
|
*
|
|
* @date Jul 23, 2013
|
|
* @author Andrey Belomutskiy, (c) 2012-2016
|
|
*/
|
|
|
|
#ifndef AVG_VALUES_H_
|
|
#define AVG_VALUES_H_
|
|
|
|
#define AVG_TAB_SIZE 48
|
|
|
|
#define MAX_RPM 8000
|
|
#define MAX_KEY 5
|
|
|
|
typedef struct {
|
|
float values[AVG_TAB_SIZE][AVG_TAB_SIZE];
|
|
int counts[AVG_TAB_SIZE][AVG_TAB_SIZE];
|
|
} AvgTable;
|
|
|
|
|
|
void avgReset(AvgTable *table);
|
|
void avgFill(AvgTable *table, int count, float value);
|
|
|
|
void avgAddValue(AvgTable *table, int rpm, float key, float value);
|
|
float avgGetValueByIndexes(AvgTable *table, int i, int j);
|
|
float avgGetValue(AvgTable *table, int rpm, float key);
|
|
int avgGetValuesCount(AvgTable *table, int rpm, float key);
|
|
|
|
#endif /* AVG_VALUES_H_ */
|