public class org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory extends org.apache.commons.math3.analysis.integration.gauss.BaseRuleFactory<java.lang.Double>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory
super_class: org.apache.commons.math3.analysis.integration.gauss.BaseRuleFactory
{
private static final double SQRT_PI;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.772453850905516
private static final double H0;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.7511255444649425
private static final double H1;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0622519320271968
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.integration.gauss.HermiteRuleFactory this
0: .line 51
aload 0 /* this */
invokespecial org.apache.commons.math3.analysis.integration.gauss.BaseRuleFactory.<init>:()V
return
end local 0 // org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/analysis/integration/gauss/HermiteRuleFactory;
protected org.apache.commons.math3.util.Pair<java.lang.Double[], java.lang.Double[]> computeRule(int);
descriptor: (I)Lorg/apache/commons/math3/util/Pair;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=40, args_size=2
start local 0 // org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory this
start local 1 // int numberOfPoints
0: .line 64
iload 1 /* numberOfPoints */
iconst_1
if_icmpne 4
1: .line 66
new org.apache.commons.math3.util.Pair
dup
iconst_1
anewarray java.lang.Double
dup
iconst_0
dconst_0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
2: .line 67
iconst_1
anewarray java.lang.Double
dup
iconst_0
ldc 1.772453850905516
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
3: .line 66
invokespecial org.apache.commons.math3.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
4: .line 73
StackMap locals:
StackMap stack:
iload 1 /* numberOfPoints */
iconst_1
isub
istore 2 /* lastNumPoints */
start local 2 // int lastNumPoints
5: .line 74
aload 0 /* this */
iload 2 /* lastNumPoints */
invokevirtual org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory.getRuleInternal:(I)Lorg/apache/commons/math3/util/Pair;
invokevirtual org.apache.commons.math3.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Double[]
astore 3 /* previousPoints */
start local 3 // java.lang.Double[] previousPoints
6: .line 77
iload 1 /* numberOfPoints */
anewarray java.lang.Double
astore 4 /* points */
start local 4 // java.lang.Double[] points
7: .line 78
iload 1 /* numberOfPoints */
anewarray java.lang.Double
astore 5 /* weights */
start local 5 // java.lang.Double[] weights
8: .line 80
iconst_2
iload 2 /* lastNumPoints */
imul
i2d
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 6 /* sqrtTwoTimesLastNumPoints */
start local 6 // double sqrtTwoTimesLastNumPoints
9: .line 81
iconst_2
iload 1 /* numberOfPoints */
imul
i2d
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 8 /* sqrtTwoTimesNumPoints */
start local 8 // double sqrtTwoTimesNumPoints
10: .line 84
iload 1 /* numberOfPoints */
iconst_2
idiv
istore 10 /* iMax */
start local 10 // int iMax
11: .line 85
iconst_0
istore 11 /* i */
start local 11 // int i
12: goto 75
13: .line 87
StackMap locals: org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory int int java.lang.Double[] java.lang.Double[] java.lang.Double[] double double int int
StackMap stack:
iload 11 /* i */
ifne 14
dload 6 /* sqrtTwoTimesLastNumPoints */
dneg
goto 15
StackMap locals:
StackMap stack:
14: aload 3 /* previousPoints */
iload 11 /* i */
iconst_1
isub
aaload
invokevirtual java.lang.Double.doubleValue:()D
StackMap locals:
StackMap stack: double
15: dstore 12 /* a */
start local 12 // double a
16: .line 89
iload 10 /* iMax */
iconst_1
if_icmpne 17
ldc -0.5
goto 18
StackMap locals: double
StackMap stack:
17: aload 3 /* previousPoints */
iload 11 /* i */
aaload
invokevirtual java.lang.Double.doubleValue:()D
StackMap locals:
StackMap stack: double
18: dstore 14 /* b */
start local 14 // double b
19: .line 92
ldc 0.7511255444649425
dstore 16 /* hma */
start local 16 // double hma
20: .line 94
ldc 1.0622519320271968
dload 12 /* a */
dmul
dstore 18 /* ha */
start local 18 // double ha
21: .line 96
ldc 0.7511255444649425
dstore 20 /* hmb */
start local 20 // double hmb
22: .line 98
ldc 1.0622519320271968
dload 14 /* b */
dmul
dstore 22 /* hb */
start local 22 // double hb
23: .line 99
iconst_1
istore 24 /* j */
start local 24 // int j
24: goto 35
25: .line 101
StackMap locals: org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory int int java.lang.Double[] java.lang.Double[] java.lang.Double[] double double int int double double double double double double int
StackMap stack:
iload 24 /* j */
iconst_1
iadd
i2d
dstore 25 /* jp1 */
start local 25 // double jp1
26: .line 102
ldc 2.0
dload 25 /* jp1 */
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 27 /* s */
start local 27 // double s
27: .line 103
iload 24 /* j */
i2d
dload 25 /* jp1 */
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 29 /* sm */
start local 29 // double sm
28: .line 104
dload 27 /* s */
dload 12 /* a */
dmul
dload 18 /* ha */
dmul
dload 29 /* sm */
dload 16 /* hma */
dmul
dsub
dstore 31 /* hpa */
start local 31 // double hpa
29: .line 105
dload 27 /* s */
dload 14 /* b */
dmul
dload 22 /* hb */
dmul
dload 29 /* sm */
dload 20 /* hmb */
dmul
dsub
dstore 33 /* hpb */
start local 33 // double hpb
30: .line 106
dload 18 /* ha */
dstore 16 /* hma */
31: .line 107
dload 31 /* hpa */
dstore 18 /* ha */
32: .line 108
dload 22 /* hb */
dstore 20 /* hmb */
33: .line 109
dload 33 /* hpb */
dstore 22 /* hb */
end local 33 // double hpb
end local 31 // double hpa
end local 29 // double sm
end local 27 // double s
end local 25 // double jp1
34: .line 99
iinc 24 /* j */ 1
StackMap locals:
StackMap stack:
35: iload 24 /* j */
iload 1 /* numberOfPoints */
if_icmplt 25
end local 24 // int j
36: .line 114
ldc 0.5
dload 12 /* a */
dload 14 /* b */
dadd
dmul
dstore 24 /* c */
start local 24 // double c
37: .line 116
ldc 0.7511255444649425
dstore 26 /* hmc */
start local 26 // double hmc
38: .line 118
ldc 1.0622519320271968
dload 24 /* c */
dmul
dstore 28 /* hc */
start local 28 // double hc
39: .line 119
iconst_0
istore 30 /* done */
start local 30 // boolean done
40: .line 120
goto 66
41: .line 121
StackMap locals: org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory int int java.lang.Double[] java.lang.Double[] java.lang.Double[] double double int int double double double double double double double double double int
StackMap stack:
dload 14 /* b */
dload 12 /* a */
dsub
dload 24 /* c */
invokestatic java.lang.Math.ulp:(D)D
dcmpg
ifgt 42
iconst_1
goto 43
StackMap locals:
StackMap stack:
42: iconst_0
StackMap locals:
StackMap stack: int
43: istore 30 /* done */
44: .line 122
ldc 0.7511255444649425
dstore 26 /* hmc */
45: .line 123
ldc 1.0622519320271968
dload 24 /* c */
dmul
dstore 28 /* hc */
46: .line 124
iconst_1
istore 31 /* j */
start local 31 // int j
47: goto 55
48: .line 126
StackMap locals: int
StackMap stack:
iload 31 /* j */
iconst_1
iadd
i2d
dstore 32 /* jp1 */
start local 32 // double jp1
49: .line 127
ldc 2.0
dload 32 /* jp1 */
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 34 /* s */
start local 34 // double s
50: .line 128
iload 31 /* j */
i2d
dload 32 /* jp1 */
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 36 /* sm */
start local 36 // double sm
51: .line 129
dload 34 /* s */
dload 24 /* c */
dmul
dload 28 /* hc */
dmul
dload 36 /* sm */
dload 26 /* hmc */
dmul
dsub
dstore 38 /* hpc */
start local 38 // double hpc
52: .line 130
dload 28 /* hc */
dstore 26 /* hmc */
53: .line 131
dload 38 /* hpc */
dstore 28 /* hc */
end local 38 // double hpc
end local 36 // double sm
end local 34 // double s
end local 32 // double jp1
54: .line 124
iinc 31 /* j */ 1
StackMap locals:
StackMap stack:
55: iload 31 /* j */
iload 1 /* numberOfPoints */
if_icmplt 48
end local 31 // int j
56: .line 134
iload 30 /* done */
ifne 66
57: .line 135
dload 18 /* ha */
dload 28 /* hc */
dmul
dconst_0
dcmpg
ifge 62
58: .line 136
dload 24 /* c */
dstore 14 /* b */
59: .line 137
dload 26 /* hmc */
dstore 20 /* hmb */
60: .line 138
dload 28 /* hc */
dstore 22 /* hb */
61: .line 139
goto 65
62: .line 140
StackMap locals:
StackMap stack:
dload 24 /* c */
dstore 12 /* a */
63: .line 141
dload 26 /* hmc */
dstore 16 /* hma */
64: .line 142
dload 28 /* hc */
dstore 18 /* ha */
65: .line 144
StackMap locals:
StackMap stack:
ldc 0.5
dload 12 /* a */
dload 14 /* b */
dadd
dmul
dstore 24 /* c */
66: .line 120
StackMap locals:
StackMap stack:
iload 30 /* done */
ifeq 41
67: .line 147
dload 8 /* sqrtTwoTimesNumPoints */
dload 26 /* hmc */
dmul
dstore 31 /* d */
start local 31 // double d
68: .line 148
ldc 2.0
dload 31 /* d */
dload 31 /* d */
dmul
ddiv
dstore 33 /* w */
start local 33 // double w
69: .line 150
aload 4 /* points */
iload 11 /* i */
dload 24 /* c */
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
70: .line 151
aload 5 /* weights */
iload 11 /* i */
dload 33 /* w */
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
71: .line 153
iload 2 /* lastNumPoints */
iload 11 /* i */
isub
istore 35 /* idx */
start local 35 // int idx
72: .line 154
aload 4 /* points */
iload 35 /* idx */
dload 24 /* c */
dneg
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
73: .line 155
aload 5 /* weights */
iload 35 /* idx */
dload 33 /* w */
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
end local 35 // int idx
end local 33 // double w
end local 31 // double d
end local 30 // boolean done
end local 28 // double hc
end local 26 // double hmc
end local 24 // double c
end local 22 // double hb
end local 20 // double hmb
end local 18 // double ha
end local 16 // double hma
end local 14 // double b
end local 12 // double a
74: .line 85
iinc 11 /* i */ 1
StackMap locals: org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory int int java.lang.Double[] java.lang.Double[] java.lang.Double[] double double int int
StackMap stack:
75: iload 11 /* i */
iload 10 /* iMax */
if_icmplt 13
end local 11 // int i
76: .line 162
iload 1 /* numberOfPoints */
iconst_2
irem
ifeq 88
77: .line 163
ldc 0.7511255444649425
dstore 11 /* hm */
start local 11 // double hm
78: .line 164
iconst_1
istore 13 /* j */
start local 13 // int j
79: goto 83
80: .line 165
StackMap locals: org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory int int java.lang.Double[] java.lang.Double[] java.lang.Double[] double double int double int
StackMap stack:
iload 13 /* j */
iconst_1
iadd
i2d
dstore 14 /* jp1 */
start local 14 // double jp1
81: .line 166
iload 13 /* j */
i2d
dload 14 /* jp1 */
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dneg
dload 11 /* hm */
dmul
dstore 11 /* hm */
end local 14 // double jp1
82: .line 164
iinc 13 /* j */ 2
StackMap locals:
StackMap stack:
83: iload 13 /* j */
iload 1 /* numberOfPoints */
if_icmplt 80
end local 13 // int j
84: .line 168
dload 8 /* sqrtTwoTimesNumPoints */
dload 11 /* hm */
dmul
dstore 13 /* d */
start local 13 // double d
85: .line 169
ldc 2.0
dload 13 /* d */
dload 13 /* d */
dmul
ddiv
dstore 15 /* w */
start local 15 // double w
86: .line 171
aload 4 /* points */
iload 10 /* iMax */
dconst_0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
87: .line 172
aload 5 /* weights */
iload 10 /* iMax */
dload 15 /* w */
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
end local 15 // double w
end local 13 // double d
end local 11 // double hm
88: .line 175
StackMap locals:
StackMap stack:
new org.apache.commons.math3.util.Pair
dup
aload 4 /* points */
aload 5 /* weights */
invokespecial org.apache.commons.math3.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 10 // int iMax
end local 8 // double sqrtTwoTimesNumPoints
end local 6 // double sqrtTwoTimesLastNumPoints
end local 5 // java.lang.Double[] weights
end local 4 // java.lang.Double[] points
end local 3 // java.lang.Double[] previousPoints
end local 2 // int lastNumPoints
end local 1 // int numberOfPoints
end local 0 // org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory this
LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/apache/commons/math3/analysis/integration/gauss/HermiteRuleFactory;
0 89 1 numberOfPoints I
5 89 2 lastNumPoints I
6 89 3 previousPoints [Ljava/lang/Double;
7 89 4 points [Ljava/lang/Double;
8 89 5 weights [Ljava/lang/Double;
9 89 6 sqrtTwoTimesLastNumPoints D
10 89 8 sqrtTwoTimesNumPoints D
11 89 10 iMax I
12 76 11 i I
16 74 12 a D
19 74 14 b D
20 74 16 hma D
21 74 18 ha D
22 74 20 hmb D
23 74 22 hb D
24 36 24 j I
26 34 25 jp1 D
27 34 27 s D
28 34 29 sm D
29 34 31 hpa D
30 34 33 hpb D
37 74 24 c D
38 74 26 hmc D
39 74 28 hc D
40 74 30 done Z
47 56 31 j I
49 54 32 jp1 D
50 54 34 s D
51 54 36 sm D
52 54 38 hpc D
68 74 31 d D
69 74 33 w D
72 74 35 idx I
78 88 11 hm D
79 84 13 j I
81 82 14 jp1 D
85 88 13 d D
86 88 15 w D
Exceptions:
throws org.apache.commons.math3.exception.DimensionMismatchException
Signature: (I)Lorg/apache/commons/math3/util/Pair<[Ljava/lang/Double;[Ljava/lang/Double;>;
MethodParameters:
Name Flags
numberOfPoints
}
Signature: Lorg/apache/commons/math3/analysis/integration/gauss/BaseRuleFactory<Ljava/lang/Double;>;
SourceFile: "HermiteRuleFactory.java"