public class org.apache.commons.math3.optim.univariate.BrentOptimizer extends org.apache.commons.math3.optim.univariate.UnivariateOptimizer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.optim.univariate.BrentOptimizer
super_class: org.apache.commons.math3.optim.univariate.UnivariateOptimizer
{
private static final double GOLDEN_SECTION;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double MIN_RELATIVE_TOLERANCE;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final double relativeThreshold;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double absoluteThreshold;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc 0.5
ldc 3.0
ldc 5.0
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dsub
dmul
putstatic org.apache.commons.math3.optim.univariate.BrentOptimizer.GOLDEN_SECTION:D
1: ldc 2.0
dconst_1
invokestatic org.apache.commons.math3.util.FastMath.ulp:(D)D
dmul
putstatic org.apache.commons.math3.optim.univariate.BrentOptimizer.MIN_RELATIVE_TOLERANCE:D
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(double, double, org.apache.commons.math3.optim.ConvergenceChecker<org.apache.commons.math3.optim.univariate.UnivariatePointValuePair>);
descriptor: (DDLorg/apache/commons/math3/optim/ConvergenceChecker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
aload 5
invokespecial org.apache.commons.math3.optim.univariate.UnivariateOptimizer.<init>:(Lorg/apache/commons/math3/optim/ConvergenceChecker;)V
1: dload 1
getstatic org.apache.commons.math3.optim.univariate.BrentOptimizer.MIN_RELATIVE_TOLERANCE:D
dcmpg
ifge 3
2: new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
getstatic org.apache.commons.math3.optim.univariate.BrentOptimizer.MIN_RELATIVE_TOLERANCE:D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
iconst_1
invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
3: StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer double double org.apache.commons.math3.optim.ConvergenceChecker
StackMap stack:
dload 3
dconst_0
dcmpg
ifgt 5
4: new org.apache.commons.math3.exception.NotStrictlyPositiveException
dup
dload 3
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
dload 1
putfield org.apache.commons.math3.optim.univariate.BrentOptimizer.relativeThreshold:D
6: aload 0
dload 3
putfield org.apache.commons.math3.optim.univariate.BrentOptimizer.absoluteThreshold:D
7: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/commons/math3/optim/univariate/BrentOptimizer;
0 8 1 rel D
0 8 3 abs D
0 8 5 checker Lorg/apache/commons/math3/optim/ConvergenceChecker<Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;>;
Signature: (DDLorg/apache/commons/math3/optim/ConvergenceChecker<Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;>;)V
MethodParameters:
Name Flags
rel
abs
checker
public void <init>(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
dload 1
dload 3
aconst_null
invokespecial org.apache.commons.math3.optim.univariate.BrentOptimizer.<init>:(DDLorg/apache/commons/math3/optim/ConvergenceChecker;)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/optim/univariate/BrentOptimizer;
0 2 1 rel D
0 2 3 abs D
MethodParameters:
Name Flags
rel
abs
protected org.apache.commons.math3.optim.univariate.UnivariatePointValuePair doOptimize();
descriptor: ()Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=49, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.getGoalType:()Lorg/apache/commons/math3/optim/nonlinear/scalar/GoalType;
getstatic org.apache.commons.math3.optim.nonlinear.scalar.GoalType.MINIMIZE:Lorg/apache/commons/math3/optim/nonlinear/scalar/GoalType;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.getMin:()D
dstore 2
start local 2 4: aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.getStartValue:()D
dstore 4
start local 4 5: aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.getMax:()D
dstore 6
start local 6 6: aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.getConvergenceChecker:()Lorg/apache/commons/math3/optim/ConvergenceChecker;
7: astore 8
start local 8 8: dload 2
dload 6
dcmpg
ifge 12
9: dload 2
dstore 9
start local 9 10: dload 6
dstore 11
start local 11 11: goto 14
end local 11 end local 9 12: StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker
StackMap stack:
dload 6
dstore 9
start local 9 13: dload 2
dstore 11
start local 11 14: StackMap locals: double double
StackMap stack:
dload 4
dstore 13
start local 13 15: dload 13
dstore 15
start local 15 16: dload 13
dstore 17
start local 17 17: dconst_0
dstore 19
start local 19 18: dconst_0
dstore 21
start local 21 19: aload 0
dload 13
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.computeObjectiveValue:(D)D
dstore 23
start local 23 20: iload 1
ifne 22
21: dload 23
dneg
dstore 23
22: StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double
StackMap stack:
dload 23
dstore 25
start local 25 23: dload 23
dstore 27
start local 27 24: aconst_null
astore 29
start local 29 25: new org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
dup
dload 13
iload 1
ifeq 26
dload 23
goto 27
StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double double double org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
StackMap stack: new 25 new 25 double
26: dload 23
dneg
StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double double double org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
StackMap stack: new 25 new 25 double double
27: invokespecial org.apache.commons.math3.optim.univariate.UnivariatePointValuePair.<init>:(DD)V
28: astore 30
start local 30 29: aload 30
astore 31
start local 31 30: StackMap locals: org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
StackMap stack:
ldc 0.5
dload 9
dload 11
dadd
dmul
dstore 32
start local 32 31: aload 0
getfield org.apache.commons.math3.optim.univariate.BrentOptimizer.relativeThreshold:D
dload 13
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dmul
aload 0
getfield org.apache.commons.math3.optim.univariate.BrentOptimizer.absoluteThreshold:D
dadd
dstore 34
start local 34 32: ldc 2.0
dload 34
dmul
dstore 36
start local 36 33: dload 13
dload 32
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 36
ldc 0.5
dload 11
dload 9
dsub
dmul
dsub
dcmpg
ifgt 34
iconst_1
goto 35
StackMap locals: double double double
StackMap stack:
34: iconst_0
StackMap locals:
StackMap stack: int
35: istore 38
start local 38 36: iload 38
ifne 126
37: dconst_0
dstore 39
start local 39 38: dconst_0
dstore 41
start local 41 39: dconst_0
dstore 43
start local 43 40: dconst_0
dstore 45
start local 45 41: dload 21
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 34
dcmpl
ifle 69
42: dload 13
dload 17
dsub
dload 23
dload 25
dsub
dmul
dstore 43
43: dload 13
dload 15
dsub
dload 23
dload 27
dsub
dmul
dstore 41
44: dload 13
dload 15
dsub
dload 41
dmul
dload 13
dload 17
dsub
dload 43
dmul
dsub
dstore 39
45: ldc 2.0
dload 41
dload 43
dsub
dmul
dstore 41
46: dload 41
dconst_0
dcmpl
ifle 49
47: dload 39
dneg
dstore 39
48: goto 50
49: StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double double double org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair double double double int double double double double
StackMap stack:
dload 41
dneg
dstore 41
50: StackMap locals:
StackMap stack:
dload 21
dstore 43
51: dload 19
dstore 21
52: dload 39
dload 41
dload 9
dload 13
dsub
dmul
dcmpl
ifle 63
53: dload 39
dload 41
dload 11
dload 13
dsub
dmul
dcmpg
ifge 63
54: dload 39
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
ldc 0.5
dload 41
dmul
dload 43
dmul
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dcmpg
ifge 63
55: dload 39
dload 41
ddiv
dstore 19
56: dload 13
dload 19
dadd
dstore 45
57: dload 45
dload 9
dsub
dload 36
dcmpg
iflt 58
dload 11
dload 45
dsub
dload 36
dcmpg
ifge 74
58: StackMap locals:
StackMap stack:
dload 13
dload 32
dcmpg
ifgt 61
59: dload 34
dstore 19
60: goto 74
61: StackMap locals:
StackMap stack:
dload 34
dneg
dstore 19
62: goto 74
63: StackMap locals:
StackMap stack:
dload 13
dload 32
dcmpg
ifge 66
64: dload 11
dload 13
dsub
dstore 21
65: goto 67
66: StackMap locals:
StackMap stack:
dload 9
dload 13
dsub
dstore 21
67: StackMap locals:
StackMap stack:
getstatic org.apache.commons.math3.optim.univariate.BrentOptimizer.GOLDEN_SECTION:D
dload 21
dmul
dstore 19
68: goto 74
69: StackMap locals:
StackMap stack:
dload 13
dload 32
dcmpg
ifge 72
70: dload 11
dload 13
dsub
dstore 21
71: goto 73
72: StackMap locals:
StackMap stack:
dload 9
dload 13
dsub
dstore 21
73: StackMap locals:
StackMap stack:
getstatic org.apache.commons.math3.optim.univariate.BrentOptimizer.GOLDEN_SECTION:D
dload 21
dmul
dstore 19
74: StackMap locals:
StackMap stack:
dload 19
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 34
dcmpg
ifge 80
75: dload 19
dconst_0
dcmpl
iflt 78
76: dload 13
dload 34
dadd
dstore 45
77: goto 81
78: StackMap locals:
StackMap stack:
dload 13
dload 34
dsub
dstore 45
79: goto 81
80: StackMap locals:
StackMap stack:
dload 13
dload 19
dadd
dstore 45
81: StackMap locals:
StackMap stack:
aload 0
dload 45
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.computeObjectiveValue:(D)D
dstore 47
start local 47 82: iload 1
ifne 84
83: dload 47
dneg
dstore 47
84: StackMap locals: double
StackMap stack:
aload 30
astore 29
85: new org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
dup
dload 45
iload 1
ifeq 86
dload 47
goto 87
StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double double double org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair double double double int double double double double double
StackMap stack: new 85 new 85 double
86: dload 47
dneg
StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double double double org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair double double double int double double double double double
StackMap stack: new 85 new 85 double double
87: invokespecial org.apache.commons.math3.optim.univariate.UnivariatePointValuePair.<init>:(DD)V
astore 30
88: aload 0
aload 31
89: aload 0
aload 29
90: aload 30
91: iload 1
92: invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.best:(Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Z)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
93: iload 1
94: invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.best:(Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Z)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
astore 31
95: aload 8
ifnull 97
aload 8
aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.getIterations:()I
aload 29
aload 30
invokeinterface org.apache.commons.math3.optim.ConvergenceChecker.converged:(ILjava/lang/Object;Ljava/lang/Object;)Z
ifeq 97
96: aload 31
areturn
97: StackMap locals:
StackMap stack:
dload 47
dload 23
dcmpg
ifgt 109
98: dload 45
dload 13
dcmpg
ifge 101
99: dload 13
dstore 11
100: goto 102
101: StackMap locals:
StackMap stack:
dload 13
dstore 9
102: StackMap locals:
StackMap stack:
dload 17
dstore 15
103: dload 27
dstore 25
104: dload 13
dstore 17
105: dload 23
dstore 27
106: dload 45
dstore 13
107: dload 47
dstore 23
108: goto 133
109: StackMap locals:
StackMap stack:
dload 45
dload 13
dcmpg
ifge 112
110: dload 45
dstore 9
111: goto 113
112: StackMap locals:
StackMap stack:
dload 45
dstore 11
113: StackMap locals:
StackMap stack:
dload 47
dload 27
dcmpg
ifle 115
114: dload 17
dload 13
invokestatic org.apache.commons.math3.util.Precision.equals:(DD)Z
ifeq 120
115: StackMap locals:
StackMap stack:
dload 17
dstore 15
116: dload 27
dstore 25
117: dload 45
dstore 17
118: dload 47
dstore 27
119: goto 133
StackMap locals:
StackMap stack:
120: dload 47
dload 25
dcmpg
ifle 123
121: dload 15
dload 13
invokestatic org.apache.commons.math3.util.Precision.equals:(DD)Z
ifne 123
122: dload 15
dload 17
invokestatic org.apache.commons.math3.util.Precision.equals:(DD)Z
ifeq 133
123: StackMap locals:
StackMap stack:
dload 45
dstore 15
124: dload 47
dstore 25
end local 47 end local 45 end local 43 end local 41 end local 39 125: goto 133
126: StackMap locals: org.apache.commons.math3.optim.univariate.BrentOptimizer int double double double org.apache.commons.math3.optim.ConvergenceChecker double double double double double double double double double double org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair org.apache.commons.math3.optim.univariate.UnivariatePointValuePair double double double int
StackMap stack:
aload 0
aload 31
127: aload 0
aload 29
128: aload 30
129: iload 1
130: invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.best:(Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Z)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
131: iload 1
132: invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.best:(Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Z)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
areturn
133: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.incrementIterationCount:()V
end local 38 end local 36 end local 34 end local 32 134: goto 30
end local 31 end local 30 end local 29 end local 27 end local 25 end local 23 end local 21 end local 19 end local 17 end local 15 end local 13 end local 11 end local 9 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 135 0 this Lorg/apache/commons/math3/optim/univariate/BrentOptimizer;
3 135 1 isMinim Z
4 135 2 lo D
5 135 4 mid D
6 135 6 hi D
8 135 8 checker Lorg/apache/commons/math3/optim/ConvergenceChecker<Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;>;
10 12 9 a D
13 135 9 a D
11 12 11 b D
14 135 11 b D
15 135 13 x D
16 135 15 v D
17 135 17 w D
18 135 19 d D
19 135 21 e D
20 135 23 fx D
23 135 25 fv D
24 135 27 fw D
25 135 29 previous Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
29 135 30 current Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
30 135 31 best Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
31 134 32 m D
32 134 34 tol1 D
33 134 36 tol2 D
36 134 38 stop Z
38 125 39 p D
39 125 41 q D
40 125 43 r D
41 125 45 u D
82 125 47 fu D
private org.apache.commons.math3.optim.univariate.UnivariatePointValuePair best(org.apache.commons.math3.optim.univariate.UnivariatePointValuePair, org.apache.commons.math3.optim.univariate.UnivariatePointValuePair, boolean);
descriptor: (Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;Z)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
iload 3
ifeq 8
5: aload 1
invokevirtual org.apache.commons.math3.optim.univariate.UnivariatePointValuePair.getValue:()D
aload 2
invokevirtual org.apache.commons.math3.optim.univariate.UnivariatePointValuePair.getValue:()D
dcmpg
ifgt 6
aload 1
goto 7
StackMap locals:
StackMap stack:
6: aload 2
StackMap locals:
StackMap stack: org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
7: areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.commons.math3.optim.univariate.UnivariatePointValuePair.getValue:()D
aload 2
invokevirtual org.apache.commons.math3.optim.univariate.UnivariatePointValuePair.getValue:()D
dcmpl
iflt 9
aload 1
goto 10
StackMap locals:
StackMap stack:
9: aload 2
StackMap locals:
StackMap stack: org.apache.commons.math3.optim.univariate.UnivariatePointValuePair
10: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/commons/math3/optim/univariate/BrentOptimizer;
0 11 1 a Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
0 11 2 b Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
0 11 3 isMinim Z
MethodParameters:
Name Flags
a
b
isMinim
protected java.lang.Object doOptimize();
descriptor: ()Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.apache.commons.math3.optim.univariate.BrentOptimizer.doOptimize:()Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "BrentOptimizer.java"