2022-08-31 17:20:39 +00:00
|
|
|
use std::env;
|
|
|
|
|
|
|
|
|
2022-08-30 21:30:38 +00:00
|
|
|
mod flow;
|
2022-08-30 16:53:34 +00:00
|
|
|
mod io;
|
2022-08-30 21:30:38 +00:00
|
|
|
mod types;
|
2022-08-30 15:13:15 +00:00
|
|
|
|
2022-08-31 17:20:39 +00:00
|
|
|
use types::Address;
|
|
|
|
|
2022-08-30 15:13:15 +00:00
|
|
|
fn main() {
|
2022-08-31 17:20:39 +00:00
|
|
|
let args: Vec<String> = env::args().collect();
|
|
|
|
if args.len() != 4 {
|
|
|
|
panic!("Expected three arguments");
|
|
|
|
}
|
|
|
|
let (from_str, to_str, edges_file) = (&args[1], &args[2], &args[3]);
|
|
|
|
|
|
|
|
println!("Computing flow {from_str} -> {to_str} using {edges_file}");
|
|
|
|
let edges = io::read_edges_binary(edges_file).expect("Error loading edges.");
|
2022-08-30 16:53:34 +00:00
|
|
|
print!("Read {} edges", edges.len());
|
2022-08-31 17:20:39 +00:00
|
|
|
flow::compute_flow(&Address::from(from_str.as_str()), &Address::from(to_str.as_str()), &edges);
|
2022-08-30 15:13:15 +00:00
|
|
|
}
|