Skip to main content

is_mutual

Function is_mutual 

Source
pub fn is_mutual(graph: &Graph, loops: bool) -> IgraphResult<Vec<bool>>
Expand description

Check whether each edge in a directed graph is mutual (reciprocated).

An edge (A, B) is mutual if the reverse edge (B, A) also exists. Self-loops are considered mutual if loops is true.

For undirected graphs, all edges are considered mutual.

Returns a boolean vector with one entry per edge.

ยงExamples

use rust_igraph::{Graph, is_mutual};

let mut g = Graph::new(3, true).unwrap();
g.add_edge(0, 1).unwrap(); // edge 0
g.add_edge(1, 0).unwrap(); // edge 1
g.add_edge(1, 2).unwrap(); // edge 2
let mutual = is_mutual(&g, true).unwrap();
assert_eq!(mutual, vec![true, true, false]);