pub mod adjacency;
pub mod amd;
pub mod cuthill_mckee;
pub mod graph_coloring;
pub mod nested_dissection;
pub use adjacency::{apply_permutation, apply_permutation_csr_array, AdjacencyGraph};
pub use cuthill_mckee::{
bandwidth, cuthill_mckee, cuthill_mckee_full, profile, reverse_cuthill_mckee,
reverse_cuthill_mckee_full, CuthillMcKeeResult,
};
pub use amd::{amd, amd_simple, AmdResult};
pub use nested_dissection::{
nested_dissection, nested_dissection_full, nested_dissection_with_config,
NestedDissectionConfig, NestedDissectionResult,
};
pub use graph_coloring::{
distance2_color, dsatur_color, greedy_color, verify_coloring, verify_distance2_coloring,
ColoringResult, GreedyOrdering,
};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_reorder_smoke() {
let adj = vec![vec![1], vec![0]];
let graph = AdjacencyGraph::from_adjacency_list(adj);
let perm = cuthill_mckee(&graph).expect("CM");
assert_eq!(perm.len(), 2);
}
}