From 3636c7c90e99176b8e965de9eacee65a52fc1015 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 3 Oct 2023 13:50:02 +1000 Subject: [PATCH] When the user has no relearning steps, synthesize the value --- rslib/src/scheduler/fsrs/retention.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rslib/src/scheduler/fsrs/retention.rs b/rslib/src/scheduler/fsrs/retention.rs index 4d9fbb3c2..b4b642654 100644 --- a/rslib/src/scheduler/fsrs/retention.rs +++ b/rslib/src/scheduler/fsrs/retention.rs @@ -174,10 +174,12 @@ impl Collection { } let mut arr = [0.0; 5]; for (review_kind, group) in group_sec_by_review_kind.iter().enumerate() { - if group.is_empty() && review_kind == RevlogReviewKind::Relearning as usize { - return Err(AnkiError::FsrsInsufficientData); - } - let average_secs = group.iter().sum::() as f64 / group.len() as f64 / 1000.0; + let average_secs = + if group.is_empty() && review_kind == RevlogReviewKind::Relearning as usize { + 30.0 + } else { + group.iter().sum::() as f64 / group.len() as f64 / 1000.0 + }; arr[review_kind] = average_secs } arr