From d626a60eca7a511786435ec796d7864c59463939 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 1 Oct 2015 07:48:53 +0200 Subject: accela: guard against negative value overflow properly Accela attempted to guard against both negative and positive value overstepping the last value due to gain, but the check for negative values was incorrect. Issue: #231 Reported-by: @nanospork, @alterscape, @SgtGrumbles --- ftnoir_filter_accela/ftnoir_filter_accela.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ftnoir_filter_accela/ftnoir_filter_accela.cpp b/ftnoir_filter_accela/ftnoir_filter_accela.cpp index b246a925..7f1d9d0a 100644 --- a/ftnoir_filter_accela/ftnoir_filter_accela.cpp +++ b/ftnoir_filter_accela/ftnoir_filter_accela.cpp @@ -97,7 +97,7 @@ void FTNoIR_Filter::filter(const double* input, double *output) const double thres = i >= 3 ? rot_t : trans_t; const double val = m.getValue(vec_ / thres); const double result = last_output[i] + (vec < 0 ? -1 : 1) * dt * val; - const bool negp = vec < 0.; + const bool negp = in < 0.; const bool done = negp ? result <= in : result >= in; -- cgit v1.2.3