void resetDoubleMovingStatFilter(DoubleMovingStatFilter* container) { if(container == NULL) return; resetDoubleMovingMean(container->meanContainer); container->output = 0; }
void resetDoubleMovingStdDev(DoubleMovingStdDev* container) { if(container == NULL) return; resetDoubleMovingMean(container->meanContainer); container->squareSum = 0.0; container->stdDev = 0.0; }
static int outlierFilterReset(OutlierFilter *filter) { resetDoubleMovingStdDev(filter->rawStats); resetDoubleMovingMean(filter->filteredStats); filter->lastOutlier = FALSE; filter->threshold = filter->config.threshold; resetDoublePermanentMean(&filter->outlierStats); resetDoublePermanentMean(&filter->acceptedStats); filter->delay = 0; filter->totalDelay = 0; filter->delayCredit = filter->config.delayCredit; filter->blocking = FALSE; return 1; }