summaryrefslogtreecommitdiff
path: root/gnosis-algorithm.el
diff options
context:
space:
mode:
Diffstat (limited to 'gnosis-algorithm.el')
-rw-r--r--gnosis-algorithm.el19
1 files changed, 13 insertions, 6 deletions
diff --git a/gnosis-algorithm.el b/gnosis-algorithm.el
index fee5624..ab94559 100644
--- a/gnosis-algorithm.el
+++ b/gnosis-algorithm.el
@@ -46,7 +46,10 @@ Second item: Second interval."
First item : Increase factor
Second item: Decrease factor
-Third item : Starting ef"
+Third item : Starting ef
+
+WARNING! Starting ef should not be above 2.5, it's recommended to keep
+it below 2.0"
:group 'gnosis
:type 'list)
@@ -109,20 +112,24 @@ Returns a tuple: (INTERVAL N EF) where,
;; Calculate the next easiness factor.
(let* ((next-ef (gnosis-algorithm-e-factor ef success))
;; Calculate the next interval.
+ ;; ef should not be > 3.0 unless the card is imported/edited,
+ ;; thus ignore initial intervals
(interval
(cond
;; First successful review -> first interval
((and (= successful-reviews 0)
- (= success 1))
+ (= success 1)
+ (< ef 3.0))
(car gnosis-algorithm-interval))
;; Second successful review -> second interval
((and (= successful-reviews 1)
- (= success 1))
+ (= success 1)
+ (< ef 3.0))
(cadr gnosis-algorithm-interval))
;; TESTING
- ((and (= last-interval 0)
- (= success 1))
- (* ef 1))
+ ;; ((and (= last-interval 0)
+ ;; (= success 1))
+ ;; (* ef 1))
(t (if (= success 1)
(* ef last-interval)
(* ff last-interval))))))