From 3305227ffe7171093c394f1da65b6e405aec5a75 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Fri, 5 Dec 2025 20:17:09 -0500 Subject: [PATCH] refactor: simplify Newton's method helper by extracting data source selection --- src/function_entry.rs | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/src/function_entry.rs b/src/function_entry.rs index e44921c..955c4c2 100644 --- a/src/function_entry.rs +++ b/src/function_entry.rs @@ -252,28 +252,23 @@ impl FunctionEntry { ) -> Vec { self.function.generate_derivative(derivative_level); self.function.generate_derivative(derivative_level + 1); - let newtons_method_output: Vec = match derivative_level { - 0 => newtons_method_helper( - threshold, - range, - self.back_data.as_slice(), - self.function.get_function_derivative(0), - self.function.get_function_derivative(1), - ), - 1 => newtons_method_helper( - threshold, - range, - self.derivative_data.as_slice(), - self.function.get_function_derivative(1), - self.function.get_function_derivative(2), - ), + + let data_source = match derivative_level { + 0 => self.back_data.as_slice(), + 1 => self.derivative_data.as_slice(), _ => unreachable!(), }; - newtons_method_output - .into_iter() - .map(|x| PlotPoint::new(x, self.function.get(0, x))) - .collect() + newtons_method_helper( + threshold, + range, + data_source, + self.function.get_function_derivative(derivative_level), + self.function.get_function_derivative(derivative_level + 1), + ) + .into_iter() + .map(|x| PlotPoint::new(x, self.function.get(0, x))) + .collect() } /// Generates plot data for a given derivative level over the resolution iterator