public class org.apache.commons.math3.analysis.solvers.BrentSolver extends org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.analysis.solvers.BrentSolver
super_class: org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver
{
private static final double DEFAULT_ABSOLUTE_ACCURACY;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0E-6
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
0: .line 54
aload 0 /* this */
ldc 1.0E-6
invokespecial org.apache.commons.math3.analysis.solvers.BrentSolver.<init>:(D)V
1: .line 55
return
end local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/BrentSolver;
public void <init>(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
start local 1 // double absoluteAccuracy
0: .line 62
aload 0 /* this */
dload 1 /* absoluteAccuracy */
invokespecial org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver.<init>:(D)V
1: .line 63
return
end local 1 // double absoluteAccuracy
end local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/BrentSolver;
0 2 1 absoluteAccuracy D
MethodParameters:
Name Flags
absoluteAccuracy
public void <init>(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
start local 1 // double relativeAccuracy
start local 3 // double absoluteAccuracy
0: .line 72
aload 0 /* this */
dload 1 /* relativeAccuracy */
dload 3 /* absoluteAccuracy */
invokespecial org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver.<init>:(DD)V
1: .line 73
return
end local 3 // double absoluteAccuracy
end local 1 // double relativeAccuracy
end local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/BrentSolver;
0 2 1 relativeAccuracy D
0 2 3 absoluteAccuracy D
MethodParameters:
Name Flags
relativeAccuracy
absoluteAccuracy
public void <init>(double, double, double);
descriptor: (DDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
start local 1 // double relativeAccuracy
start local 3 // double absoluteAccuracy
start local 5 // double functionValueAccuracy
0: .line 86
aload 0 /* this */
dload 1 /* relativeAccuracy */
dload 3 /* absoluteAccuracy */
dload 5 /* functionValueAccuracy */
invokespecial org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver.<init>:(DDD)V
1: .line 87
return
end local 5 // double functionValueAccuracy
end local 3 // double absoluteAccuracy
end local 1 // double relativeAccuracy
end local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/BrentSolver;
0 2 1 relativeAccuracy D
0 2 3 absoluteAccuracy D
0 2 5 functionValueAccuracy D
MethodParameters:
Name Flags
relativeAccuracy
absoluteAccuracy
functionValueAccuracy
protected double doSolve();
descriptor: ()D
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=15, args_size=1
start local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
0: .line 97
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.getMin:()D
dstore 1 /* min */
start local 1 // double min
1: .line 98
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.getMax:()D
dstore 3 /* max */
start local 3 // double max
2: .line 99
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.getStartValue:()D
dstore 5 /* initial */
start local 5 // double initial
3: .line 100
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.getFunctionValueAccuracy:()D
dstore 7 /* functionValueAccuracy */
start local 7 // double functionValueAccuracy
4: .line 102
aload 0 /* this */
dload 1 /* min */
dload 5 /* initial */
dload 3 /* max */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.verifySequence:(DDD)V
5: .line 105
aload 0 /* this */
dload 5 /* initial */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.computeObjectiveValue:(D)D
dstore 9 /* yInitial */
start local 9 // double yInitial
6: .line 106
dload 9 /* yInitial */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7 /* functionValueAccuracy */
dcmpg
ifgt 8
7: .line 107
dload 5 /* initial */
dreturn
8: .line 111
StackMap locals: org.apache.commons.math3.analysis.solvers.BrentSolver double double double double double
StackMap stack:
aload 0 /* this */
dload 1 /* min */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.computeObjectiveValue:(D)D
dstore 11 /* yMin */
start local 11 // double yMin
9: .line 112
dload 11 /* yMin */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7 /* functionValueAccuracy */
dcmpg
ifgt 11
10: .line 113
dload 1 /* min */
dreturn
11: .line 117
StackMap locals: double
StackMap stack:
dload 9 /* yInitial */
dload 11 /* yMin */
dmul
dconst_0
dcmpg
ifge 13
12: .line 118
aload 0 /* this */
dload 1 /* min */
dload 5 /* initial */
dload 11 /* yMin */
dload 9 /* yInitial */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.brent:(DDDD)D
dreturn
13: .line 122
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 3 /* max */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.computeObjectiveValue:(D)D
dstore 13 /* yMax */
start local 13 // double yMax
14: .line 123
dload 13 /* yMax */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7 /* functionValueAccuracy */
dcmpg
ifgt 16
15: .line 124
dload 3 /* max */
dreturn
16: .line 128
StackMap locals: double
StackMap stack:
dload 9 /* yInitial */
dload 13 /* yMax */
dmul
dconst_0
dcmpg
ifge 18
17: .line 129
aload 0 /* this */
dload 5 /* initial */
dload 3 /* max */
dload 9 /* yInitial */
dload 13 /* yMax */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.brent:(DDDD)D
dreturn
18: .line 132
StackMap locals:
StackMap stack:
new org.apache.commons.math3.exception.NoBracketingException
dup
dload 1 /* min */
dload 3 /* max */
dload 11 /* yMin */
dload 13 /* yMax */
invokespecial org.apache.commons.math3.exception.NoBracketingException.<init>:(DDDD)V
athrow
end local 13 // double yMax
end local 11 // double yMin
end local 9 // double yInitial
end local 7 // double functionValueAccuracy
end local 5 // double initial
end local 3 // double max
end local 1 // double min
end local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/commons/math3/analysis/solvers/BrentSolver;
1 19 1 min D
2 19 3 max D
3 19 5 initial D
4 19 7 functionValueAccuracy D
6 19 9 yInitial D
9 19 11 yMin D
14 19 13 yMax D
Exceptions:
throws org.apache.commons.math3.exception.NoBracketingException, org.apache.commons.math3.exception.TooManyEvaluationsException, org.apache.commons.math3.exception.NumberIsTooLargeException
private double brent(double, double, double, double);
descriptor: (DDDD)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=41, args_size=5
start local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
start local 1 // double lo
start local 3 // double hi
start local 5 // double fLo
start local 7 // double fHi
0: .line 153
dload 1 /* lo */
dstore 9 /* a */
start local 9 // double a
1: .line 154
dload 5 /* fLo */
dstore 11 /* fa */
start local 11 // double fa
2: .line 155
dload 3 /* hi */
dstore 13 /* b */
start local 13 // double b
3: .line 156
dload 7 /* fHi */
dstore 15 /* fb */
start local 15 // double fb
4: .line 157
dload 9 /* a */
dstore 17 /* c */
start local 17 // double c
5: .line 158
dload 11 /* fa */
dstore 19 /* fc */
start local 19 // double fc
6: .line 159
dload 13 /* b */
dload 9 /* a */
dsub
dstore 21 /* d */
start local 21 // double d
7: .line 160
dload 21 /* d */
dstore 23 /* e */
start local 23 // double e
8: .line 162
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.getAbsoluteAccuracy:()D
dstore 25 /* t */
start local 25 // double t
9: .line 163
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.getRelativeAccuracy:()D
dstore 27 /* eps */
start local 27 // double eps
10: .line 166
StackMap locals: org.apache.commons.math3.analysis.solvers.BrentSolver double double double double double double double double double double double double double double
StackMap stack:
dload 19 /* fc */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 15 /* fb */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dcmpg
ifge 17
11: .line 167
dload 13 /* b */
dstore 9 /* a */
12: .line 168
dload 17 /* c */
dstore 13 /* b */
13: .line 169
dload 9 /* a */
dstore 17 /* c */
14: .line 170
dload 15 /* fb */
dstore 11 /* fa */
15: .line 171
dload 19 /* fc */
dstore 15 /* fb */
16: .line 172
dload 11 /* fa */
dstore 19 /* fc */
17: .line 175
StackMap locals:
StackMap stack:
ldc 2.0
dload 27 /* eps */
dmul
dload 13 /* b */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dmul
dload 25 /* t */
dadd
dstore 29 /* tol */
start local 29 // double tol
18: .line 176
ldc 0.5
dload 17 /* c */
dload 13 /* b */
dsub
dmul
dstore 31 /* m */
start local 31 // double m
19: .line 178
dload 31 /* m */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 29 /* tol */
dcmpg
ifle 21
20: .line 179
dload 15 /* fb */
dconst_0
invokestatic org.apache.commons.math3.util.Precision.equals:(DD)Z
ifeq 22
21: .line 180
StackMap locals: double double
StackMap stack:
dload 13 /* b */
dreturn
22: .line 182
StackMap locals:
StackMap stack:
dload 23 /* e */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 29 /* tol */
dcmpg
iflt 24
23: .line 183
dload 11 /* fa */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 15 /* fb */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dcmpg
ifgt 27
24: .line 185
StackMap locals:
StackMap stack:
dload 31 /* m */
dstore 21 /* d */
25: .line 186
dload 21 /* d */
dstore 23 /* e */
26: .line 187
goto 48
27: .line 188
StackMap locals:
StackMap stack:
dload 15 /* fb */
dload 11 /* fa */
ddiv
dstore 33 /* s */
start local 33 // double s
28: .line 194
dload 9 /* a */
dload 17 /* c */
dcmpl
ifne 32
29: .line 196
ldc 2.0
dload 31 /* m */
dmul
dload 33 /* s */
dmul
dstore 35 /* p */
start local 35 // double p
30: .line 197
dconst_1
dload 33 /* s */
dsub
dstore 37 /* q */
start local 37 // double q
31: .line 198
goto 36
end local 37 // double q
end local 35 // double p
32: .line 200
StackMap locals: double
StackMap stack:
dload 11 /* fa */
dload 19 /* fc */
ddiv
dstore 37 /* q */
start local 37 // double q
33: .line 201
dload 15 /* fb */
dload 19 /* fc */
ddiv
dstore 39 /* r */
start local 39 // double r
34: .line 202
dload 33 /* s */
ldc 2.0
dload 31 /* m */
dmul
dload 37 /* q */
dmul
dload 37 /* q */
dload 39 /* r */
dsub
dmul
dload 13 /* b */
dload 9 /* a */
dsub
dload 39 /* r */
dconst_1
dsub
dmul
dsub
dmul
dstore 35 /* p */
start local 35 // double p
35: .line 203
dload 37 /* q */
dconst_1
dsub
dload 39 /* r */
dconst_1
dsub
dmul
dload 33 /* s */
dconst_1
dsub
dmul
dstore 37 /* q */
end local 39 // double r
36: .line 205
StackMap locals: double double
StackMap stack:
dload 35 /* p */
dconst_0
dcmpl
ifle 39
37: .line 206
dload 37 /* q */
dneg
dstore 37 /* q */
38: .line 207
goto 40
39: .line 208
StackMap locals:
StackMap stack:
dload 35 /* p */
dneg
dstore 35 /* p */
40: .line 210
StackMap locals:
StackMap stack:
dload 23 /* e */
dstore 33 /* s */
41: .line 211
dload 21 /* d */
dstore 23 /* e */
42: .line 212
dload 35 /* p */
ldc 1.5
dload 31 /* m */
dmul
dload 37 /* q */
dmul
dload 29 /* tol */
dload 37 /* q */
dmul
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dsub
dcmpl
ifge 44
43: .line 213
dload 35 /* p */
ldc 0.5
dload 33 /* s */
dmul
dload 37 /* q */
dmul
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dcmpl
iflt 47
44: .line 217
StackMap locals:
StackMap stack:
dload 31 /* m */
dstore 21 /* d */
45: .line 218
dload 21 /* d */
dstore 23 /* e */
46: .line 219
goto 48
47: .line 220
StackMap locals:
StackMap stack:
dload 35 /* p */
dload 37 /* q */
ddiv
dstore 21 /* d */
end local 37 // double q
end local 35 // double p
end local 33 // double s
48: .line 223
StackMap locals:
StackMap stack:
dload 13 /* b */
dstore 9 /* a */
49: .line 224
dload 15 /* fb */
dstore 11 /* fa */
50: .line 226
dload 21 /* d */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 29 /* tol */
dcmpl
ifle 53
51: .line 227
dload 13 /* b */
dload 21 /* d */
dadd
dstore 13 /* b */
52: .line 228
goto 57
StackMap locals:
StackMap stack:
53: dload 31 /* m */
dconst_0
dcmpl
ifle 56
54: .line 229
dload 13 /* b */
dload 29 /* tol */
dadd
dstore 13 /* b */
55: .line 230
goto 57
56: .line 231
StackMap locals:
StackMap stack:
dload 13 /* b */
dload 29 /* tol */
dsub
dstore 13 /* b */
57: .line 233
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 13 /* b */
invokevirtual org.apache.commons.math3.analysis.solvers.BrentSolver.computeObjectiveValue:(D)D
dstore 15 /* fb */
58: .line 234
dload 15 /* fb */
dconst_0
dcmpl
ifle 59
dload 19 /* fc */
dconst_0
dcmpl
ifgt 60
59: .line 235
StackMap locals:
StackMap stack:
dload 15 /* fb */
dconst_0
dcmpg
ifgt 10
dload 19 /* fc */
dconst_0
dcmpg
ifgt 10
60: .line 236
StackMap locals:
StackMap stack:
dload 9 /* a */
dstore 17 /* c */
61: .line 237
dload 11 /* fa */
dstore 19 /* fc */
62: .line 238
dload 13 /* b */
dload 9 /* a */
dsub
dstore 21 /* d */
63: .line 239
dload 21 /* d */
dstore 23 /* e */
end local 31 // double m
end local 29 // double tol
64: .line 165
goto 10
end local 27 // double eps
end local 25 // double t
end local 23 // double e
end local 21 // double d
end local 19 // double fc
end local 17 // double c
end local 15 // double fb
end local 13 // double b
end local 11 // double fa
end local 9 // double a
end local 7 // double fHi
end local 5 // double fLo
end local 3 // double hi
end local 1 // double lo
end local 0 // org.apache.commons.math3.analysis.solvers.BrentSolver this
LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lorg/apache/commons/math3/analysis/solvers/BrentSolver;
0 65 1 lo D
0 65 3 hi D
0 65 5 fLo D
0 65 7 fHi D
1 65 9 a D
2 65 11 fa D
3 65 13 b D
4 65 15 fb D
5 65 17 c D
6 65 19 fc D
7 65 21 d D
8 65 23 e D
9 65 25 t D
10 65 27 eps D
18 64 29 tol D
19 64 31 m D
28 48 33 s D
30 32 35 p D
35 48 35 p D
31 32 37 q D
33 48 37 q D
34 36 39 r D
MethodParameters:
Name Flags
lo
hi
fLo
fHi
}
SourceFile: "BrentSolver.java"