LaundrySorcery

Log | Files | Refs

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:
src/laundrysorcery.c | 12+-----------
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; } }