You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ps...@apache.org on 2011/01/31 07:42:01 UTC

svn commit: r1065489 - /commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/optimization/univariate/AbstractUnivariateRealOptimizer.java

Author: psteitz
Date: Mon Jan 31 06:42:00 2011
New Revision: 1065489

URL: http://svn.apache.org/viewvc?rev=1065489&view=rev
Log:
Reverted incompatible changes in r980013.

Modified:
    commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/optimization/univariate/AbstractUnivariateRealOptimizer.java

Modified: commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/optimization/univariate/AbstractUnivariateRealOptimizer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/optimization/univariate/AbstractUnivariateRealOptimizer.java?rev=1065489&r1=1065488&r2=1065489&view=diff
==============================================================================
--- commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/optimization/univariate/AbstractUnivariateRealOptimizer.java (original)
+++ commons/proper/math/branches/MATH_2_X/src/main/java/org/apache/commons/math/optimization/univariate/AbstractUnivariateRealOptimizer.java Mon Jan 31 06:42:00 2011
@@ -22,7 +22,9 @@ import org.apache.commons.math.MaxEvalua
 import org.apache.commons.math.MaxIterationsExceededException;
 import org.apache.commons.math.analysis.UnivariateRealFunction;
 import org.apache.commons.math.exception.MathUserException;
+import org.apache.commons.math.exception.MathUnsupportedOperationException;
 import org.apache.commons.math.exception.NoDataException;
+import org.apache.commons.math.exception.util.LocalizedFormats;
 import org.apache.commons.math.optimization.GoalType;
 import org.apache.commons.math.optimization.UnivariateRealOptimizer;
 
@@ -36,11 +38,11 @@ import org.apache.commons.math.optimizat
 public abstract class AbstractUnivariateRealOptimizer
     extends ConvergingAlgorithmImpl implements UnivariateRealOptimizer {
     /** Indicates where a root has been computed. */
-    private boolean resultComputed;
+    protected boolean resultComputed;
     /** The last computed root. */
-    private double result;
+    protected double result;
     /** Value of the function at the last computed result. */
-    private double functionValue;
+    protected double functionValue;
     /** Maximal number of evaluations allowed. */
     private int maxEvaluations;
     /** Number of evaluations already performed. */
@@ -254,6 +256,11 @@ public abstract class AbstractUnivariate
     /**
      * Method for implementing actual optimization algorithms in derived
      * classes.
+     * 
+     * From version 3.0 onwards, this method will be abstract - i.e.
+     * concrete implementations will have to implement it.  If this method
+     * is not implemented, subclasses must override 
+     * {@link #optimize(UnivariateRealFunction, GoalType, double, double)}.
      *
      * @return the optimum.
      * @throws MaxIterationsExceededException if the maximum iteration count
@@ -261,6 +268,8 @@ public abstract class AbstractUnivariate
      * @throws MathUserException if an error occurs evaluating
      * the function.
      */
-    protected abstract double doOptimize()
-        throws MaxIterationsExceededException, MathUserException;
+    protected double doOptimize()
+        throws MaxIterationsExceededException, MathUserException {
+        throw new MathUnsupportedOperationException(LocalizedFormats.NOT_OVERRIDEN);
+    }
 }