icentral_bcc/
bcc_stat.rs

1crate::ix!();
2
3/**
4  | TODO remove
5  |
6  */
7#[derive(Default,Debug)]
8pub struct BiconnectedComponentsStat {
9
10    /**
11      | size of the bcc this edge insertion
12      |
13      */
14    pub bcc_num_nodes:                   usize,
15    pub bcc_num_edges:                   usize,
16
17    /**
18      | time it takes to do Brandes straight
19      | forward iteration
20      |
21      */
22    pub avg_iter_tm_brandes:             f64,
23
24    pub num_d0_iter:                     i32,
25    pub num_d1_iter:                     i32,
26    pub num_d2_iter:                     i32,
27    pub tot_d0_tm:                       Duration,
28    pub tot_d1_tm:                       Duration,
29    pub tot_d2_tm:                       Duration,
30    pub bcc_find_time:                   Duration,
31    pub bc_update_time:                  Duration,
32    pub single_source_shortest_paths_tm: Duration,
33    pub tot_d0_iter:                     i32,
34    pub tot_d1_iter:                     i32,
35    pub tot_d2_iter:                     i32,
36}
37
38impl BiconnectedComponentsStat {
39
40    pub fn update(
41        &mut self, 
42        cnt_arr: &Vec<i32>, 
43        tot_arr: &Vec<Duration>) 
44    {
45        self.num_d0_iter = cnt_arr[0];
46        self.num_d1_iter = cnt_arr[1];
47        self.num_d2_iter = cnt_arr[2];
48        self.tot_d0_tm   = tot_arr[0];
49        self.tot_d1_tm   = tot_arr[1];
50        self.tot_d2_tm   = tot_arr[2];
51    }
52}