public abstract class org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver extends java.lang.Object implements org.apache.commons.math.analysis.solvers.BaseUnivariateSolver
{
private static final double DEFAULT_RELATIVE_ACCURACY;
private static final double DEFAULT_FUNCTION_VALUE_ACCURACY;
private final double functionValueAccuracy;
private final double absoluteAccuracy;
private final double relativeAccuracy;
private final org.apache.commons.math.util.Incrementor evaluations;
private double searchMin;
private double searchMax;
private double searchStart;
private org.apache.commons.math.analysis.UnivariateFunction function;
protected void <init>(double)
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
specialinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: void <init>(double,double,double)>(1.0E-14, v, 1.0E-15);
return;
}
protected void <init>(double, double)
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
specialinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: void <init>(double,double,double)>(v, v, 1.0E-15);
return;
}
protected void <init>(double, double, double)
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v, v;
org.apache.commons.math.util.Incrementor v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.commons.math.util.Incrementor;
specialinvoke v.<org.apache.commons.math.util.Incrementor: void <init>()>();
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.util.Incrementor evaluations> = v;
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double absoluteAccuracy> = v;
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double relativeAccuracy> = v;
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double functionValueAccuracy> = v;
return;
}
public int getMaxEvaluations()
{
int v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
org.apache.commons.math.util.Incrementor v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.util.Incrementor evaluations>;
v = virtualinvoke v.<org.apache.commons.math.util.Incrementor: int getMaximalCount()>();
return v;
}
public int getEvaluations()
{
int v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
org.apache.commons.math.util.Incrementor v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.util.Incrementor evaluations>;
v = virtualinvoke v.<org.apache.commons.math.util.Incrementor: int getCount()>();
return v;
}
public double getMin()
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double searchMin>;
return v;
}
public double getMax()
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double searchMax>;
return v;
}
public double getStartValue()
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double searchStart>;
return v;
}
public double getAbsoluteAccuracy()
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double absoluteAccuracy>;
return v;
}
public double getRelativeAccuracy()
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double relativeAccuracy>;
return v;
}
public double getFunctionValueAccuracy()
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double functionValueAccuracy>;
return v;
}
protected double computeObjectiveValue(double) throws org.apache.commons.math.exception.TooManyEvaluationsException
{
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
virtualinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: void incrementEvaluationCount()>();
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.analysis.UnivariateFunction function>;
v = interfaceinvoke v.<org.apache.commons.math.analysis.UnivariateFunction: double value(double)>(v);
return v;
}
protected void setup(int, org.apache.commons.math.analysis.UnivariateFunction, double, double, double) throws org.apache.commons.math.exception.NullArgumentException
{
int v;
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v, v;
org.apache.commons.math.util.Incrementor v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: int;
v := @parameter: org.apache.commons.math.analysis.UnivariateFunction;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
staticinvoke <org.apache.commons.math.util.MathUtils: void checkNotNull(java.lang.Object)>(v);
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double searchMin> = v;
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double searchMax> = v;
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double searchStart> = v;
v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.analysis.UnivariateFunction function> = v;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.util.Incrementor evaluations>;
virtualinvoke v.<org.apache.commons.math.util.Incrementor: void setMaximalCount(int)>(v);
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.util.Incrementor evaluations>;
virtualinvoke v.<org.apache.commons.math.util.Incrementor: void resetCount()>();
return;
}
public double solve(int, org.apache.commons.math.analysis.UnivariateFunction, double, double, double) throws org.apache.commons.math.exception.TooManyEvaluationsException, org.apache.commons.math.exception.NoBracketingException
{
int v;
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v, v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: int;
v := @parameter: org.apache.commons.math.analysis.UnivariateFunction;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
virtualinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: void setup(int,org.apache.commons.math.analysis.UnivariateFunction,double,double,double)>(v, v, v, v, v);
v = virtualinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double doSolve()>();
return v;
}
public double solve(int, org.apache.commons.math.analysis.UnivariateFunction, double, double)
{
int v;
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v, v, v, v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: int;
v := @parameter: org.apache.commons.math.analysis.UnivariateFunction;
v := @parameter: double;
v := @parameter: double;
v = v - v;
v = 0.5 * v;
v = v + v;
v = virtualinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double solve(int,org.apache.commons.math.analysis.UnivariateFunction,double,double,double)>(v, v, v, v, v);
return v;
}
public double solve(int, org.apache.commons.math.analysis.UnivariateFunction, double) throws org.apache.commons.math.exception.TooManyEvaluationsException, org.apache.commons.math.exception.NoBracketingException
{
int v;
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: int;
v := @parameter: org.apache.commons.math.analysis.UnivariateFunction;
v := @parameter: double;
v = virtualinvoke v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: double solve(int,org.apache.commons.math.analysis.UnivariateFunction,double,double,double)>(v, v, #NaN, #NaN, v);
return v;
}
protected abstract double doSolve() throws org.apache.commons.math.exception.TooManyEvaluationsException, org.apache.commons.math.exception.NoBracketingException;
protected boolean isBracketing(double, double)
{
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
boolean v;
double v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.analysis.UnivariateFunction function>;
v = staticinvoke <org.apache.commons.math.analysis.solvers.UnivariateSolverUtils: boolean isBracketing(org.apache.commons.math.analysis.UnivariateFunction,double,double)>(v, v, v);
return v;
}
protected boolean isSequence(double, double, double)
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
boolean v;
double v, v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.analysis.solvers.UnivariateSolverUtils: boolean isSequence(double,double,double)>(v, v, v);
return v;
}
protected void verifyInterval(double, double) throws org.apache.commons.math.exception.NumberIsTooLargeException
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
staticinvoke <org.apache.commons.math.analysis.solvers.UnivariateSolverUtils: void verifyInterval(double,double)>(v, v);
return;
}
protected void verifySequence(double, double, double) throws org.apache.commons.math.exception.NumberIsTooLargeException
{
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
staticinvoke <org.apache.commons.math.analysis.solvers.UnivariateSolverUtils: void verifySequence(double,double,double)>(v, v, v);
return;
}
protected void verifyBracketing(double, double) throws org.apache.commons.math.exception.NullArgumentException, org.apache.commons.math.exception.NoBracketingException
{
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
double v, v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
v := @parameter: double;
v := @parameter: double;
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.analysis.UnivariateFunction function>;
staticinvoke <org.apache.commons.math.analysis.solvers.UnivariateSolverUtils: void verifyBracketing(org.apache.commons.math.analysis.UnivariateFunction,double,double)>(v, v, v);
return;
}
protected void incrementEvaluationCount() throws org.apache.commons.math.exception.TooManyEvaluationsException
{
org.apache.commons.math.exception.TooManyEvaluationsException v;
org.apache.commons.math.exception.MaxCountExceededException v;
java.lang.Number v;
org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver v;
org.apache.commons.math.util.Incrementor v;
v := @this: org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver;
label:
v = v.<org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateSolver: org.apache.commons.math.util.Incrementor evaluations>;
virtualinvoke v.<org.apache.commons.math.util.Incrementor: void incrementCount()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.commons.math.exception.TooManyEvaluationsException;
v = virtualinvoke v.<org.apache.commons.math.exception.MaxCountExceededException: java.lang.Number getMax()>();
specialinvoke v.<org.apache.commons.math.exception.TooManyEvaluationsException: void <init>(java.lang.Number)>(v);
throw v;
label:
return;
catch org.apache.commons.math.exception.MaxCountExceededException from label to label with label;
}
}