From 5f0c44127f6613b4f89a0e655c8a8586bfb751cb Mon Sep 17 00:00:00 2001 From: ladezai <83292183+ladezai@users.noreply.github.com> Date: Wed, 10 Dec 2025 15:33:34 +0100 Subject: [PATCH] Simplify polynomial evaluation function --- src/function/evaluate.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/function/evaluate.rs b/src/function/evaluate.rs index 1c5b6bdd..5fe6e0a9 100644 --- a/src/function/evaluate.rs +++ b/src/function/evaluate.rs @@ -11,16 +11,10 @@ /// /// Returns 0 for a 0 length coefficient slice pub fn polynomial(z: f64, coeff: &[f64]) -> f64 { - let n = coeff.len(); - if n == 0 { - return 0.0; - } - - let mut sum = *coeff.last().unwrap(); - for c in coeff[0..n - 1].iter().rev() { - sum = *c + z * sum; - } - sum + coeff + .into_iter() + .rev() + .fold(0_f64, |acc, val| acc * z + val) } #[rustfmt::skip]