From 20d8b1421c5e185e24b63110b2d48f3d05cd4636 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 9 Mar 2022 13:23:22 -0500 Subject: [PATCH] fix --- src/egui_app.rs | 11 +++++++---- src/function.rs | 8 ++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/egui_app.rs b/src/egui_app.rs index 97e1611..ebfd547 100644 --- a/src/egui_app.rs +++ b/src/egui_app.rs @@ -352,10 +352,12 @@ impl MathApp { } } - ui.add( - Slider::new(&mut self.settings.integral_num, INTEGRAL_NUM_RANGE) - .text("Interval"), - ); + let integral_num_changed = ui + .add( + Slider::new(&mut self.settings.integral_num, INTEGRAL_NUM_RANGE) + .text("Interval"), + ) + .changed(); let functions_len = self.functions.len(); let mut remove_i: Option = None; @@ -407,6 +409,7 @@ impl MathApp { | derivative_toggle | max_x_changed | min_x_changed + | integral_num_changed | (proc_func_str != function.get_func_str()) | self.last_error.iter().any(|ele| ele.0 == i) { diff --git a/src/function.rs b/src/function.rs index 5dd346a..3d876e6 100644 --- a/src/function.rs +++ b/src/function.rs @@ -117,7 +117,7 @@ impl FunctionEntry { .into(); self.back_cache = Some( - (0..=self.pixel_width) + (0..self.pixel_width) .map(|x| (x as f64 / resolution as f64) + min_x) .map(|x| { if let Some(i) = x_data.get_index(x) { @@ -128,13 +128,14 @@ impl FunctionEntry { }) .collect(), ); + // assert_eq!(self.back_cache.as_ref().unwrap().len(), self.pixel_width); if self.derivative_cache.is_some() { if self.derivative { let derivative_cache = self.derivative_cache.as_ref().unwrap(); self.derivative_cache = Some( - (0..=self.pixel_width) + (0..self.pixel_width) .map(|x| (x as f64 / resolution as f64) + min_x) .map(|x| { if let Some(i) = x_data.get_index(x) { @@ -145,6 +146,7 @@ impl FunctionEntry { }) .collect(), ); + // assert_eq!(self.derivative_cache.as_ref().unwrap().len(), self.pixel_width); } else { self.derivative_cache = None; } @@ -262,6 +264,8 @@ impl FunctionEntry { }) .filter(|(_, y)| !y.is_nan()) .collect(); + // assert_eq!(data2.len(), self.integral_num); + (data2, area) }