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