public class org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator implements org.apache.commons.math3.analysis.interpolation.UnivariateInterpolator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator
super_class: java.lang.Object
{
private static final int MINIMUM_NUMBER_POINTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
0: .line 48
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/analysis/interpolation/AkimaSplineInterpolator;
public org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction interpolate(double[], double[]);
descriptor: ([D[D)Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=18, args_size=3
start local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
start local 1 // double[] xvals
start local 2 // double[] yvals
0: .line 71
aload 1 /* xvals */
ifnull 2
1: .line 72
aload 2 /* yvals */
ifnonnull 3
2: .line 73
StackMap locals:
StackMap stack:
new org.apache.commons.math3.exception.NullArgumentException
dup
invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
athrow
3: .line 76
StackMap locals:
StackMap stack:
aload 1 /* xvals */
arraylength
aload 2 /* yvals */
arraylength
if_icmpeq 5
4: .line 77
new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 1 /* xvals */
arraylength
aload 2 /* yvals */
arraylength
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
5: .line 80
StackMap locals:
StackMap stack:
aload 1 /* xvals */
arraylength
iconst_5
if_icmpge 10
6: .line 81
new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.NUMBER_OF_POINTS:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
7: .line 82
aload 1 /* xvals */
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
8: .line 83
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
9: .line 81
invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
10: .line 86
StackMap locals:
StackMap stack:
aload 1 /* xvals */
invokestatic org.apache.commons.math3.util.MathArrays.checkOrder:([D)V
11: .line 88
aload 1 /* xvals */
arraylength
iconst_1
isub
istore 3 /* numberOfDiffAndWeightElements */
start local 3 // int numberOfDiffAndWeightElements
12: .line 90
iload 3 /* numberOfDiffAndWeightElements */
newarray 7
astore 4 /* differences */
start local 4 // double[] differences
13: .line 91
iload 3 /* numberOfDiffAndWeightElements */
newarray 7
astore 5 /* weights */
start local 5 // double[] weights
14: .line 93
iconst_0
istore 6 /* i */
start local 6 // int i
15: goto 18
16: .line 94
StackMap locals: org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator double[] double[] int double[] double[] int
StackMap stack:
aload 4 /* differences */
iload 6 /* i */
aload 2 /* yvals */
iload 6 /* i */
iconst_1
iadd
daload
aload 2 /* yvals */
iload 6 /* i */
daload
dsub
aload 1 /* xvals */
iload 6 /* i */
iconst_1
iadd
daload
aload 1 /* xvals */
iload 6 /* i */
daload
dsub
ddiv
dastore
17: .line 93
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 6 /* i */
aload 4 /* differences */
arraylength
if_icmplt 16
end local 6 // int i
19: .line 97
iconst_1
istore 6 /* i */
start local 6 // int i
20: goto 23
21: .line 98
StackMap locals:
StackMap stack:
aload 5 /* weights */
iload 6 /* i */
aload 4 /* differences */
iload 6 /* i */
daload
aload 4 /* differences */
iload 6 /* i */
iconst_1
isub
daload
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dastore
22: .line 97
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
23: iload 6 /* i */
aload 5 /* weights */
arraylength
if_icmplt 21
end local 6 // int i
24: .line 102
aload 1 /* xvals */
arraylength
newarray 7
astore 6 /* firstDerivatives */
start local 6 // double[] firstDerivatives
25: .line 104
iconst_2
istore 7 /* i */
start local 7 // int i
26: goto 38
27: .line 105
StackMap locals: org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator double[] double[] int double[] double[] double[] int
StackMap stack:
aload 5 /* weights */
iload 7 /* i */
iconst_1
iadd
daload
dstore 8 /* wP */
start local 8 // double wP
28: .line 106
aload 5 /* weights */
iload 7 /* i */
iconst_1
isub
daload
dstore 10 /* wM */
start local 10 // double wM
29: .line 107
dload 8 /* wP */
dconst_0
invokestatic org.apache.commons.math3.util.Precision.equals:(DD)Z
ifeq 36
30: .line 108
dload 10 /* wM */
dconst_0
invokestatic org.apache.commons.math3.util.Precision.equals:(DD)Z
ifeq 36
31: .line 109
aload 1 /* xvals */
iload 7 /* i */
daload
dstore 12 /* xv */
start local 12 // double xv
32: .line 110
aload 1 /* xvals */
iload 7 /* i */
iconst_1
iadd
daload
dstore 14 /* xvP */
start local 14 // double xvP
33: .line 111
aload 1 /* xvals */
iload 7 /* i */
iconst_1
isub
daload
dstore 16 /* xvM */
start local 16 // double xvM
34: .line 112
aload 6 /* firstDerivatives */
iload 7 /* i */
dload 14 /* xvP */
dload 12 /* xv */
dsub
aload 4 /* differences */
iload 7 /* i */
iconst_1
isub
daload
dmul
dload 12 /* xv */
dload 16 /* xvM */
dsub
aload 4 /* differences */
iload 7 /* i */
daload
dmul
dadd
dload 14 /* xvP */
dload 16 /* xvM */
dsub
ddiv
dastore
end local 16 // double xvM
end local 14 // double xvP
end local 12 // double xv
35: .line 113
goto 37
36: .line 114
StackMap locals: double double
StackMap stack:
aload 6 /* firstDerivatives */
iload 7 /* i */
dload 8 /* wP */
aload 4 /* differences */
iload 7 /* i */
iconst_1
isub
daload
dmul
dload 10 /* wM */
aload 4 /* differences */
iload 7 /* i */
daload
dmul
dadd
dload 8 /* wP */
dload 10 /* wM */
dadd
ddiv
dastore
end local 10 // double wM
end local 8 // double wP
37: .line 104
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
38: iload 7 /* i */
aload 6 /* firstDerivatives */
arraylength
iconst_2
isub
if_icmplt 27
end local 7 // int i
39: .line 118
aload 6 /* firstDerivatives */
iconst_0
aload 0 /* this */
aload 1 /* xvals */
aload 2 /* yvals */
iconst_0
iconst_0
iconst_1
iconst_2
invokevirtual org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator.differentiateThreePoint:([D[DIIII)D
dastore
40: .line 119
aload 6 /* firstDerivatives */
iconst_1
aload 0 /* this */
aload 1 /* xvals */
aload 2 /* yvals */
iconst_1
iconst_0
iconst_1
iconst_2
invokevirtual org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator.differentiateThreePoint:([D[DIIII)D
dastore
41: .line 120
aload 6 /* firstDerivatives */
aload 1 /* xvals */
arraylength
iconst_2
isub
aload 0 /* this */
aload 1 /* xvals */
aload 2 /* yvals */
aload 1 /* xvals */
arraylength
iconst_2
isub
42: .line 121
aload 1 /* xvals */
arraylength
iconst_3
isub
aload 1 /* xvals */
arraylength
iconst_2
isub
43: .line 122
aload 1 /* xvals */
arraylength
iconst_1
isub
44: .line 120
invokevirtual org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator.differentiateThreePoint:([D[DIIII)D
dastore
45: .line 123
aload 6 /* firstDerivatives */
aload 1 /* xvals */
arraylength
iconst_1
isub
aload 0 /* this */
aload 1 /* xvals */
aload 2 /* yvals */
aload 1 /* xvals */
arraylength
iconst_1
isub
46: .line 124
aload 1 /* xvals */
arraylength
iconst_3
isub
aload 1 /* xvals */
arraylength
iconst_2
isub
47: .line 125
aload 1 /* xvals */
arraylength
iconst_1
isub
48: .line 123
invokevirtual org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator.differentiateThreePoint:([D[DIIII)D
dastore
49: .line 127
aload 0 /* this */
aload 1 /* xvals */
aload 2 /* yvals */
aload 6 /* firstDerivatives */
invokevirtual org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator.interpolateHermiteSorted:([D[D[D)Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
areturn
end local 6 // double[] firstDerivatives
end local 5 // double[] weights
end local 4 // double[] differences
end local 3 // int numberOfDiffAndWeightElements
end local 2 // double[] yvals
end local 1 // double[] xvals
end local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lorg/apache/commons/math3/analysis/interpolation/AkimaSplineInterpolator;
0 50 1 xvals [D
0 50 2 yvals [D
12 50 3 numberOfDiffAndWeightElements I
13 50 4 differences [D
14 50 5 weights [D
15 19 6 i I
20 24 6 i I
25 50 6 firstDerivatives [D
26 39 7 i I
28 37 8 wP D
29 37 10 wM D
32 35 12 xv D
33 35 14 xvP D
34 35 16 xvM D
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NumberIsTooSmallException, org.apache.commons.math3.exception.NonMonotonicSequenceException
MethodParameters:
Name Flags
xvals
yvals
private double differentiateThreePoint(double[], double[], int, int, int, int);
descriptor: ([D[DIIII)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=23, args_size=7
start local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
start local 1 // double[] xvals
start local 2 // double[] yvals
start local 3 // int indexOfDifferentiation
start local 4 // int indexOfFirstSample
start local 5 // int indexOfSecondsample
start local 6 // int indexOfThirdSample
0: .line 148
aload 2 /* yvals */
iload 4 /* indexOfFirstSample */
daload
dstore 7 /* x0 */
start local 7 // double x0
1: .line 149
aload 2 /* yvals */
iload 5 /* indexOfSecondsample */
daload
dstore 9 /* x1 */
start local 9 // double x1
2: .line 150
aload 2 /* yvals */
iload 6 /* indexOfThirdSample */
daload
dstore 11 /* x2 */
start local 11 // double x2
3: .line 152
aload 1 /* xvals */
iload 3 /* indexOfDifferentiation */
daload
aload 1 /* xvals */
iload 4 /* indexOfFirstSample */
daload
dsub
dstore 13 /* t */
start local 13 // double t
4: .line 153
aload 1 /* xvals */
iload 5 /* indexOfSecondsample */
daload
aload 1 /* xvals */
iload 4 /* indexOfFirstSample */
daload
dsub
dstore 15 /* t1 */
start local 15 // double t1
5: .line 154
aload 1 /* xvals */
iload 6 /* indexOfThirdSample */
daload
aload 1 /* xvals */
iload 4 /* indexOfFirstSample */
daload
dsub
dstore 17 /* t2 */
start local 17 // double t2
6: .line 156
dload 11 /* x2 */
dload 7 /* x0 */
dsub
dload 17 /* t2 */
dload 15 /* t1 */
ddiv
dload 9 /* x1 */
dload 7 /* x0 */
dsub
dmul
dsub
dload 17 /* t2 */
dload 17 /* t2 */
dmul
dload 15 /* t1 */
dload 17 /* t2 */
dmul
dsub
ddiv
dstore 19 /* a */
start local 19 // double a
7: .line 157
dload 9 /* x1 */
dload 7 /* x0 */
dsub
dload 19 /* a */
dload 15 /* t1 */
dmul
dload 15 /* t1 */
dmul
dsub
dload 15 /* t1 */
ddiv
dstore 21 /* b */
start local 21 // double b
8: .line 159
ldc 2.0
dload 19 /* a */
dmul
dload 13 /* t */
dmul
dload 21 /* b */
dadd
dreturn
end local 21 // double b
end local 19 // double a
end local 17 // double t2
end local 15 // double t1
end local 13 // double t
end local 11 // double x2
end local 9 // double x1
end local 7 // double x0
end local 6 // int indexOfThirdSample
end local 5 // int indexOfSecondsample
end local 4 // int indexOfFirstSample
end local 3 // int indexOfDifferentiation
end local 2 // double[] yvals
end local 1 // double[] xvals
end local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/commons/math3/analysis/interpolation/AkimaSplineInterpolator;
0 9 1 xvals [D
0 9 2 yvals [D
0 9 3 indexOfDifferentiation I
0 9 4 indexOfFirstSample I
0 9 5 indexOfSecondsample I
0 9 6 indexOfThirdSample I
1 9 7 x0 D
2 9 9 x1 D
3 9 11 x2 D
4 9 13 t D
5 9 15 t1 D
6 9 17 t2 D
7 9 19 a D
8 9 21 b D
MethodParameters:
Name Flags
xvals
yvals
indexOfDifferentiation
indexOfFirstSample
indexOfSecondsample
indexOfThirdSample
private org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction interpolateHermiteSorted(double[], double[], double[]);
descriptor: ([D[D[D)Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=20, args_size=4
start local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
start local 1 // double[] xvals
start local 2 // double[] yvals
start local 3 // double[] firstDerivatives
0: .line 175
aload 1 /* xvals */
arraylength
aload 2 /* yvals */
arraylength
if_icmpeq 2
1: .line 176
new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 1 /* xvals */
arraylength
aload 2 /* yvals */
arraylength
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
2: .line 179
StackMap locals:
StackMap stack:
aload 1 /* xvals */
arraylength
aload 3 /* firstDerivatives */
arraylength
if_icmpeq 6
3: .line 180
new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 1 /* xvals */
arraylength
4: .line 181
aload 3 /* firstDerivatives */
arraylength
5: .line 180
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
6: .line 185
StackMap locals:
StackMap stack:
aload 1 /* xvals */
arraylength
iconst_2
if_icmpge 11
7: .line 186
new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.NUMBER_OF_POINTS:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
8: .line 187
aload 1 /* xvals */
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
9: .line 188
iconst_1
10: .line 186
invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
11: .line 191
StackMap locals:
StackMap stack:
aload 1 /* xvals */
arraylength
iconst_1
isub
istore 4 /* size */
start local 4 // int size
12: .line 192
iload 4 /* size */
anewarray org.apache.commons.math3.analysis.polynomials.PolynomialFunction
astore 5 /* polynomials */
start local 5 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] polynomials
13: .line 193
iconst_4
newarray 7
astore 6 /* coefficients */
start local 6 // double[] coefficients
14: .line 195
iconst_0
istore 7 /* i */
start local 7 // int i
15: goto 28
16: .line 196
StackMap locals: org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator double[] double[] double[] int org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] double[] int
StackMap stack:
aload 1 /* xvals */
iload 7 /* i */
iconst_1
iadd
daload
aload 1 /* xvals */
iload 7 /* i */
daload
dsub
dstore 8 /* w */
start local 8 // double w
17: .line 197
dload 8 /* w */
dload 8 /* w */
dmul
dstore 10 /* w2 */
start local 10 // double w2
18: .line 199
aload 2 /* yvals */
iload 7 /* i */
daload
dstore 12 /* yv */
start local 12 // double yv
19: .line 200
aload 2 /* yvals */
iload 7 /* i */
iconst_1
iadd
daload
dstore 14 /* yvP */
start local 14 // double yvP
20: .line 202
aload 3 /* firstDerivatives */
iload 7 /* i */
daload
dstore 16 /* fd */
start local 16 // double fd
21: .line 203
aload 3 /* firstDerivatives */
iload 7 /* i */
iconst_1
iadd
daload
dstore 18 /* fdP */
start local 18 // double fdP
22: .line 205
aload 6 /* coefficients */
iconst_0
dload 12 /* yv */
dastore
23: .line 206
aload 6 /* coefficients */
iconst_1
aload 3 /* firstDerivatives */
iload 7 /* i */
daload
dastore
24: .line 207
aload 6 /* coefficients */
iconst_2
ldc 3.0
dload 14 /* yvP */
dload 12 /* yv */
dsub
dmul
dload 8 /* w */
ddiv
ldc 2.0
dload 16 /* fd */
dmul
dsub
dload 18 /* fdP */
dsub
dload 8 /* w */
ddiv
dastore
25: .line 208
aload 6 /* coefficients */
iconst_3
ldc 2.0
dload 12 /* yv */
dload 14 /* yvP */
dsub
dmul
dload 8 /* w */
ddiv
dload 16 /* fd */
dadd
dload 18 /* fdP */
dadd
dload 10 /* w2 */
ddiv
dastore
26: .line 209
aload 5 /* polynomials */
iload 7 /* i */
new org.apache.commons.math3.analysis.polynomials.PolynomialFunction
dup
aload 6 /* coefficients */
invokespecial org.apache.commons.math3.analysis.polynomials.PolynomialFunction.<init>:([D)V
aastore
end local 18 // double fdP
end local 16 // double fd
end local 14 // double yvP
end local 12 // double yv
end local 10 // double w2
end local 8 // double w
27: .line 195
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
28: iload 7 /* i */
aload 5 /* polynomials */
arraylength
if_icmplt 16
end local 7 // int i
29: .line 212
new org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction
dup
aload 1 /* xvals */
aload 5 /* polynomials */
invokespecial org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.<init>:([D[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;)V
areturn
end local 6 // double[] coefficients
end local 5 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] polynomials
end local 4 // int size
end local 3 // double[] firstDerivatives
end local 2 // double[] yvals
end local 1 // double[] xvals
end local 0 // org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/apache/commons/math3/analysis/interpolation/AkimaSplineInterpolator;
0 30 1 xvals [D
0 30 2 yvals [D
0 30 3 firstDerivatives [D
12 30 4 size I
13 30 5 polynomials [Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
14 30 6 coefficients [D
15 29 7 i I
17 27 8 w D
18 27 10 w2 D
19 27 12 yv D
20 27 14 yvP D
21 27 16 fd D
22 27 18 fdP D
MethodParameters:
Name Flags
xvals
yvals
firstDerivatives
public org.apache.commons.math3.analysis.UnivariateFunction interpolate(double[], double[]);
descriptor: ([D[D)Lorg/apache/commons/math3/analysis/UnivariateFunction;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: .line 1
aload 0
aload 1
aload 2
invokevirtual org.apache.commons.math3.analysis.interpolation.AkimaSplineInterpolator.interpolate:([D[D)Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws org.apache.commons.math3.exception.MathIllegalArgumentException, org.apache.commons.math3.exception.DimensionMismatchException
}
SourceFile: "AkimaSplineInterpolator.java"