From f7f174822cebf5958fc5e6b2a80ba53d0e55a680 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 10 Nov 2010 01:41:57 -0500 Subject: Standard compliance. Apparently ssize_t isn't a standard type... --- libdimension/polynomial.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libdimension/polynomial.c') diff --git a/libdimension/polynomial.c b/libdimension/polynomial.c index f042ef2..20c3423 100644 --- a/libdimension/polynomial.c +++ b/libdimension/polynomial.c @@ -25,7 +25,7 @@ static inline size_t dmnsn_real_degree(const double poly[], size_t degree) { - for (ssize_t i = degree; i >= 0; --i) { + for (size_t i = degree + 1; i-- > 0;) { if (fabs(poly[i]) >= dmnsn_epsilon) { return i; } @@ -135,7 +135,7 @@ dmnsn_uspensky_bounds(const double poly[], size_t degree, double bounds[][2], /* First divide poly[] by (x - 1) to test for a root at x = 1 */ double pdiv1[degree], rem = poly[degree]; - for (ssize_t i = degree - 1; i >= 0; --i) { + for (size_t i = degree; i-- > 0;) { pdiv1[i] = rem; rem += poly[i]; } @@ -223,7 +223,7 @@ dmnsn_improve_root(const double poly[], size_t degree, double x) /* Calculate the value of the polynomial and its derivative at once */ p = poly[degree]; double dp = 0.0; - for (ssize_t i = degree - 1; i >= 0; --i) { + for (size_t i = degree; i-- > 0;) { dp = dp*x + p; p = p*x + poly[i]; } @@ -299,7 +299,7 @@ dmnsn_eliminate_root(double poly[], size_t *degree, double r) { size_t deg = *degree; double rem = poly[deg]; - for (ssize_t i = deg - 1; i >= 0; --i) { + for (size_t i = deg; i-- > 0;) { double temp = poly[i]; poly[i] = rem; rem = temp + r*rem; @@ -389,7 +389,7 @@ dmnsn_solve_polynomial(const double poly[], size_t degree, double x[]) void dmnsn_print_polynomial(FILE *file, const double poly[], size_t degree) { - for (ssize_t i = degree; i >= 0; --i) { + for (size_t i = degree + 1; i-- > 0;) { if (i < degree) { fprintf(file, (poly[i] >= 0.0) ? " + " : " - "); } -- cgit v1.2.3