public class org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm implements org.apache.commons.math3.analysis.UnivariateFunction
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm
super_class: java.lang.Object
{
private double[] coefficients;
descriptor: [D
flags: (0x0002) ACC_PRIVATE
private final double[] x;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] y;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean coefficientsComputed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(double[], double[]);
descriptor: ([D[D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
arraylength
newarray 7
putfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
2: aload 0
aload 2
arraylength
newarray 7
putfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
3: aload 1
iconst_0
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 2
iconst_0
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 0
iconst_0
putfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficientsComputed:Z
6: aload 1
aload 2
iconst_0
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.verifyInterpolationArray:([D[DZ)Z
ifne 9
7: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iconst_1
anewarray double[]
dup
iconst_0
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
aastore
invokestatic org.apache.commons.math3.util.MathArrays.sortInPlace:([D[[D)V
8: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
iconst_1
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.verifyInterpolationArray:([D[DZ)Z
pop
9: StackMap locals: org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm double[] double[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
0 10 1 x [D
0 10 2 y [D
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NumberIsTooSmallException, org.apache.commons.math3.exception.NonMonotonicSequenceException
MethodParameters:
Name Flags
x
y
public double value(double);
descriptor: (D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
dload 1
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.evaluateInternal:([D[DD)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
0 1 1 z D
MethodParameters:
Name Flags
z
public int degree();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
arraylength
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
public double[] getInterpolatingPoints();
descriptor: ()[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
arraylength
newarray 7
astore 1
start local 1 1: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iconst_0
aload 1
iconst_0
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
1 3 1 out [D
public double[] getInterpolatingValues();
descriptor: ()[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
arraylength
newarray 7
astore 1
start local 1 1: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
iconst_0
aload 1
iconst_0
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
1 3 1 out [D
public double[] getCoefficients();
descriptor: ()[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficientsComputed:Z
ifne 2
1: aload 0
invokevirtual org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.computeCoefficients:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
arraylength
newarray 7
astore 1
start local 1 3: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
iconst_0
aload 1
iconst_0
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
3 5 1 out [D
public static double evaluate(double[], double[], double);
descriptor: ([D[DD)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.verifyInterpolationArray:([D[DZ)Z
ifeq 2
1: aload 0
aload 1
dload 2
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.evaluateInternal:([D[DD)D
dreturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
newarray 7
astore 4
start local 4 3: aload 1
arraylength
newarray 7
astore 5
start local 5 4: aload 0
iconst_0
aload 4
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 1
iconst_0
aload 5
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 4
iconst_1
anewarray double[]
dup
iconst_0
aload 5
aastore
invokestatic org.apache.commons.math3.util.MathArrays.sortInPlace:([D[[D)V
7: aload 4
aload 5
iconst_1
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.verifyInterpolationArray:([D[DZ)Z
pop
8: aload 4
aload 5
dload 2
invokestatic org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.evaluateInternal:([D[DD)D
dreturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 x [D
0 9 1 y [D
0 9 2 z D
3 9 4 xNew [D
4 9 5 yNew [D
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NumberIsTooSmallException, org.apache.commons.math3.exception.NonMonotonicSequenceException
MethodParameters:
Name Flags
x
y
z
private static double evaluateInternal(double[], double[], double);
descriptor: ([D[DD)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=22, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 4
start local 4 1: aload 0
arraylength
istore 5
start local 5 2: iload 5
newarray 7
astore 6
start local 6 3: iload 5
newarray 7
astore 7
start local 7 4: ldc Infinity
dstore 8
start local 8 5: iconst_0
istore 10
start local 10 6: goto 14
7: StackMap locals: double[] double[] double int int double[] double[] double int
StackMap stack:
aload 6
iload 10
aload 1
iload 10
daload
dastore
8: aload 7
iload 10
aload 1
iload 10
daload
dastore
9: dload 2
aload 0
iload 10
daload
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dstore 11
start local 11 10: dload 11
dload 8
dcmpg
ifge 13
11: iload 10
istore 4
12: dload 11
dstore 8
end local 11 13: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
14: iload 10
iload 5
if_icmplt 7
end local 10 15: aload 1
iload 4
daload
dstore 10
start local 10 16: iconst_1
istore 12
start local 12 17: goto 34
18: StackMap locals: double[] double[] double int int double[] double[] double double int
StackMap stack:
iconst_0
istore 13
start local 13 19: goto 27
20: StackMap locals: int
StackMap stack:
aload 0
iload 13
daload
dload 2
dsub
dstore 14
start local 14 21: aload 0
iload 12
iload 13
iadd
daload
dload 2
dsub
dstore 16
start local 16 22: aload 0
iload 13
daload
aload 0
iload 12
iload 13
iadd
daload
dsub
dstore 18
start local 18 23: aload 6
iload 13
iconst_1
iadd
daload
aload 7
iload 13
daload
dsub
dload 18
ddiv
dstore 20
start local 20 24: aload 6
iload 13
dload 14
dload 20
dmul
dastore
25: aload 7
iload 13
dload 16
dload 20
dmul
dastore
end local 20 end local 18 end local 16 end local 14 26: iinc 13 1
StackMap locals:
StackMap stack:
27: iload 13
iload 5
iload 12
isub
if_icmplt 20
end local 13 28: iload 4
i2d
ldc 0.5
iload 5
iload 12
isub
iconst_1
iadd
i2d
dmul
dcmpg
ifge 31
29: dload 10
aload 6
iload 4
daload
dadd
dstore 10
30: goto 33
31: StackMap locals:
StackMap stack:
iinc 4 -1
32: dload 10
aload 7
iload 4
daload
dadd
dstore 10
33: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
34: iload 12
iload 5
if_icmplt 18
end local 12 35: dload 10
dreturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 x [D
0 36 1 y [D
0 36 2 z D
1 36 4 nearest I
2 36 5 n I
3 36 6 c [D
4 36 7 d [D
5 36 8 min_dist D
6 15 10 i I
10 13 11 dist D
16 36 10 value D
17 35 12 i I
19 28 13 j I
21 26 14 tc D
22 26 16 td D
23 26 18 divider D
24 26 20 w D
MethodParameters:
Name Flags
x
y
z
protected void computeCoefficients();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.degree:()I
iconst_1
iadd
istore 1
start local 1 1: aload 0
iload 1
newarray 7
putfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
iload 2
dconst_0
dastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 1
if_icmplt 4
end local 2 7: iload 1
iconst_1
iadd
newarray 7
astore 2
start local 2 8: aload 2
iconst_0
dconst_1
dastore
9: iconst_0
istore 3
start local 3 10: goto 19
11: StackMap locals: org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm int double[] int
StackMap stack:
iload 3
istore 4
start local 4 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 2
iload 4
aload 2
iload 4
iconst_1
isub
daload
aload 2
iload 4
daload
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iload 3
daload
dmul
dsub
dastore
14: iinc 4 -1
StackMap locals:
StackMap stack:
15: iload 4
ifgt 13
end local 4 16: aload 2
iconst_0
dup2
daload
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iload 3
daload
dneg
dmul
dastore
17: aload 2
iload 3
iconst_1
iadd
dconst_1
dastore
18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
iload 1
if_icmplt 11
end local 3 20: iload 1
newarray 7
astore 3
start local 3 21: iconst_0
istore 4
start local 4 22: goto 40
23: StackMap locals: org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm int double[] double[] int
StackMap stack:
dconst_1
dstore 5
start local 5 24: iconst_0
istore 7
start local 7 25: goto 29
26: StackMap locals: double int
StackMap stack:
iload 4
iload 7
if_icmpeq 28
27: dload 5
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iload 4
daload
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iload 7
daload
dsub
dmul
dstore 5
28: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
29: iload 7
iload 1
if_icmplt 26
end local 7 30: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.y:[D
iload 4
daload
dload 5
ddiv
dstore 7
start local 7 31: aload 3
iload 1
iconst_1
isub
aload 2
iload 1
daload
dastore
32: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
iload 1
iconst_1
isub
dup2
daload
dload 7
aload 3
iload 1
iconst_1
isub
daload
dmul
dadd
dastore
33: iload 1
iconst_2
isub
istore 9
start local 9 34: goto 38
35: StackMap locals: org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm int double[] double[] int double double int
StackMap stack:
aload 3
iload 9
aload 2
iload 9
iconst_1
iadd
daload
aload 3
iload 9
iconst_1
iadd
daload
aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.x:[D
iload 4
daload
dmul
dadd
dastore
36: aload 0
getfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficients:[D
iload 9
dup2
daload
dload 7
aload 3
iload 9
daload
dmul
dadd
dastore
37: iinc 9 -1
StackMap locals:
StackMap stack:
38: iload 9
ifge 35
end local 9 end local 7 end local 5 39: iinc 4 1
StackMap locals:
StackMap stack:
40: iload 4
iload 1
if_icmplt 23
end local 4 41: aload 0
iconst_1
putfield org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.coefficientsComputed:Z
42: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunctionLagrangeForm;
1 43 1 n I
3 7 2 i I
8 43 2 c [D
10 20 3 i I
12 16 4 j I
21 43 3 tc [D
22 41 4 i I
24 39 5 d D
25 30 7 j I
31 39 7 t D
34 39 9 j I
public static boolean verifyInterpolationArray(double[], double[], boolean);
descriptor: ([D[DZ)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
aload 1
arraylength
if_icmpeq 2
1: new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 0
arraylength
aload 1
arraylength
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
arraylength
iconst_2
if_icmpge 4
3: new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.WRONG_NUMBER_OF_POINTS:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.commons.math3.util.MathArrays$OrderDirection.INCREASING:Lorg/apache/commons/math3/util/MathArrays$OrderDirection;
iconst_1
iload 2
invokestatic org.apache.commons.math3.util.MathArrays.checkOrder:([DLorg/apache/commons/math3/util/MathArrays$OrderDirection;ZZ)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [D
0 5 1 y [D
0 5 2 abort Z
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NumberIsTooSmallException, org.apache.commons.math3.exception.NonMonotonicSequenceException
MethodParameters:
Name Flags
x
y
abort
}
SourceFile: "PolynomialFunctionLagrangeForm.java"
InnerClasses:
public final OrderDirection = org.apache.commons.math3.util.MathArrays$OrderDirection of org.apache.commons.math3.util.MathArrays