From 07e0ce40c4fe2a71c630dbab9b092c9af6d88061 Mon Sep 17 00:00:00 2001 From: Arne Keller Date: Thu, 9 Nov 2023 11:36:14 +0100 Subject: [PATCH] Fix display issue with >= 5 variables Previously, the initial window would be too small. Resolves #2 --- src/bin/svg.rs | 7 ++++--- src/ui/svg.rs | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/bin/svg.rs b/src/bin/svg.rs index 5a4d3f0..dbacb67 100644 --- a/src/bin/svg.rs +++ b/src/bin/svg.rs @@ -7,10 +7,11 @@ const SIZE_FACTOR: usize = 64; fn main() { let args = args().collect::>(); - let vars = [A, B, C, D]; + let vars = [A, B, C, D, E]; //let function = vec![0, 0, 1, 1, 1, 1, 1, 0].into_iter().map(Into::into).collect(); //let function = vec![0, 0, 1, 1, 1, 1, 1, 2].into_iter().map(Into::into).collect(); - let function = parse_function("-1111000-1-01---"); + //let function = parse_function("-1111000-1-01---"); + let function = parse_function("11101111111111111111101111111101"); let groups = find_groups(&function, &vars, One); eprintln!("all:"); for x in &groups { @@ -45,5 +46,5 @@ fn main() { .collect() }; - println!("{}", svg::get_svg(SIZE_FACTOR, false, &function, &vars, &block_masks)); + println!("{}", svg::get_svg(SIZE_FACTOR, true, &function, &vars, &block_masks)); } diff --git a/src/ui/svg.rs b/src/ui/svg.rs index 2db13f4..c5c31d1 100644 --- a/src/ui/svg.rs +++ b/src/ui/svg.rs @@ -74,7 +74,8 @@ pub fn get_svg(size_factor: usize, print_labels: bool, if print_labels { for i in 0..vars.len() { let offset = (i / 4) as f32 * size2 + size16; - let initial_window = 2usize.pow(((i + 2) / 4) as u32); + let initial_window = 2usize.pow((i / 2) as u32); + //eprintln!("i = {i}, offset = {offset}, initial_window = {initial_window}"); let mut start = vec![false; initial_window]; start.extend(vec![true; initial_window]); let desired_len = if i % 2 == 0 { w } else { h };