You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by lu...@apache.org on 2009/08/01 14:15:20 UTC
svn commit: r799849 -
/commons/proper/math/trunk/src/test/org/apache/commons/math/ode/TestProblem3.java
Author: luc
Date: Sat Aug 1 12:15:19 2009
New Revision: 799849
URL: http://svn.apache.org/viewvc?rev=799849&view=rev
Log:
added a protection against infinite loops that occur with some JVM (Sun before 1.4, JRockit, ...)
Modified:
commons/proper/math/trunk/src/test/org/apache/commons/math/ode/TestProblem3.java
Modified: commons/proper/math/trunk/src/test/org/apache/commons/math/ode/TestProblem3.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/org/apache/commons/math/ode/TestProblem3.java?rev=799849&r1=799848&r2=799849&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/org/apache/commons/math/ode/TestProblem3.java (original)
+++ commons/proper/math/trunk/src/test/org/apache/commons/math/ode/TestProblem3.java Sat Aug 1 12:15:19 2009
@@ -104,8 +104,8 @@
// solve Kepler's equation
double E = t;
double d = 0;
- double corr = 0;
- do {
+ double corr = 999.0;
+ for (int i = 0; (i < 50) && (Math.abs(corr) > 1.0e-12); ++i) {
double f2 = e * Math.sin(E);
double f0 = d - f2;
double f1 = 1 - e * Math.cos(E);
@@ -113,7 +113,7 @@
corr = f0 * f12 / (f1 * f12 - f0 * f2);
d -= corr;
E = t + d;
- } while (Math.abs(corr) > 1.0e-12);
+ };
double cosE = Math.cos(E);
double sinE = Math.sin(E);