Repository: commons-math Updated Branches: refs/heads/MATH_3_X 8d7a8c47d -> b448d5f55
Removed use of deprecated class. Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/04143a60 Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/04143a60 Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/04143a60 Branch: refs/heads/MATH_3_X Commit: 04143a607753cd8eea26e1ecfa1bd63b5105973c Parents: 8d7a8c4 Author: Luc Maisonobe <l...@apache.org> Authored: Fri Dec 25 11:45:59 2015 +0100 Committer: Luc Maisonobe <l...@apache.org> Committed: Fri Dec 25 11:45:59 2015 +0100 ---------------------------------------------------------------------- .../commons/math3/ode/AbstractIntegrator.java | 43 ++++++++++++++++---- .../commons/math3/ode/MultistepIntegrator.java | 2 +- .../nonstiff/AdamsBashforthIntegratorTest.java | 1 + .../nonstiff/AdamsMoultonIntegratorTest.java | 1 + 4 files changed, 37 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/04143a60/src/main/java/org/apache/commons/math3/ode/AbstractIntegrator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/math3/ode/AbstractIntegrator.java b/src/main/java/org/apache/commons/math3/ode/AbstractIntegrator.java index 0e690be..835689b 100644 --- a/src/main/java/org/apache/commons/math3/ode/AbstractIntegrator.java +++ b/src/main/java/org/apache/commons/math3/ode/AbstractIntegrator.java @@ -38,7 +38,7 @@ import org.apache.commons.math3.ode.events.EventState; import org.apache.commons.math3.ode.sampling.AbstractStepInterpolator; import org.apache.commons.math3.ode.sampling.StepHandler; import org.apache.commons.math3.util.FastMath; -import org.apache.commons.math3.util.Incrementor; +import org.apache.commons.math3.util.IntegerSequence; import org.apache.commons.math3.util.Precision; /** @@ -72,7 +72,7 @@ public abstract class AbstractIntegrator implements FirstOrderIntegrator { private final String name; /** Counter for number of evaluations. */ - private Incrementor evaluations; + private IntegerSequence.Incrementor evaluations; /** Differential equations to integrate. */ private transient ExpandableStatefulODE expandable; @@ -87,9 +87,7 @@ public abstract class AbstractIntegrator implements FirstOrderIntegrator { stepSize = Double.NaN; eventsStates = new ArrayList<EventState>(); statesInitialized = false; - evaluations = new Incrementor(); - setMaxEvaluations(-1); - evaluations.resetCount(); + evaluations = IntegerSequence.Incrementor.create().withMaximalCount(Integer.MAX_VALUE); } /** Build an instance with a null name. @@ -164,7 +162,7 @@ public abstract class AbstractIntegrator implements FirstOrderIntegrator { /** {@inheritDoc} */ public void setMaxEvaluations(int maxEvaluations) { - evaluations.setMaximalCount((maxEvaluations < 0) ? Integer.MAX_VALUE : maxEvaluations); + evaluations = evaluations.withMaximalCount((maxEvaluations < 0) ? Integer.MAX_VALUE : maxEvaluations); } /** {@inheritDoc} */ @@ -184,7 +182,7 @@ public abstract class AbstractIntegrator implements FirstOrderIntegrator { */ protected void initIntegration(final double t0, final double[] y0, final double t) { - evaluations.resetCount(); + evaluations = evaluations.withStart(0); for (final EventState state : eventsStates) { state.setExpandable(expandable); @@ -217,8 +215,35 @@ public abstract class AbstractIntegrator implements FirstOrderIntegrator { /** Get the evaluations counter. * @return evaluations counter * @since 3.2 + * @deprecated as of 3.6 replaced with {@link #getCounter()} */ - protected Incrementor getEvaluationsCounter() { + @Deprecated + protected org.apache.commons.math3.util.Incrementor getEvaluationsCounter() { + final org.apache.commons.math3.util.Incrementor incrementor = + new org.apache.commons.math3.util.Incrementor() { + + { + // set up matching values at initialization + super.setMaximalCount(evaluations.getMaximalCount()); + super.incrementCount(evaluations.getCount()); + } + + /** {@inheritDoc} */ + @Override + public void incrementCount() { + super.incrementCount(); + evaluations.increment(); + } + + }; + return incrementor; + } + + /** Get the evaluations counter. + * @return evaluations counter + * @since 3.6 + */ + protected IntegerSequence.Incrementor getCounter() { return evaluations; } @@ -284,7 +309,7 @@ public abstract class AbstractIntegrator implements FirstOrderIntegrator { */ public void computeDerivatives(final double t, final double[] y, final double[] yDot) throws MaxCountExceededException, DimensionMismatchException, NullPointerException { - evaluations.incrementCount(); + evaluations.increment(); expandable.computeDerivatives(t, y, yDot); } http://git-wip-us.apache.org/repos/asf/commons-math/blob/04143a60/src/main/java/org/apache/commons/math3/ode/MultistepIntegrator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/math3/ode/MultistepIntegrator.java b/src/main/java/org/apache/commons/math3/ode/MultistepIntegrator.java index f82ccbb..009819e 100644 --- a/src/main/java/org/apache/commons/math3/ode/MultistepIntegrator.java +++ b/src/main/java/org/apache/commons/math3/ode/MultistepIntegrator.java @@ -250,7 +250,7 @@ public abstract class MultistepIntegrator extends AdaptiveStepsizeIntegrator { // this is the expected nominal interruption of the start integrator // count the evaluations used by the starter - getEvaluationsCounter().incrementCount(starter.getEvaluations()); + getCounter().increment(starter.getEvaluations()); } http://git-wip-us.apache.org/repos/asf/commons-math/blob/04143a60/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsBashforthIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsBashforthIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsBashforthIntegratorTest.java index be692c5..3f57d9a 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsBashforthIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsBashforthIntegratorTest.java @@ -175,6 +175,7 @@ public class AdamsBashforthIntegratorTest { public void integrate(ExpandableStatefulODE equations, double t) { double tStart = equations.getTime() + 0.01 * (t - equations.getTime()); + getCounter().increment(nbSteps); for (int i = 0; i < nbSteps; ++i) { double tK = ((nbSteps - 1 - (i + 1)) * equations.getTime() + (i + 1) * tStart) / (nbSteps - 1); interpolator.setPreviousTime(interpolator.getCurrentTime()); http://git-wip-us.apache.org/repos/asf/commons-math/blob/04143a60/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsMoultonIntegratorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsMoultonIntegratorTest.java b/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsMoultonIntegratorTest.java index 57a35ba..0f2ff18 100644 --- a/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsMoultonIntegratorTest.java +++ b/src/test/java/org/apache/commons/math3/ode/nonstiff/AdamsMoultonIntegratorTest.java @@ -187,6 +187,7 @@ public class AdamsMoultonIntegratorTest { public void integrate(ExpandableStatefulODE equations, double t) { double tStart = equations.getTime() + 0.01 * (t - equations.getTime()); + getCounter().increment(nbSteps); for (int i = 0; i < nbSteps; ++i) { double tK = ((nbSteps - 1 - (i + 1)) * equations.getTime() + (i + 1) * tStart) / (nbSteps - 1); interpolator.setPreviousTime(interpolator.getCurrentTime());