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 { message SimulateFsrsWorkloadResponse {
map<uint32, float> dr_workload = 1; map<uint32, float> cost = 1;
map<uint32, float> memorized = 2;
} }
message ComputeOptimalRetentionResponse { message ComputeOptimalRetentionResponse {

View file

@ -286,12 +286,17 @@ impl Collection {
)?; )?;
Ok(( Ok((
dr, 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<_, _>>>()?; .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(),
})
} }
} }