Skip to main content

basic/
basic.rs

1use goatd::Graph;
2use goatd::elimination::{Order, decompose};
3
4fn main() {
5    let graph = Graph::new(
6        8,
7        [
8            (0, 1),
9            (1, 2),
10            (3, 4),
11            (4, 5),
12            (0, 3),
13            (1, 4),
14            (2, 5),
15            (1, 3),
16            (2, 4),
17            (4, 6),
18            (5, 6),
19            (5, 7),
20            (6, 7),
21        ],
22    );
23    let td = decompose(&graph, Order::MinFill, 0, None).expect("valid order");
24
25    td.validate(&graph).expect("a valid decomposition");
26    print!("{}", td.to_td());
27}