diff --git a/src/lib/aqdiagram/data/floatingavg.c b/src/lib/aqdiagram/data/floatingavg.c index 8cefae4..f8d4f11 100644 --- a/src/lib/aqdiagram/data/floatingavg.c +++ b/src/lib/aqdiagram/data/floatingavg.c @@ -13,6 +13,9 @@ #include "./floatingavg.h" +static double _averageOverArray(const double *lastValues, int num); + + AQDG_GRAPH_DATAPAIR_LIST *AQDG_Data_FloatingAverage(const AQDG_GRAPH_DATAPAIR_LIST *dpList, int num) { @@ -28,36 +31,19 @@ AQDG_GRAPH_DATAPAIR_LIST *AQDG_Data_FloatingAverage(const AQDG_GRAPH_DATAPAIR_LI while(dp) { AQDG_GRAPH_DATAPAIR *newDp; double v; - int i; v=AQDG_Graph_DataPair_GetValueY(dp); - if (idx>=num) - idx=0; - lastValues[idx]=v; - idx++; + idx%=num; + lastValues[idx++]=v; cnt++; if (cnt