]> git.g-eek.se Git - ranknauto.git/commitdiff
Src. Refactor. Add debug printing of conf
authorGustav Eek <gustav.eek@fripost.org>
Sun, 5 Mar 2023 18:08:13 +0000 (19:08 +0100)
committerGustav Eek <gustav.eek@fripost.org>
Mon, 6 Mar 2023 05:51:33 +0000 (06:51 +0100)
Also make vertical whitespace around functions consistent. Also remove
duplicate comments.

src/main.rs

index 5c0fe6b051b9cbf5f6b11d4a7c4b70a4102b445c..2b51fed66e2df089dc48a3ca22b27962ffa2dcd3 100644 (file)
@@ -16,6 +16,7 @@ use regex::Regex;
 const DEBUG: bool = false;
 
 fn winnow(mut list: Vec<String>) -> (Conf, Vec<String> ) {
+
     list.retain(|x| x != ""); // only keep nonempty
 
     // Search patterns
@@ -29,6 +30,10 @@ fn winnow(mut list: Vec<String>) -> (Conf, Vec<String> ) {
         },
     };
 
+    if DEBUG {
+        eprintln!("Conf: {:?}", conf);
+    }
+
     // Remove patterns and trim
     for l in &mut *list {
         *l = bullet.replace_all(&l, "").to_string();
@@ -40,6 +45,7 @@ fn winnow(mut list: Vec<String>) -> (Conf, Vec<String> ) {
 }
 
 fn input() -> (Conf, Vec<String>) {
+
     let stdin = io::stdin();
     let list: Vec<String> =
         stdin.lock().lines()
@@ -59,6 +65,7 @@ fn output(conf: &Conf, prio: &Vec<f64>, ranked: &Vec<String>) {
 }
 
 fn normalize(mut arg: Vec<f64>) -> Vec<f64> {
+
     let mut sum = 0.0;
     for v in &arg {
         sum += v;
@@ -69,8 +76,8 @@ fn normalize(mut arg: Vec<f64>) -> Vec<f64> {
     arg
 }
 
-
 fn delta(n: i32) -> Vec<f64> {
+
     const NAME: &str = "Delta";
     const MEAN: f64 = 1.0; // unessential thanks to normalization
     let mut prio: Vec<f64> = Vec::new();
@@ -87,6 +94,7 @@ fn delta(n: i32) -> Vec<f64> {
 }
 
 fn exp(n: i32) -> Vec<f64> {
+
     const NAME: &str = "Exp";
     const RATE: f64 = 1.0; // rate is unessential thanks to normalization
     let dist = Exp::new(RATE).unwrap();
@@ -105,8 +113,8 @@ fn exp(n: i32) -> Vec<f64> {
     normalize(prio)
 }
 
-
 fn lognormal(n: i32, std: f64) -> Vec<f64> {
+
     const NAME: &str = "Lognormal";
     const MEAN: f64 = 0.0; // mean is unessential thanks to
                            // normalization, and std of N
@@ -126,6 +134,8 @@ fn lognormal(n: i32, std: f64) -> Vec<f64> {
     normalize(prio)
 }
 
+#[derive(Debug)]
+
 struct Conf {
     bullet: String,
 }
@@ -147,6 +157,7 @@ struct Args {
 }
 
 fn main() {
+
     let args = Args::parse();
 
     // let mut skew = 1.0;
@@ -186,7 +197,6 @@ fn main() {
     }
 
     output(&conf, &prio, &ranked);
-
 }
 
 #[test]
@@ -218,7 +228,6 @@ fn whitespace() {
         .split("\n").map(|x| x.to_owned()).collect();
     let (_, res) = winnow(arg);
     assert_eq!(exp, res);
-
 }
 
 #[test]
@@ -226,13 +235,13 @@ fn whitespace() {
 fn bullets() {
 
     let arg: Vec<String> =
-        "\n * Hej du\t\n  - glade\n-\tta en\n\n" // Convert &str to String
-        .split("\n").map(|x| x.to_owned()) // with `.to_owned()` or
-        .collect();                        // `.to_string()`
+        "\n * Hej du\t\n  - glade\n-\tta en\n\n"
+        .split("\n").map(|x| x.to_owned())
+        .collect();
     let exp: Vec<String> =
         "Hej du\nglade\nta en"
         .split("\n").map(|x| x.to_owned()).collect();
-    let (conf, res ) = winnow(arg);
+    let (conf, res) = winnow(arg);
     assert_eq!(exp, res);
     assert_eq!(conf.bullet, " * ".to_owned());
 
@@ -241,6 +250,7 @@ fn bullets() {
 #[test]
 
 fn prioinput() {
+
     let arg: Vec<String> =
         " - 70 %      Hej du\n -   30 %\tglade\nta en\n"
         .split("\n").map(|x| x.to_owned())
@@ -256,6 +266,7 @@ fn prioinput() {
 
 fn bullout() {
     let conf = Conf {bullet: " * ".to_owned()};
+
     let prio = vec![0.6, 0.3, 0.1];
     let ranked: Vec<String> =
         "Hej du\nglade\nta en"