public class org.apache.commons.math3.analysis.solvers.MullerSolver 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.MullerSolver
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.MullerSolver this
0: .line 58
aload 0 /* this */
ldc 1.0E-6
invokespecial org.apache.commons.math3.analysis.solvers.MullerSolver.<init>:(D)V
1: .line 59
return
end local 0 // org.apache.commons.math3.analysis.solvers.MullerSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/MullerSolver;
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.MullerSolver this
start local 1 // double absoluteAccuracy
0: .line 66
aload 0 /* this */
dload 1 /* absoluteAccuracy */
invokespecial org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver.<init>:(D)V
1: .line 67
return
end local 1 // double absoluteAccuracy
end local 0 // org.apache.commons.math3.analysis.solvers.MullerSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/MullerSolver;
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.MullerSolver this
start local 1 // double relativeAccuracy
start local 3 // double absoluteAccuracy
0: .line 76
aload 0 /* this */
dload 1 /* relativeAccuracy */
dload 3 /* absoluteAccuracy */
invokespecial org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver.<init>:(DD)V
1: .line 77
return
end local 3 // double absoluteAccuracy
end local 1 // double relativeAccuracy
end local 0 // org.apache.commons.math3.analysis.solvers.MullerSolver this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/analysis/solvers/MullerSolver;
0 2 1 relativeAccuracy D
0 2 3 absoluteAccuracy D
MethodParameters:
Name Flags
relativeAccuracy
absoluteAccuracy
protected double doSolve();
descriptor: ()D
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=15, args_size=1
start local 0 // org.apache.commons.math3.analysis.solvers.MullerSolver this
0: .line 87
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getMin:()D
dstore 1 /* min */
start local 1 // double min
1: .line 88
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getMax:()D
dstore 3 /* max */
start local 3 // double max
2: .line 89
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getStartValue:()D
dstore 5 /* initial */
start local 5 // double initial
3: .line 91
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getFunctionValueAccuracy:()D
dstore 7 /* functionValueAccuracy */
start local 7 // double functionValueAccuracy
4: .line 93
aload 0 /* this */
dload 1 /* min */
dload 5 /* initial */
dload 3 /* max */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.verifySequence:(DDD)V
5: .line 96
aload 0 /* this */
dload 1 /* min */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 9 /* fMin */
start local 9 // double fMin
6: .line 97
dload 9 /* fMin */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7 /* functionValueAccuracy */
dcmpg
ifge 8
7: .line 98
dload 1 /* min */
dreturn
8: .line 100
StackMap locals: org.apache.commons.math3.analysis.solvers.MullerSolver double double double double double
StackMap stack:
aload 0 /* this */
dload 3 /* max */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 11 /* fMax */
start local 11 // double fMax
9: .line 101
dload 11 /* fMax */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7 /* functionValueAccuracy */
dcmpg
ifge 11
10: .line 102
dload 3 /* max */
dreturn
11: .line 104
StackMap locals: double
StackMap stack:
aload 0 /* this */
dload 5 /* initial */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 13 /* fInitial */
start local 13 // double fInitial
12: .line 105
dload 13 /* fInitial */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7 /* functionValueAccuracy */
dcmpg
ifge 14
13: .line 106
dload 5 /* initial */
dreturn
14: .line 109
StackMap locals: double
StackMap stack:
aload 0 /* this */
dload 1 /* min */
dload 3 /* max */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.verifyBracketing:(DD)V
15: .line 111
aload 0 /* this */
dload 1 /* min */
dload 5 /* initial */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.isBracketing:(DD)Z
ifeq 17
16: .line 112
aload 0 /* this */
dload 1 /* min */
dload 5 /* initial */
dload 9 /* fMin */
dload 13 /* fInitial */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.solve:(DDDD)D
dreturn
17: .line 114
StackMap locals:
StackMap stack:
aload 0 /* this */
dload 5 /* initial */
dload 3 /* max */
dload 13 /* fInitial */
dload 11 /* fMax */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.solve:(DDDD)D
dreturn
end local 13 // double fInitial
end local 11 // double fMax
end local 9 // double fMin
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.MullerSolver this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/commons/math3/analysis/solvers/MullerSolver;
1 18 1 min D
2 18 3 max D
3 18 5 initial D
4 18 7 functionValueAccuracy D
6 18 9 fMin D
9 18 11 fMax D
12 18 13 fInitial D
Exceptions:
throws org.apache.commons.math3.exception.TooManyEvaluationsException, org.apache.commons.math3.exception.NumberIsTooLargeException, org.apache.commons.math3.exception.NoBracketingException
private double solve(double, double, double, double);
descriptor: (DDDD)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=54, args_size=5
start local 0 // org.apache.commons.math3.analysis.solvers.MullerSolver this
start local 1 // double min
start local 3 // double max
start local 5 // double fMin
start local 7 // double fMax
0: .line 132
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getRelativeAccuracy:()D
dstore 9 /* relativeAccuracy */
start local 9 // double relativeAccuracy
1: .line 133
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getAbsoluteAccuracy:()D
dstore 11 /* absoluteAccuracy */
start local 11 // double absoluteAccuracy
2: .line 134
aload 0 /* this */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.getFunctionValueAccuracy:()D
dstore 13 /* functionValueAccuracy */
start local 13 // double functionValueAccuracy
3: .line 141
dload 1 /* min */
dstore 15 /* x0 */
start local 15 // double x0
4: .line 142
dload 5 /* fMin */
dstore 17 /* y0 */
start local 17 // double y0
5: .line 143
dload 3 /* max */
dstore 19 /* x2 */
start local 19 // double x2
6: .line 144
dload 7 /* fMax */
dstore 21 /* y2 */
start local 21 // double y2
7: .line 145
ldc 0.5
dload 15 /* x0 */
dload 19 /* x2 */
dadd
dmul
dstore 23 /* x1 */
start local 23 // double x1
8: .line 146
aload 0 /* this */
dload 23 /* x1 */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 25 /* y1 */
start local 25 // double y1
9: .line 148
ldc Infinity
dstore 27 /* oldx */
start local 27 // double oldx
10: .line 154
StackMap locals: org.apache.commons.math3.analysis.solvers.MullerSolver double double double double double double double double double double double double double double
StackMap stack:
dload 25 /* y1 */
dload 17 /* y0 */
dsub
dload 23 /* x1 */
dload 15 /* x0 */
dsub
ddiv
dstore 29 /* d01 */
start local 29 // double d01
11: .line 155
dload 21 /* y2 */
dload 25 /* y1 */
dsub
dload 19 /* x2 */
dload 23 /* x1 */
dsub
ddiv
dstore 31 /* d12 */
start local 31 // double d12
12: .line 156
dload 31 /* d12 */
dload 29 /* d01 */
dsub
dload 19 /* x2 */
dload 15 /* x0 */
dsub
ddiv
dstore 33 /* d012 */
start local 33 // double d012
13: .line 157
dload 29 /* d01 */
dload 23 /* x1 */
dload 15 /* x0 */
dsub
dload 33 /* d012 */
dmul
dadd
dstore 35 /* c1 */
start local 35 // double c1
14: .line 158
dload 35 /* c1 */
dload 35 /* c1 */
dmul
ldc 4.0
dload 25 /* y1 */
dmul
dload 33 /* d012 */
dmul
dsub
dstore 37 /* delta */
start local 37 // double delta
15: .line 159
dload 23 /* x1 */
ldc -2.0
dload 25 /* y1 */
dmul
dload 35 /* c1 */
dload 37 /* delta */
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dadd
ddiv
dadd
dstore 39 /* xplus */
start local 39 // double xplus
16: .line 160
dload 23 /* x1 */
ldc -2.0
dload 25 /* y1 */
dmul
dload 35 /* c1 */
dload 37 /* delta */
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dsub
ddiv
dadd
dstore 41 /* xminus */
start local 41 // double xminus
17: .line 163
aload 0 /* this */
dload 15 /* x0 */
dload 39 /* xplus */
dload 19 /* x2 */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.isSequence:(DDD)Z
ifeq 18
dload 39 /* xplus */
goto 19
StackMap locals: org.apache.commons.math3.analysis.solvers.MullerSolver double double double double double double double double double double double double double double double double double double double double double
StackMap stack:
18: dload 41 /* xminus */
StackMap locals:
StackMap stack: double
19: dstore 43 /* x */
start local 43 // double x
20: .line 164
aload 0 /* this */
dload 43 /* x */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 45 /* y */
start local 45 // double y
21: .line 167
dload 9 /* relativeAccuracy */
dload 43 /* x */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dmul
dload 11 /* absoluteAccuracy */
invokestatic org.apache.commons.math3.util.FastMath.max:(DD)D
dstore 47 /* tolerance */
start local 47 // double tolerance
22: .line 168
dload 43 /* x */
dload 27 /* oldx */
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 47 /* tolerance */
dcmpg
ifle 24
23: .line 169
dload 45 /* y */
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 13 /* functionValueAccuracy */
dcmpg
ifgt 25
24: .line 170
StackMap locals: double double double
StackMap stack:
dload 43 /* x */
dreturn
25: .line 177
StackMap locals:
StackMap stack:
dload 43 /* x */
dload 23 /* x1 */
dcmpg
ifge 26
dload 23 /* x1 */
dload 15 /* x0 */
dsub
ldc 0.95
dload 19 /* x2 */
dload 15 /* x0 */
dsub
dmul
dcmpl
ifgt 29
26: .line 178
StackMap locals:
StackMap stack:
dload 43 /* x */
dload 23 /* x1 */
dcmpl
ifle 27
dload 19 /* x2 */
dload 23 /* x1 */
dsub
ldc 0.95
dload 19 /* x2 */
dload 15 /* x0 */
dsub
dmul
dcmpl
ifgt 29
27: .line 179
StackMap locals:
StackMap stack:
dload 43 /* x */
dload 23 /* x1 */
dcmpl
ifeq 29
28: .line 177
iconst_0
goto 30
StackMap locals:
StackMap stack:
29: iconst_1
StackMap locals:
StackMap stack: int
30: istore 49 /* bisect */
start local 49 // boolean bisect
31: .line 181
iload 49 /* bisect */
ifne 47
32: .line 182
dload 43 /* x */
dload 23 /* x1 */
dcmpg
ifge 33
dload 15 /* x0 */
goto 34
StackMap locals: int
StackMap stack:
33: dload 23 /* x1 */
StackMap locals:
StackMap stack: double
34: dstore 15 /* x0 */
35: .line 183
dload 43 /* x */
dload 23 /* x1 */
dcmpg
ifge 36
dload 17 /* y0 */
goto 37
StackMap locals:
StackMap stack:
36: dload 25 /* y1 */
StackMap locals:
StackMap stack: double
37: dstore 17 /* y0 */
38: .line 184
dload 43 /* x */
dload 23 /* x1 */
dcmpl
ifle 39
dload 19 /* x2 */
goto 40
StackMap locals:
StackMap stack:
39: dload 23 /* x1 */
StackMap locals:
StackMap stack: double
40: dstore 19 /* x2 */
41: .line 185
dload 43 /* x */
dload 23 /* x1 */
dcmpl
ifle 42
dload 21 /* y2 */
goto 43
StackMap locals:
StackMap stack:
42: dload 25 /* y1 */
StackMap locals:
StackMap stack: double
43: dstore 21 /* y2 */
44: .line 186
dload 43 /* x */
dstore 23 /* x1 */
dload 45 /* y */
dstore 25 /* y1 */
45: .line 187
dload 43 /* x */
dstore 27 /* oldx */
46: .line 188
goto 10
47: .line 189
StackMap locals:
StackMap stack:
ldc 0.5
dload 15 /* x0 */
dload 19 /* x2 */
dadd
dmul
dstore 50 /* xm */
start local 50 // double xm
48: .line 190
aload 0 /* this */
dload 50 /* xm */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 52 /* ym */
start local 52 // double ym
49: .line 191
dload 17 /* y0 */
invokestatic org.apache.commons.math3.util.FastMath.signum:(D)D
dload 52 /* ym */
invokestatic org.apache.commons.math3.util.FastMath.signum:(D)D
dadd
dconst_0
dcmpl
ifne 52
50: .line 192
dload 50 /* xm */
dstore 19 /* x2 */
dload 52 /* ym */
dstore 21 /* y2 */
51: .line 193
goto 53
52: .line 194
StackMap locals: double double
StackMap stack:
dload 50 /* xm */
dstore 15 /* x0 */
dload 52 /* ym */
dstore 17 /* y0 */
53: .line 196
StackMap locals:
StackMap stack:
ldc 0.5
dload 15 /* x0 */
dload 19 /* x2 */
dadd
dmul
dstore 23 /* x1 */
54: .line 197
aload 0 /* this */
dload 23 /* x1 */
invokevirtual org.apache.commons.math3.analysis.solvers.MullerSolver.computeObjectiveValue:(D)D
dstore 25 /* y1 */
55: .line 198
ldc Infinity
dstore 27 /* oldx */
end local 52 // double ym
end local 50 // double xm
end local 49 // boolean bisect
end local 47 // double tolerance
end local 45 // double y
end local 43 // double x
end local 41 // double xminus
end local 39 // double xplus
end local 37 // double delta
end local 35 // double c1
end local 33 // double d012
end local 31 // double d12
end local 29 // double d01
56: .line 149
goto 10
end local 27 // double oldx
end local 25 // double y1
end local 23 // double x1
end local 21 // double y2
end local 19 // double x2
end local 17 // double y0
end local 15 // double x0
end local 13 // double functionValueAccuracy
end local 11 // double absoluteAccuracy
end local 9 // double relativeAccuracy
end local 7 // double fMax
end local 5 // double fMin
end local 3 // double max
end local 1 // double min
end local 0 // org.apache.commons.math3.analysis.solvers.MullerSolver this
LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lorg/apache/commons/math3/analysis/solvers/MullerSolver;
0 57 1 min D
0 57 3 max D
0 57 5 fMin D
0 57 7 fMax D
1 57 9 relativeAccuracy D
2 57 11 absoluteAccuracy D
3 57 13 functionValueAccuracy D
4 57 15 x0 D
5 57 17 y0 D
6 57 19 x2 D
7 57 21 y2 D
8 57 23 x1 D
9 57 25 y1 D
10 57 27 oldx D
11 56 29 d01 D
12 56 31 d12 D
13 56 33 d012 D
14 56 35 c1 D
15 56 37 delta D
16 56 39 xplus D
17 56 41 xminus D
20 56 43 x D
21 56 45 y D
22 56 47 tolerance D
31 56 49 bisect Z
48 56 50 xm D
49 56 52 ym D
Exceptions:
throws org.apache.commons.math3.exception.TooManyEvaluationsException
MethodParameters:
Name Flags
min
max
fMin
fMax
}
SourceFile: "MullerSolver.java"