icentral_graph/
mcb_find.rs

1crate::ix!();
2
3impl<GH> McbFind for Graph<GH> {
4
5    /// will store into self.mcb
6    ///
7    fn mcb_find(&self) {
8        todo!();
9            /*
10        #ifndef NO_LEDA
11            leda::graph G;
12            fill_leda_graph(graph, &G);
13
14            leda::edge_array<int> len(G, 1);
15            mcb::edge_num enumb(G);
16            leda::array< mcb::spvecgf2 > mcb;
17            int weight = mcb::UMCB_SVA(G, len, mcb, enumb);
18
19            //cout << "Number of nodes: " << G.number_of_nodes() << endl;
20            //cout << "Number of edges: " << G.number_of_edges() << endl;
21            //G.print(cout);
22
23            int i, j;
24            leda::edge e;
25            for (i = 0; i < enumb.dim_cycle_space(); ++i) {
26                //printf("Cycle: {}", i);
27                cycle_t cycle;
28                forall(j, mcb[i]) { // traverse edges of i-th cycle
29                    e = enumb(j);
30                    // do something with edge e
31                    //G.print_edge(e);
32                    //cout << endl;
33                    node_id_t src = G.source(e)->id();
34                    node_id_t dst = G.target(e)->id();
35                    edge_t edge(src, dst);
36                    cycle.push_back(edge);
37                }
38                self.mcb->cycle_vec.push_back(cycle);
39            }
40        #endif
41            */
42    }
43}