split memorised and cost

This commit is contained in:
Luc Mcgrady 2025-07-13 10:05:26 +01:00
parent dc8a687b33
commit caadd9336d
No known key found for this signature in database
GPG key ID: 4F3D7A0B17CC3D9C
2 changed files with 10 additions and 4 deletions

View file

@ -417,7 +417,8 @@ message SimulateFsrsReviewResponse {
}
message SimulateFsrsWorkloadResponse {
map<uint32, float> dr_workload = 1;
map<uint32, float> cost = 1;
map<uint32, float> memorized = 2;
}
message ComputeOptimalRetentionResponse {

View file

@ -286,12 +286,17 @@ impl Collection {
)?;
Ok((
dr,
result.memorized_cnt_per_day.last().unwrap_or(&0.)
/ result.cost_per_day.iter().sum::<f32>(),
(
*result.memorized_cnt_per_day.last().unwrap_or(&0.),
result.cost_per_day.iter().sum::<f32>(),
),
))
})
.collect::<Result<HashMap<_, _>>>()?;
Ok(SimulateFsrsWorkloadResponse { dr_workload })
Ok(SimulateFsrsWorkloadResponse {
memorized: dr_workload.iter().map(|(k, v)| (*k, v.0)).collect(),
cost: dr_workload.iter().map(|(k, v)| (*k, v.1)).collect(),
})
}
}