public class org.apache.commons.math.optimization.univariate.BrentOptimizer extends org.apache.commons.math.optimization.univariate.BaseAbstractUnivariateOptimizer
{
private static final double GOLDEN_SECTION;
private static final double MIN_RELATIVE_TOLERANCE;
private final double relativeThreshold;
private final double absoluteThreshold;
public void <init>(double, double, org.apache.commons.math.optimization.ConvergenceChecker)
{
java.lang.Double v, v, v;
org.apache.commons.math.optimization.univariate.BrentOptimizer v;
org.apache.commons.math.optimization.ConvergenceChecker v;
org.apache.commons.math.exception.NumberIsTooSmallException v;
org.apache.commons.math.exception.NotStrictlyPositiveException v;
byte v, v;
double v, v, v, v;
v := @this: org.apache.commons.math.optimization.univariate.BrentOptimizer;
v := @parameter: double;
v := @parameter: double;
v := @parameter: org.apache.commons.math.optimization.ConvergenceChecker;
specialinvoke v.<org.apache.commons.math.optimization.univariate.BaseAbstractUnivariateOptimizer: void <init>(org.apache.commons.math.optimization.ConvergenceChecker)>(v);
v = <org.apache.commons.math.optimization.univariate.BrentOptimizer: double MIN_RELATIVE_TOLERANCE>;
v = v cmpg v;
if v >= 0 goto label;
v = new org.apache.commons.math.exception.NumberIsTooSmallException;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v = <org.apache.commons.math.optimization.univariate.BrentOptimizer: double MIN_RELATIVE_TOLERANCE>;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
specialinvoke v.<org.apache.commons.math.exception.NumberIsTooSmallException: void <init>(java.lang.Number,java.lang.Number,boolean)>(v, v, 1);
throw v;
label:
v = v cmpg 0.0;
if v > 0 goto label;
v = new org.apache.commons.math.exception.NotStrictlyPositiveException;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
specialinvoke v.<org.apache.commons.math.exception.NotStrictlyPositiveException: void <init>(java.lang.Number)>(v);
throw v;
label:
v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double relativeThreshold> = v;
v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double absoluteThreshold> = v;
return;
}
public void <init>(double, double)
{
org.apache.commons.math.optimization.univariate.BrentOptimizer v;
double v, v;
v := @this: org.apache.commons.math.optimization.univariate.BrentOptimizer;
v := @parameter: double;
v := @parameter: double;
specialinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: void <init>(double,double,org.apache.commons.math.optimization.ConvergenceChecker)>(v, v, null);
return;
}
protected org.apache.commons.math.optimization.univariate.UnivariatePointValuePair doOptimize()
{
org.apache.commons.math.optimization.GoalType v, v;
byte v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.optimization.univariate.BrentOptimizer v;
org.apache.commons.math.optimization.univariate.UnivariatePointValuePair v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v;
org.apache.commons.math.optimization.ConvergenceChecker v;
int v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.commons.math.optimization.univariate.BrentOptimizer;
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: org.apache.commons.math.optimization.GoalType getGoalType()>();
v = <org.apache.commons.math.optimization.GoalType: org.apache.commons.math.optimization.GoalType MINIMIZE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double getMin()>();
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double getStartValue()>();
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double getMax()>();
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: org.apache.commons.math.optimization.ConvergenceChecker getConvergenceChecker()>();
v = v cmpg v;
if v >= 0 goto label;
v = v;
v = v;
goto label;
label:
v = v;
v = v;
label:
v = v;
v = v;
v = v;
v = 0.0;
v = 0.0;
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double computeObjectiveValue(double)>(v);
if v != 0 goto label;
v = neg v;
label:
v = v;
v = v;
v = null;
v = new org.apache.commons.math.optimization.univariate.UnivariatePointValuePair;
if v == 0 goto label;
v = v;
goto label;
label:
v = neg v;
label:
specialinvoke v.<org.apache.commons.math.optimization.univariate.UnivariatePointValuePair: void <init>(double,double)>(v, v);
v = v;
v = v;
v = 0;
label:
v = v + v;
v = 0.5 * v;
v = v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double relativeThreshold>;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v * v;
v = v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double absoluteThreshold>;
v = v + v;
v = 2.0 * v;
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v - v;
v = 0.5 * v;
v = v - v;
v = v cmpg v;
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpl v;
if v <= 0 goto label;
v = v - v;
v = v - v;
v = v * v;
v = v - v;
v = v - v;
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = v - v;
v = 2.0 * v;
v = v cmpl 0.0;
if v <= 0 goto label;
v = neg v;
goto label;
label:
v = neg v;
label:
v = v;
v = v;
v = v - v;
v = v * v;
v = v cmpl v;
if v <= 0 goto label;
v = v - v;
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = 0.5 * v;
v = v * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpg v;
if v >= 0 goto label;
v = v / v;
v = v + v;
v = v - v;
v = v cmpg v;
if v < 0 goto label;
v = v - v;
v = v cmpg v;
if v >= 0 goto label;
label:
v = v cmpg v;
if v > 0 goto label;
v = v;
goto label;
label:
v = neg v;
goto label;
label:
v = v cmpg v;
if v >= 0 goto label;
v = v - v;
goto label;
label:
v = v - v;
label:
v = <org.apache.commons.math.optimization.univariate.BrentOptimizer: double GOLDEN_SECTION>;
v = v * v;
goto label;
label:
v = v cmpg v;
if v >= 0 goto label;
v = v - v;
goto label;
label:
v = v - v;
label:
v = <org.apache.commons.math.optimization.univariate.BrentOptimizer: double GOLDEN_SECTION>;
v = v * v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpg v;
if v >= 0 goto label;
v = v cmpl 0.0;
if v < 0 goto label;
v = v + v;
goto label;
label:
v = v - v;
goto label;
label:
v = v + v;
label:
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: double computeObjectiveValue(double)>(v);
if v != 0 goto label;
v = neg v;
label:
v = v;
v = new org.apache.commons.math.optimization.univariate.UnivariatePointValuePair;
v = v;
if v == 0 goto label;
v = v;
goto label;
label:
v = neg v;
label:
specialinvoke v.<org.apache.commons.math.optimization.univariate.UnivariatePointValuePair: void <init>(double,double)>(v, v);
v = v;
v = specialinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: org.apache.commons.math.optimization.univariate.UnivariatePointValuePair best(org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,boolean)>(v, v, v);
v = specialinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: org.apache.commons.math.optimization.univariate.UnivariatePointValuePair best(org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,boolean)>(v, v, v);
if v == null goto label;
v = interfaceinvoke v.<org.apache.commons.math.optimization.ConvergenceChecker: boolean converged(int,java.lang.Object,java.lang.Object)>(v, v, v);
if v == 0 goto label;
return v;
label:
v = v cmpg v;
if v > 0 goto label;
v = v cmpg v;
if v >= 0 goto label;
v = v;
goto label;
label:
v = v;
label:
v = v;
v = v;
v = v;
v = v;
v = v;
v = v;
goto label;
label:
v = v cmpg v;
if v >= 0 goto label;
v = v;
goto label;
label:
v = v;
label:
v = v cmpg v;
if v <= 0 goto label;
v = staticinvoke <org.apache.commons.math.util.Precision: boolean equals(double,double)>(v, v);
if v == 0 goto label;
label:
v = v;
v = v;
v = v;
v = v;
goto label;
label:
v = v cmpg v;
if v <= 0 goto label;
v = staticinvoke <org.apache.commons.math.util.Precision: boolean equals(double,double)>(v, v);
if v != 0 goto label;
v = staticinvoke <org.apache.commons.math.util.Precision: boolean equals(double,double)>(v, v);
if v == 0 goto label;
label:
v = v;
v = v;
goto label;
label:
v = specialinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: org.apache.commons.math.optimization.univariate.UnivariatePointValuePair best(org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,boolean)>(v, v, v);
v = specialinvoke v.<org.apache.commons.math.optimization.univariate.BrentOptimizer: org.apache.commons.math.optimization.univariate.UnivariatePointValuePair best(org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,org.apache.commons.math.optimization.univariate.UnivariatePointValuePair,boolean)>(v, v, v);
return v;
label:
v = v + 1;
goto label;
}
private org.apache.commons.math.optimization.univariate.UnivariatePointValuePair best(org.apache.commons.math.optimization.univariate.UnivariatePointValuePair, org.apache.commons.math.optimization.univariate.UnivariatePointValuePair, boolean)
{
org.apache.commons.math.optimization.univariate.BrentOptimizer v;
org.apache.commons.math.optimization.univariate.UnivariatePointValuePair v, v, v, v;
byte v, v;
boolean v;
double v, v, v, v;
v := @this: org.apache.commons.math.optimization.univariate.BrentOptimizer;
v := @parameter: org.apache.commons.math.optimization.univariate.UnivariatePointValuePair;
v := @parameter: org.apache.commons.math.optimization.univariate.UnivariatePointValuePair;
v := @parameter: boolean;
if v != null goto label;
return v;
label:
if v != null goto label;
return v;
label:
if v == 0 goto label;
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.UnivariatePointValuePair: double getValue()>();
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.UnivariatePointValuePair: double getValue()>();
v = v cmpg v;
if v > 0 goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
label:
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.UnivariatePointValuePair: double getValue()>();
v = virtualinvoke v.<org.apache.commons.math.optimization.univariate.UnivariatePointValuePair: double getValue()>();
v = v cmpl v;
if v < 0 goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
static void <clinit>()
{
double v, v, v, v, v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(5.0);
v = 3.0 - v;
v = 0.5 * v;
<org.apache.commons.math.optimization.univariate.BrentOptimizer: double GOLDEN_SECTION> = v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double ulp(double)>(1.0);
v = 2.0 * v;
<org.apache.commons.math.optimization.univariate.BrentOptimizer: double MIN_RELATIVE_TOLERANCE> = v;
return;
}
}