Macro rs_graph::biedgevec
[−]
[src]
macro_rules! biedgevec { ( $ g : expr ; $ elem : expr ) => { ... }; ( $ g : expr , $ vec : expr ) => { ... }; }
Create a biedge vector associated with a network.
Example
Create a vector with all elements set to some value, use biedgevec![g; x]
let g = peterson::<LinkedListGraph>(); let weights = biedgevec![&g; 0]; assert!(g.edges().all(|e| weights[e] == 0 && weights[g.reverse(e)] == 0));
Convert an existing vector to a BiEdgeVec
, use biedgevec![g, v]
.
Note that the size of v
must be exactly g.num_edges() * 2
.
let g = peterson::<LinkedListGraph>(); let weights: Vec<_> = (0..g.num_edges() * 2).collect(); let weights = biedgevec![&g, weights]; assert!(g.edges().all(|e| { let f = g.reverse(e); weights[e] == g.biedge_id(e) && weights[f] == g.biedge_id(f) }));