Skip to main content

rust_igraph/algorithms/paths/
mod.rs

1//! Path-related algorithms. Phase 1 entries: ALGO-SP-006 (unweighted
2//! single-source distances), ALGO-CC-040 (Eulerian path / cycle existence),
3//! ALGO-CC-041 (Eulerian path/cycle construction, undirected), ALGO-SP-020
4//! (eccentricity / radius / diameter).
5
6// `pub(crate)` so the inner module names (`distances`, `eulerian`)
7// don't double-list with the function re-exports in rustdoc.
8pub(crate) mod astar;
9pub(crate) mod bellman_ford;
10pub(crate) mod dijkstra;
11pub(crate) mod distances;
12pub(crate) mod eulerian;
13pub(crate) mod eulerian_construct;
14pub(crate) mod floyd_warshall;
15pub(crate) mod johnson;
16pub(crate) mod radii;
17pub(crate) mod random_walk;
18pub(crate) mod widest_path;
19
20pub use astar::a_star_path;
21pub use dijkstra::{
22    DijkstraAllPaths, DijkstraMode, DijkstraPaths, dijkstra_all_shortest_paths, dijkstra_distances,
23    dijkstra_distances_cutoff, dijkstra_distances_cutoff_with_mode, dijkstra_distances_multi,
24    dijkstra_distances_multi_with_mode, dijkstra_distances_with_mode, dijkstra_path_to,
25    dijkstra_path_to_with_mode, dijkstra_paths, dijkstra_paths_with_mode,
26};
27pub use distances::distances;
28pub use eulerian::{EulerianClassification, is_eulerian};
29pub use eulerian_construct::eulerian_path;
30pub use floyd_warshall::floyd_warshall_distances;
31pub use radii::{
32    diameter, diameter_weighted, diameter_weighted_with_mode, eccentricity, eccentricity_weighted,
33    eccentricity_weighted_with_mode, radius, radius_weighted, radius_weighted_with_mode,
34};
35pub use random_walk::random_walk;