diff --git a/src/main.rs b/src/main.rs index c9921ab..51c2775 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,21 @@ use rug::Float; mod nodes; +fn main() { + let input = match env::args().skip(1).reduce(|x, a| a + &x) { + Some(s) => s, + None => { + let mut buf = String::new(); + io::stdin().read_to_string(&mut buf).unwrap(); + buf + } + }; + + let result = parse_and_calc(&input); + + println!("{result:.0$}", get_significant_digits(&result)); +} + pub fn parse_and_calc(s: &str) -> Float { nodes::Nodes::from_str(s).unwrap().evaluate() } @@ -47,18 +62,3 @@ pub fn get_significant_digits(n: &Float) -> usize { significant_digits } - -fn main() { - let input = match env::args().skip(1).reduce(|x, a| a + &x) { - Some(s) => s, - None => { - let mut buf = String::new(); - io::stdin().read_to_string(&mut buf).unwrap(); - buf - } - }; - - let result = parse_and_calc(&input); - - println!("{result:.0$}", get_significant_digits(&result)); -}