Repository: commons-math Updated Branches: refs/heads/field-ode d75f5090e -> a15e4901b
Simplified ODE test harness. Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/a15e4901 Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/a15e4901 Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/a15e4901 Branch: refs/heads/field-ode Commit: a15e4901bb9605c59c188decc3e0857c1a37aa76 Parents: d75f509 Author: Luc Maisonobe <[email protected]> Authored: Sun Nov 22 17:22:36 2015 +0100 Committer: Luc Maisonobe <[email protected]> Committed: Sun Nov 22 17:22:36 2015 +0100 ---------------------------------------------------------------------- .../apache/commons/math3/ode/TestProblem1.java | 15 ------ .../apache/commons/math3/ode/TestProblem2.java | 15 ------ .../apache/commons/math3/ode/TestProblem3.java | 16 ------- .../apache/commons/math3/ode/TestProblem4.java | 16 ------- .../apache/commons/math3/ode/TestProblem5.java | 15 ++---- .../apache/commons/math3/ode/TestProblem6.java | 15 ------ .../commons/math3/ode/TestProblemAbstract.java | 27 ----------- .../commons/math3/ode/TestProblemFactory.java | 50 -------------------- .../ClassicalRungeKuttaIntegratorTest.java | 11 +++-- .../math3/ode/nonstiff/EulerIntegratorTest.java | 12 +++-- .../math3/ode/nonstiff/GillIntegratorTest.java | 11 +++-- .../ode/nonstiff/LutherIntegratorTest.java | 11 +++-- .../ode/nonstiff/MidpointIntegratorTest.java | 12 +++-- .../nonstiff/ThreeEighthesIntegratorTest.java | 11 +++-- 14 files changed, 48 insertions(+), 189 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblem1.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblem1.java b/src/test/java/org/apache/commons/math3/ode/TestProblem1.java index 06d19fd..8344904 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblem1.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblem1.java @@ -52,21 +52,6 @@ public class TestProblem1 y = new double[y0.length]; } - /** - * Copy constructor. - * @param problem problem to copy - */ - public TestProblem1(TestProblem1 problem) { - super(problem); - y = problem.y.clone(); - } - - /** {@inheritDoc} */ - @Override -public TestProblem1 copy() { - return new TestProblem1(this); - } - @Override public void doComputeDerivatives(double t, double[] y, double[] yDot) { http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblem2.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblem2.java b/src/test/java/org/apache/commons/math3/ode/TestProblem2.java index 64befe2..912c4d8 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblem2.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblem2.java @@ -53,21 +53,6 @@ public class TestProblem2 y = new double[y0.length]; } - /** - * Copy constructor. - * @param problem problem to copy - */ - public TestProblem2(TestProblem2 problem) { - super(problem); - y = problem.y.clone(); - } - - /** {@inheritDoc} */ - @Override -public TestProblem2 copy() { - return new TestProblem2(this); - } - @Override public void doComputeDerivatives(double t, double[] y, double[] yDot) { http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblem3.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblem3.java b/src/test/java/org/apache/commons/math3/ode/TestProblem3.java index c74bb66..3e714ea 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblem3.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblem3.java @@ -67,22 +67,6 @@ public class TestProblem3 this(0.1); } - /** - * Copy constructor. - * @param problem problem to copy - */ - public TestProblem3(TestProblem3 problem) { - super(problem); - e = problem.e; - y = problem.y.clone(); - } - - /** {@inheritDoc} */ - @Override -public TestProblem3 copy() { - return new TestProblem3(this); - } - @Override public void doComputeDerivatives(double t, double[] y, double[] yDot) { http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblem4.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblem4.java b/src/test/java/org/apache/commons/math3/ode/TestProblem4.java index e5c6219..14e6c45 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblem4.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblem4.java @@ -56,22 +56,6 @@ public class TestProblem4 y = new double[y0.length]; } - /** - * Copy constructor. - * @param problem problem to copy - */ - public TestProblem4(TestProblem4 problem) { - super(problem); - a = problem.a; - y = problem.y.clone(); - } - - /** {@inheritDoc} */ - @Override -public TestProblem4 copy() { - return new TestProblem4(this); - } - @Override public EventHandler[] getEventsHandlers() { return new EventHandler[] { new Bounce(), new Stop() }; http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblem5.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblem5.java b/src/test/java/org/apache/commons/math3/ode/TestProblem5.java index 4c3c44a..8bb04e0 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblem5.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblem5.java @@ -22,20 +22,13 @@ package org.apache.commons.math3.ode; * <p>This is the same as problem 1 except integration is done * backward in time</p> */ -public class TestProblem5 - extends TestProblem1 { +public class TestProblem5 extends TestProblem1 { /** * Simple constructor. */ - public TestProblem5() { - super(); - setFinalConditions(2 * t0 - t1); - } + public TestProblem5() { + setFinalConditions(2 * t0 - t1); + } - /** {@inheritDoc} */ - @Override - public TestProblem5 copy() { - return new TestProblem5(); - } } http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblem6.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblem6.java b/src/test/java/org/apache/commons/math3/ode/TestProblem6.java index 8530499..6d69158 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblem6.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblem6.java @@ -51,21 +51,6 @@ public class TestProblem6 y = new double[y0.length]; } - /** - * Copy constructor. - * @param problem problem to copy - */ - public TestProblem6(TestProblem6 problem) { - super(problem); - y = problem.y.clone(); - } - - /** {@inheritDoc} */ - @Override - public TestProblem6 copy() { - return new TestProblem6(this); - } - @Override public void doComputeDerivatives(double t, double[] y, double[] yDot) { http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblemAbstract.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblemAbstract.java b/src/test/java/org/apache/commons/math3/ode/TestProblemAbstract.java index bfb4ecb..e17eda5 100644 --- a/src/test/java/org/apache/commons/math3/ode/TestProblemAbstract.java +++ b/src/test/java/org/apache/commons/math3/ode/TestProblemAbstract.java @@ -58,33 +58,6 @@ public abstract class TestProblemAbstract } /** - * Copy constructor. - * @param problem problem to copy - */ - protected TestProblemAbstract(TestProblemAbstract problem) { - n = problem.n; - calls = problem.calls; - t0 = problem.t0; - if (problem.y0 == null) { - y0 = null; - } else { - y0 = problem.y0.clone(); - } - if (problem.errorScale == null) { - errorScale = null; - } else { - errorScale = problem.errorScale.clone(); - } - t1 = problem.t1; - } - - /** - * Copy operation. - * @return a copy of the instance - */ - public abstract TestProblemAbstract copy(); - - /** * Set the initial conditions * @param t0 initial time * @param y0 initial state vector http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/TestProblemFactory.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/TestProblemFactory.java b/src/test/java/org/apache/commons/math3/ode/TestProblemFactory.java deleted file mode 100644 index 706e140..0000000 --- a/src/test/java/org/apache/commons/math3/ode/TestProblemFactory.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.commons.math3.ode; - -/** - * This class is used in the junit tests for the ODE integrators. - */ -public class TestProblemFactory { - - /** Problems pool. */ - private static final TestProblemAbstract[] pool = { - new TestProblem1(), - new TestProblem2(), - new TestProblem3(), - new TestProblem4(), - new TestProblem5(), - new TestProblem6() - }; - - /** - * Private constructor. - * This is a utility class, so there are no instance at all. - */ - private TestProblemFactory() { - } - - /** - * Get the problems. - * @return array of problems to solve - */ - public static TestProblemAbstract[] getProblems() { - return pool; - } - -} http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java index c527680..ac31092 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegratorTest.java @@ -25,10 +25,12 @@ import org.apache.commons.math3.exception.NumberIsTooSmallException; import org.apache.commons.math3.ode.FirstOrderDifferentialEquations; import org.apache.commons.math3.ode.FirstOrderIntegrator; import org.apache.commons.math3.ode.TestProblem1; +import org.apache.commons.math3.ode.TestProblem2; import org.apache.commons.math3.ode.TestProblem3; +import org.apache.commons.math3.ode.TestProblem4; import org.apache.commons.math3.ode.TestProblem5; +import org.apache.commons.math3.ode.TestProblem6; import org.apache.commons.math3.ode.TestProblemAbstract; -import org.apache.commons.math3.ode.TestProblemFactory; import org.apache.commons.math3.ode.TestProblemHandler; import org.apache.commons.math3.ode.events.EventHandler; import org.apache.commons.math3.ode.sampling.StepHandler; @@ -133,14 +135,15 @@ public class ClassicalRungeKuttaIntegratorTest { throws DimensionMismatchException, NumberIsTooSmallException, MaxCountExceededException, NoBracketingException { - TestProblemAbstract[] problems = TestProblemFactory.getProblems(); - for (int k = 0; k < problems.length; ++k) { + for (TestProblemAbstract pb : new TestProblemAbstract[] { + new TestProblem1(), new TestProblem2(), new TestProblem3(), + new TestProblem4(), new TestProblem5(), new TestProblem6() + }) { double previousValueError = Double.NaN; double previousTimeError = Double.NaN; for (int i = 4; i < 10; ++i) { - TestProblemAbstract pb = problems[k].copy(); double step = (pb.getFinalTime() - pb.getInitialTime()) * FastMath.pow(2.0, -i); FirstOrderIntegrator integ = new ClassicalRungeKuttaIntegrator(step); http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/nonstiff/EulerIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/EulerIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/EulerIntegratorTest.java index eaef55b..54f0330 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/EulerIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/EulerIntegratorTest.java @@ -25,9 +25,12 @@ import org.apache.commons.math3.exception.NumberIsTooSmallException; import org.apache.commons.math3.ode.FirstOrderDifferentialEquations; import org.apache.commons.math3.ode.FirstOrderIntegrator; import org.apache.commons.math3.ode.TestProblem1; +import org.apache.commons.math3.ode.TestProblem2; +import org.apache.commons.math3.ode.TestProblem3; +import org.apache.commons.math3.ode.TestProblem4; import org.apache.commons.math3.ode.TestProblem5; +import org.apache.commons.math3.ode.TestProblem6; import org.apache.commons.math3.ode.TestProblemAbstract; -import org.apache.commons.math3.ode.TestProblemFactory; import org.apache.commons.math3.ode.TestProblemHandler; import org.apache.commons.math3.ode.events.EventHandler; import org.apache.commons.math3.ode.sampling.StepHandler; @@ -54,14 +57,15 @@ public class EulerIntegratorTest { throws DimensionMismatchException, NumberIsTooSmallException, MaxCountExceededException, NoBracketingException { - TestProblemAbstract[] problems = TestProblemFactory.getProblems(); - for (int k = 0; k < problems.length; ++k) { + for (TestProblemAbstract pb : new TestProblemAbstract[] { + new TestProblem1(), new TestProblem2(), new TestProblem3(), + new TestProblem4(), new TestProblem5(), new TestProblem6() + }) { double previousValueError = Double.NaN; double previousTimeError = Double.NaN; for (int i = 4; i < 8; ++i) { - TestProblemAbstract pb = problems[k].copy(); double step = (pb.getFinalTime() - pb.getInitialTime()) * FastMath.pow(2.0, -i); FirstOrderIntegrator integ = new EulerIntegrator(step); http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/nonstiff/GillIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/GillIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/GillIntegratorTest.java index e165e20..8d0fb65 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/GillIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/GillIntegratorTest.java @@ -25,10 +25,12 @@ import org.apache.commons.math3.exception.NumberIsTooSmallException; import org.apache.commons.math3.ode.FirstOrderDifferentialEquations; import org.apache.commons.math3.ode.FirstOrderIntegrator; import org.apache.commons.math3.ode.TestProblem1; +import org.apache.commons.math3.ode.TestProblem2; import org.apache.commons.math3.ode.TestProblem3; +import org.apache.commons.math3.ode.TestProblem4; import org.apache.commons.math3.ode.TestProblem5; +import org.apache.commons.math3.ode.TestProblem6; import org.apache.commons.math3.ode.TestProblemAbstract; -import org.apache.commons.math3.ode.TestProblemFactory; import org.apache.commons.math3.ode.TestProblemHandler; import org.apache.commons.math3.ode.events.EventHandler; import org.apache.commons.math3.ode.sampling.StepHandler; @@ -55,14 +57,15 @@ public class GillIntegratorTest { throws DimensionMismatchException, NumberIsTooSmallException, MaxCountExceededException, NoBracketingException { - TestProblemAbstract[] problems = TestProblemFactory.getProblems(); - for (int k = 0; k < problems.length; ++k) { + for (TestProblemAbstract pb : new TestProblemAbstract[] { + new TestProblem1(), new TestProblem2(), new TestProblem3(), + new TestProblem4(), new TestProblem5(), new TestProblem6() + }) { double previousValueError = Double.NaN; double previousTimeError = Double.NaN; for (int i = 5; i < 10; ++i) { - TestProblemAbstract pb = problems[k].copy(); double step = (pb.getFinalTime() - pb.getInitialTime()) * FastMath.pow(2.0, -i); FirstOrderIntegrator integ = new GillIntegrator(step); http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/nonstiff/LutherIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/LutherIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/LutherIntegratorTest.java index e3c5fe2..f8e0fd3 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/LutherIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/LutherIntegratorTest.java @@ -25,10 +25,12 @@ import org.apache.commons.math3.exception.NumberIsTooSmallException; import org.apache.commons.math3.ode.FirstOrderDifferentialEquations; import org.apache.commons.math3.ode.FirstOrderIntegrator; import org.apache.commons.math3.ode.TestProblem1; +import org.apache.commons.math3.ode.TestProblem2; import org.apache.commons.math3.ode.TestProblem3; +import org.apache.commons.math3.ode.TestProblem4; import org.apache.commons.math3.ode.TestProblem5; +import org.apache.commons.math3.ode.TestProblem6; import org.apache.commons.math3.ode.TestProblemAbstract; -import org.apache.commons.math3.ode.TestProblemFactory; import org.apache.commons.math3.ode.TestProblemHandler; import org.apache.commons.math3.ode.events.EventHandler; import org.apache.commons.math3.ode.sampling.StepHandler; @@ -133,14 +135,15 @@ public class LutherIntegratorTest { throws DimensionMismatchException, NumberIsTooSmallException, MaxCountExceededException, NoBracketingException { - TestProblemAbstract[] problems = TestProblemFactory.getProblems(); - for (int k = 0; k < problems.length; ++k) { + for (TestProblemAbstract pb : new TestProblemAbstract[] { + new TestProblem1(), new TestProblem2(), new TestProblem3(), + new TestProblem4(), new TestProblem5(), new TestProblem6() + }) { double previousValueError = Double.NaN; double previousTimeError = Double.NaN; for (int i = 4; i < 10; ++i) { - TestProblemAbstract pb = problems[k].copy(); double step = (pb.getFinalTime() - pb.getInitialTime()) * FastMath.pow(2.0, -i); FirstOrderIntegrator integ = new LutherIntegrator(step); http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/nonstiff/MidpointIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/MidpointIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/MidpointIntegratorTest.java index 0b01ddf..e8080af 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/MidpointIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/MidpointIntegratorTest.java @@ -25,9 +25,12 @@ import org.apache.commons.math3.exception.NumberIsTooSmallException; import org.apache.commons.math3.ode.FirstOrderDifferentialEquations; import org.apache.commons.math3.ode.FirstOrderIntegrator; import org.apache.commons.math3.ode.TestProblem1; +import org.apache.commons.math3.ode.TestProblem2; +import org.apache.commons.math3.ode.TestProblem3; +import org.apache.commons.math3.ode.TestProblem4; import org.apache.commons.math3.ode.TestProblem5; +import org.apache.commons.math3.ode.TestProblem6; import org.apache.commons.math3.ode.TestProblemAbstract; -import org.apache.commons.math3.ode.TestProblemFactory; import org.apache.commons.math3.ode.TestProblemHandler; import org.apache.commons.math3.ode.events.EventHandler; import org.apache.commons.math3.ode.sampling.StepHandler; @@ -54,14 +57,15 @@ public class MidpointIntegratorTest { throws DimensionMismatchException, NumberIsTooSmallException, MaxCountExceededException, NoBracketingException { - TestProblemAbstract[] problems = TestProblemFactory.getProblems(); - for (int k = 0; k < problems.length; ++k) { + for (TestProblemAbstract pb : new TestProblemAbstract[] { + new TestProblem1(), new TestProblem2(), new TestProblem3(), + new TestProblem4(), new TestProblem5(), new TestProblem6() + }) { double previousValueError = Double.NaN; double previousTimeError = Double.NaN; for (int i = 4; i < 10; ++i) { - TestProblemAbstract pb = problems[k].copy(); double step = (pb.getFinalTime() - pb.getInitialTime()) * FastMath.pow(2.0, -i); FirstOrderIntegrator integ = new MidpointIntegrator(step); TestProblemHandler handler = new TestProblemHandler(pb, integ); http://git-wip-us.apache.org/repos/asf/commons-math/blob/a15e4901/src/test/java/org/apache/commons/math3/ode/nonstiff/ThreeEighthesIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/ThreeEighthesIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/ThreeEighthesIntegratorTest.java index ffc33c4..99212a8 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/ThreeEighthesIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/ThreeEighthesIntegratorTest.java @@ -25,10 +25,12 @@ import org.apache.commons.math3.exception.NumberIsTooSmallException; import org.apache.commons.math3.ode.FirstOrderDifferentialEquations; import org.apache.commons.math3.ode.FirstOrderIntegrator; import org.apache.commons.math3.ode.TestProblem1; +import org.apache.commons.math3.ode.TestProblem2; import org.apache.commons.math3.ode.TestProblem3; +import org.apache.commons.math3.ode.TestProblem4; import org.apache.commons.math3.ode.TestProblem5; +import org.apache.commons.math3.ode.TestProblem6; import org.apache.commons.math3.ode.TestProblemAbstract; -import org.apache.commons.math3.ode.TestProblemFactory; import org.apache.commons.math3.ode.TestProblemHandler; import org.apache.commons.math3.ode.events.EventHandler; import org.apache.commons.math3.ode.sampling.StepHandler; @@ -55,14 +57,15 @@ public class ThreeEighthesIntegratorTest { throws DimensionMismatchException, NumberIsTooSmallException, MaxCountExceededException, NoBracketingException { - TestProblemAbstract[] problems = TestProblemFactory.getProblems(); - for (int k = 0; k < problems.length; ++k) { + for (TestProblemAbstract pb : new TestProblemAbstract[] { + new TestProblem1(), new TestProblem2(), new TestProblem3(), + new TestProblem4(), new TestProblem5(), new TestProblem6() + }) { double previousValueError = Double.NaN; double previousTimeError = Double.NaN; for (int i = 4; i < 10; ++i) { - TestProblemAbstract pb = problems[k].copy(); double step = (pb.getFinalTime() - pb.getInitialTime()) * FastMath.pow(2.0, -i); FirstOrderIntegrator integ = new ThreeEighthesIntegrator(step);
