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}