#![no_std]
#[cfg(kani)]
extern crate kani;
#[cfg(feature = "alloc")]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
pub mod bfs;
pub mod pagerank;
#[cfg(feature = "alloc")]
pub mod components;
#[cfg(feature = "alloc")]
pub mod longest_path_dag;
#[cfg(feature = "alloc")]
pub mod scc;
#[cfg(feature = "alloc")]
pub mod sssp;
#[cfg(feature = "alloc")]
pub mod toposort;
pub use bfs::{
BfsBounds, BfsEpochScratch, BfsError, BfsVisitor, BreadthFirstSearchEpochScratch,
BreadthFirstSearchScratch, ReverseBreadthFirstSearchEpochScratch,
ReverseBreadthFirstSearchScratch, breadth_first_search_bounded,
breadth_first_search_bounded_both, breadth_first_search_with_epoch_scratch,
breadth_first_search_with_scratch, reverse_breadth_first_search_bounded,
reverse_breadth_first_search_with_epoch_scratch, reverse_breadth_first_search_with_scratch,
};
#[cfg(feature = "alloc")]
pub use bfs::{
BfsWorkspace, BreadthFirstSearch, BreadthFirstSearchWorkspace, GenericBreadthFirstSearch,
GenericReverseBreadthFirstSearch, ReverseBreadthFirstSearch,
ReverseBreadthFirstSearchWorkspace, breadth_first_search, breadth_first_search_generic,
breadth_first_search_with_workspace, reverse_breadth_first_search,
reverse_breadth_first_search_generic, reverse_breadth_first_search_with_workspace,
};
#[cfg(feature = "std")]
pub use bfs::{
HashBreadthFirstSearch, HashReverseBreadthFirstSearch, breadth_first_search_generic_hash,
reverse_breadth_first_search_generic_hash,
};
#[cfg(feature = "alloc")]
pub use components::connected_components;
#[cfg(feature = "alloc")]
pub use longest_path_dag::{LongestPathError, longest_path_dag};
pub use pagerank::{
HyperWeighted, HypergraphOutgoingDistribution, HypergraphPageRankScratch, IntoPageRankScalar,
OutgoingDistribution, PageRankConfig, PageRankError, PageRankReport, PageRankScalar,
PageRankScratch, Uniform, Weighted, pagerank_graph_with_scratch,
pagerank_hypergraph_with_scratch,
};
#[cfg(feature = "alloc")]
pub use pagerank::{
HypergraphPageRankWorkspace, PageRankWorkspace, pagerank_graph, pagerank_graph_with_workspace,
pagerank_hypergraph, pagerank_hypergraph_with_workspace,
};
#[cfg(feature = "alloc")]
pub use scc::strongly_connected_components;
#[cfg(feature = "alloc")]
pub use sssp::shortest_path_lengths;
#[cfg(feature = "alloc")]
pub use toposort::{ToposortError, topological_sort};