Skip to main content

roundtrip_aig_buffered/
roundtrip_aig_buffered.rs

1use flussab::DeferredWriter;
2
3use flussab_aiger::{ascii, binary, ParseError};
4
5fn main() {
6    if let Err(err) = main_err() {
7        eprintln!("error: {err}");
8    }
9}
10
11fn main_err() -> Result<(), ParseError> {
12    let stdin = std::io::stdin();
13    let stdout = std::io::stdout();
14
15    let aig_reader = binary::Parser::<u32>::from_read(stdin.lock(), binary::Config::default())?;
16
17    let aig = aig_reader.parse()?;
18
19    let mut aag_writer = DeferredWriter::from_write(stdout.lock());
20    let aag_writer = ascii::Writer::<u32>::new(&mut aag_writer);
21
22    aag_writer.write_ordered_aig(&aig);
23    Ok(())
24}