From ed098f3db517b83e0655cab74c89b49f7b47e8ad Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Fri, 10 May 2024 14:00:38 +0300 Subject: [fix] gnosis-algorithm-next-interval: use min upon failure Adjust so that failure-interval is never higher than success-interval, such us in cases where initial-interval is used --- gnosis-algorithm.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gnosis-algorithm.el') diff --git a/gnosis-algorithm.el b/gnosis-algorithm.el index ad663e4..4cfebd1 100644 --- a/gnosis-algorithm.el +++ b/gnosis-algorithm.el @@ -183,9 +183,12 @@ successful reviews." (car initial-interval)) ((and (= successful-reviews 1) success) (cadr initial-interval)) - (t (if success - (* ef last-interval) - (* failure-factor last-interval)))))) + (t (let* ((success-interval (* ef last-interval)) + (failure-interval (* last-interval failure-factor))) + (if success success-interval + ;; Make sure failure interval is never + ;; higher than success + (min success-interval failure-interval))))))) (gnosis-algorithm-date (round interval)))) -- cgit v1.2.3