goatd 0.1.1

Greatest Of All Tree Decompositions: tree decompositions of graphs — elimination orders, FlowCutter, multilevel bisection — with PACE .gr/.td I/O and a command-line solver.
Documentation
use goatd::Graph;
use goatd::elimination::{Order, decompose};

fn main() {
    let graph = Graph::new(
        8,
        [
            (0, 1),
            (1, 2),
            (3, 4),
            (4, 5),
            (0, 3),
            (1, 4),
            (2, 5),
            (1, 3),
            (2, 4),
            (4, 6),
            (5, 6),
            (5, 7),
            (6, 7),
        ],
    );
    let td = decompose(&graph, Order::MinFill, 0, None).expect("valid order");

    td.validate(&graph).expect("a valid decomposition");
    print!("{}", td.to_td());
}