pub fn is_eulerian(graph: &Graph) -> IgraphResult<EulerianClassification>Expand description
Decide whether graph has an Eulerian path and/or cycle.
Counterpart of igraph_is_eulerian() from
references/igraph/src/paths/eulerian.c:333.
§Examples
use rust_igraph::{Graph, is_eulerian};
// Triangle (3-cycle): every vertex has even degree → both path & cycle.
let mut g = Graph::with_vertices(3);
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
g.add_edge(2, 0).unwrap();
let r = is_eulerian(&g).unwrap();
assert!(r.has_path && r.has_cycle);
// Path 0-1-2: vertices 0, 2 have odd degree → path only, no cycle.
let mut g = Graph::with_vertices(3);
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
let r = is_eulerian(&g).unwrap();
assert!(r.has_path && !r.has_cycle);