From 6c1d7a6703110c7b938c2e5a48392f9b856225af Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 5 Oct 2023 09:55:05 +1000 Subject: [PATCH] Use 0 when there are no relearning steps; ensure not NaN --- rslib/src/scheduler/fsrs/retention.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/rslib/src/scheduler/fsrs/retention.rs b/rslib/src/scheduler/fsrs/retention.rs index b4b642654..359821a52 100644 --- a/rslib/src/scheduler/fsrs/retention.rs +++ b/rslib/src/scheduler/fsrs/retention.rs @@ -174,13 +174,12 @@ impl Collection { } let mut arr = [0.0; 5]; for (review_kind, group) in group_sec_by_review_kind.iter().enumerate() { - 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 + let average_secs = group.iter().sum::() as f64 / group.len() as f64 / 1000.0; + arr[review_kind] = if average_secs.is_nan() { + 0.0 + } else { + average_secs + } } arr };