From: Vladimír Čunát Date: Wed, 26 Jul 2017 10:15:06 +0000 (+0200) Subject: predict.generate: fix modular arithmetic X-Git-Tag: v1.3.2~3^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8657027ec5125f5358efffdedd28fce140b821a4;p=thirdparty%2Fknot-resolver.git predict.generate: fix modular arithmetic The epoch indices are from [1..period]. --- diff --git a/modules/predict/predict.lua b/modules/predict/predict.lua index da6593791..153d534c0 100644 --- a/modules/predict/predict.lua +++ b/modules/predict/predict.lua @@ -103,10 +103,9 @@ end local function generate(epoch_now) if not epoch_now then return 0 end local queued = 0 - local period = predict.period + 1 for i = 1, predict.period / 2 - 1 do - local current = predict.log[(epoch_now - i) % period] - local past = predict.log[(epoch_now - 2*i) % period] + local current = predict.log[(epoch_now - i - 1) % predict.period + 1] + local past = predict.log[(epoch_now - 2*i - 1) % predict.period + 1] if current and past then for k, v in pairs(current) do if past[k] ~= nil and not predict.queue[k] then