From d9b039984385ca00ef21fb4159e291d70b8e9069 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 27 Oct 2010 14:44:45 -0400 Subject: Add polynomial test. --- libdimension/polynomial.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libdimension/polynomial.c') diff --git a/libdimension/polynomial.c b/libdimension/polynomial.c index f361d38..32dd922 100644 --- a/libdimension/polynomial.c +++ b/libdimension/polynomial.c @@ -80,7 +80,7 @@ dmnsn_real_degree(double poly[], size_t degree) static inline double dmnsn_improve_root(double poly[], size_t degree, double x) { - double error; + double dx; do { /* Calculate the value of the polynomial and its derivative at once */ double p = poly[degree], dp = 0.0; @@ -89,10 +89,9 @@ dmnsn_improve_root(double poly[], size_t degree, double x) p = p*x + poly[i]; } - double dx = p/dp; - error = fabs(dx/x); + dx = p/dp; x -= dx; - } while (error > dmnsn_epsilon); + } while (fabs(dx) > dmnsn_epsilon); return x; } -- cgit v1.2.3