pub(crate) mod feasible_tree;
pub(crate) mod network_simplex;
pub(crate) mod util;
use crate::graph::Graph;
use crate::layout::types::{EdgeLabel, NodeLabel, Ranker};
pub(crate) fn rank(g: &mut Graph<NodeLabel, EdgeLabel>, ranker: Ranker) {
match ranker {
Ranker::NetworkSimplex => network_simplex_ranker(g),
Ranker::TightTree => tight_tree_ranker(g),
Ranker::LongestPath => longest_path_ranker(g),
}
}
fn longest_path_ranker(g: &mut Graph<NodeLabel, EdgeLabel>) {
util::longest_path(g);
}
fn tight_tree_ranker(g: &mut Graph<NodeLabel, EdgeLabel>) {
util::longest_path(g);
feasible_tree::feasible_tree(g);
}
fn network_simplex_ranker(g: &mut Graph<NodeLabel, EdgeLabel>) {
network_simplex::network_simplex(g);
}