commit 3fbee1c0128826627de5cba35aea58408203ac0d
parent c453458fb5dd6aa28418e0122e64fa0d3ffad8c9
Author: Dominik Schmidt <das1993@hotmail.com>
Date: Fri, 29 Jun 2018 14:53:32 +0000
Correct the method of updating the temporary gaussian
Just overwrite instead of merge.
Diffstat:
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/src/laundrysorcery.c b/src/laundrysorcery.c
@@ -114,15 +114,6 @@ int guess_if_toggle(double delta_t){
return guess_is_on(delta_t)^on;
}
-void merge_gaussians(Gaussian *a, Gaussian b, double factor){
- factor=pow(factor, b.measurements);
- a->mean*=factor;
- a->mean+=b.mean;
- a->variance*=factor;
- a->variance+=b.variance;
- a->measurements+=b.measurements;
-}
-
void process_datapoint(double delta_t){
static unsigned int consecutive_outliers=0;
static Gaussian tmp={0,0,0};
@@ -141,8 +132,7 @@ void process_datapoint(double delta_t){
}
else{
if(consecutive_outliers>0){
- tmp.measurements=consecutive_outliers;
- merge_gaussians(current, tmp, calculate_lambda(current));
+ *current=tmp;
consecutive_outliers=0;
}
}