From 9aab6b1c7e05de9bbf25c19f697660d62b2ef70a Mon Sep 17 00:00:00 2001 From: Daniel Russel Date: Mon, 13 Feb 2006 06:30:24 +0000 Subject: [PATCH] added limits on iterations in Turkoski --- .../src/Turkowski_numeric_solver.C | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Packages/Kinetic_data_structures/src/Turkowski_numeric_solver.C b/Packages/Kinetic_data_structures/src/Turkowski_numeric_solver.C index b1599f9c0a1..2e977b671bf 100644 --- a/Packages/Kinetic_data_structures/src/Turkowski_numeric_solver.C +++ b/Packages/Kinetic_data_structures/src/Turkowski_numeric_solver.C @@ -141,6 +141,8 @@ FindPolynomialRoots( long fig /* The number of decimal figures to be computed */ ) { + int number_of_ITERATE=0; + int number_of_INIT=0; CGAL_precondition(static_cast(fig) < MAXN); int i; register int j; @@ -171,6 +173,12 @@ FindPolynomialRoots( } INIT: + ++number_of_INIT; + if (number_of_INIT > 1000) { + std::cerr << "Too many INITs" << std::flush; + return; + } + if (n == 0) return; @@ -218,6 +226,11 @@ FindPolynomialRoots( r = 0.0; } ITERATE: + ++number_of_ITERATE; + if (number_of_ITERATE > 1000) { + std::cerr << "Too many ITERATEs" << std::flush; + return; + } for (i = maxiter; i > 0; i--) { for (j = 0; j <= n; j++) { /* BAIRSTOW */