(effect: &BTreeMap<String, f64>)
| 285 | } |
| 286 | |
| 287 | fn normalize_string_map(effect: &BTreeMap<String, f64>) -> BTreeMap<String, f64> { |
| 288 | let sum: f64 = effect.values().sum(); |
| 289 | if sum == 0.0 { |
| 290 | return effect.keys().map(|k| (k.clone(), 0.0)).collect(); |
| 291 | } |
| 292 | effect.iter().map(|(k, v)| (k.clone(), *v / sum)).collect() |
| 293 | } |
| 294 | |
| 295 | fn quantile_sorted(sorted: &[f64], q: f64) -> f64 { |
| 296 | if sorted.len() == 1 { |