icentral_subgraph/
muc_augment_parent.rs1crate::ix!();
2
3pub trait MucAugmentParent {
4
5 fn muc_augment_parent_no_new(&mut self,
6 parent: NodeId,
7 v_n: NodeId,
8 source: NodeId,
9 tmp_conn_vertex_map: &ConnVertexMap,
10 scores: &mut BetweennessScores);
11}
12
13impl MucAugmentParent for SubGraph {
14
15 fn muc_augment_parent_no_new(&mut self,
16 parent: NodeId,
17 v_n: NodeId,
18 source: NodeId,
19 tmp_conn_vertex_map: &ConnVertexMap,
20 scores: &mut BetweennessScores)
21 {
22 let sp_sn = self.path_count_ratio(parent,v_n);
23
24 self.update_pair_dependencies(parent,v_n);
25
26 if tmp_conn_vertex_map.has_mapping_for_node(source) {
27
28 self.update_all_sigmas(parent,v_n);
29
30 let new_parent: NodeId = self.label_map_inout(parent);
31
32 let new_val = {
33 let map_val = scores.score_for_node(new_parent);
34 let sigma_n = self.sigma_value_for_node(v_n);
35 map_val + sigma_n * sp_sn / 2.0
36 };
37
38 scores.set_score_for_node(new_parent, new_val);
39 }
40 }
41}