diff --git a/rslib/src/scheduler/states/learning.rs b/rslib/src/scheduler/states/learning.rs index 57b610afc0..83a2f7b321 100644 --- a/rslib/src/scheduler/states/learning.rs +++ b/rslib/src/scheduler/states/learning.rs @@ -49,10 +49,7 @@ impl LearnState { } else { let (minimum, maximum) = ctx.min_and_max_review_intervals(1); let (interval, short_term) = if let Some(states) = &ctx.fsrs_next_states { - ( - states.again.interval, - ctx.steps.is_empty() && states.again.interval < 0.5, - ) + (states.again.interval, states.again.interval < 0.5) } else { (ctx.graduating_interval_good as f32, false) }; @@ -94,10 +91,7 @@ impl LearnState { } else { let (minimum, maximum) = ctx.min_and_max_review_intervals(1); let (interval, short_term) = if let Some(states) = &ctx.fsrs_next_states { - ( - states.hard.interval, - ctx.steps.is_empty() && states.hard.interval < 0.5, - ) + (states.hard.interval, states.hard.interval < 0.5) } else { (ctx.graduating_interval_good as f32, false) }; @@ -139,10 +133,7 @@ impl LearnState { } else { let (minimum, maximum) = ctx.min_and_max_review_intervals(1); let (interval, short_term) = if let Some(states) = &ctx.fsrs_next_states { - ( - states.good.interval, - ctx.steps.is_empty() && states.good.interval < 0.5, - ) + (states.good.interval, states.good.interval < 0.5) } else { (ctx.graduating_interval_good as f32, false) }; diff --git a/rslib/src/scheduler/states/relearning.rs b/rslib/src/scheduler/states/relearning.rs index 0659d18e27..79c021b105 100644 --- a/rslib/src/scheduler/states/relearning.rs +++ b/rslib/src/scheduler/states/relearning.rs @@ -68,10 +68,10 @@ impl RelearnState { }, review: again_review, }; - if ctx.relearn_steps.is_empty() && interval < 0.5 { - again_relearn.into() - } else { + if interval > 0.5 { again_review.into() + } else { + again_relearn.into() } } else { self.review.into() @@ -112,10 +112,10 @@ impl RelearnState { }, review: hard_review, }; - if ctx.relearn_steps.is_empty() && interval < 0.5 { - hard_relearn.into() - } else { + if interval > 0.5 { hard_review.into() + } else { + hard_relearn.into() } } else { self.review.into() @@ -162,10 +162,10 @@ impl RelearnState { }, review: good_review, }; - if ctx.relearn_steps.is_empty() && interval < 0.5 { - good_relearn.into() - } else { + if interval > 0.5 { good_review.into() + } else { + good_relearn.into() } } else { self.review.into() diff --git a/rslib/src/scheduler/states/review.rs b/rslib/src/scheduler/states/review.rs index 7f7a215f14..9382d92648 100644 --- a/rslib/src/scheduler/states/review.rs +++ b/rslib/src/scheduler/states/review.rs @@ -124,7 +124,7 @@ impl ReviewState { review: again_review, } .into() - } else if ctx.relearn_steps.is_empty() && scheduled_days < 0.5 { + } else if scheduled_days < 0.5 { again_relearn.into() } else { again_review.into()