Skip to main content

coreness_with_mode

Function coreness_with_mode 

Source
pub fn coreness_with_mode(
    graph: &Graph,
    mode: CorenessMode,
) -> IgraphResult<Vec<u32>>
Expand description

Coreness with explicit CorenessMode (ALGO-PR-015b).

Counterpart of igraph_coreness(_, _, mode). On undirected graphs every mode reduces to CorenessMode::All. Self-loops contribute 2 to total degree (All) or 1 to each of in/out (In/Out).

§Examples

use rust_igraph::{Graph, coreness_with_mode, CorenessMode};

// Directed 3-cycle 0→1→2→0: each vertex has out-degree 1 (and
// in-degree 1). Out-cores → all 1; in-cores → all 1. As undirected
// (every vertex degree 2 in a graph with min degree 2) → all 2.
let mut g = Graph::new(3, true).unwrap();
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
g.add_edge(2, 0).unwrap();
assert_eq!(coreness_with_mode(&g, CorenessMode::Out).unwrap(), vec![1, 1, 1]);
assert_eq!(coreness_with_mode(&g, CorenessMode::In).unwrap(),  vec![1, 1, 1]);
assert_eq!(coreness_with_mode(&g, CorenessMode::All).unwrap(), vec![2, 2, 2]);