Moved new method from interface to impl, fixing compatability break.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_X@1059402 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Phil Steitz 2011-01-15 19:47:29 +00:00
parent 59c534c537
commit 969ca1e0df
2 changed files with 18 additions and 22 deletions

View File

@ -78,27 +78,6 @@ public interface UnivariateRealSolver extends ConvergingAlgorithm {
@Deprecated
double solve(double min, double max) throws ConvergenceException, MathUserException;
/**
* Solve for a zero root in the given interval.
* <p>A solver may require that the interval brackets a single zero root.
* Solvers that do require bracketing should be able to handle the case
* where one of the endpoints is itself a root.</p>
*
* @param f the function to solve.
* @param min the lower bound for the interval.
* @param max the upper bound for the interval.
* @param maxEval Maximum number of evaluations.
* @return a value where the function is zero
* @throws ConvergenceException if the maximum iteration count is exceeded
* or the solver detects convergence problems otherwise.
* @throws MathUserException if an error occurs evaluating the function
* @throws IllegalArgumentException if min > max or the endpoints do not
* satisfy the requirements specified by the solver
* @since 2.2
*/
double solve(int maxEval, UnivariateRealFunction f, double min, double max)
throws ConvergenceException, MathUserException;
/**
* Solve for a zero root in the given interval.
* <p>A solver may require that the interval brackets a single zero root.

View File

@ -136,7 +136,24 @@ public abstract class UnivariateRealSolverImpl
functionValueAccuracy = defaultFunctionValueAccuracy;
}
/** {@inheritDoc} */
/**
* Solve for a zero root in the given interval.
* <p>A solver may require that the interval brackets a single zero root.
* Solvers that do require bracketing should be able to handle the case
* where one of the endpoints is itself a root.</p>
*
* @param f the function to solve.
* @param min the lower bound for the interval.
* @param max the upper bound for the interval.
* @param maxEval Maximum number of evaluations.
* @return a value where the function is zero
* @throws ConvergenceException if the maximum iteration count is exceeded
* or the solver detects convergence problems otherwise.
* @throws MathUserException if an error occurs evaluating the function
* @throws IllegalArgumentException if min > max or the endpoints do not
* satisfy the requirements specified by the solver
* @since 2.2
*/
public double solve(int maxEval, UnivariateRealFunction function, double min, double max)
throws ConvergenceException, MathUserException {
throw MathRuntimeException.createUnsupportedOperationException(LocalizedFormats.NOT_OVERRIDEN);