final class com.sun.marlin.DCurve
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.marlin.DCurve
super_class: java.lang.Object
{
double ax;
descriptor: D
flags: (0x0000)
double ay;
descriptor: D
flags: (0x0000)
double bx;
descriptor: D
flags: (0x0000)
double by;
descriptor: D
flags: (0x0000)
double cx;
descriptor: D
flags: (0x0000)
double cy;
descriptor: D
flags: (0x0000)
double dx;
descriptor: D
flags: (0x0000)
double dy;
descriptor: D
flags: (0x0000)
double dax;
descriptor: D
flags: (0x0000)
double day;
descriptor: D
flags: (0x0000)
double dbx;
descriptor: D
flags: (0x0000)
double dby;
descriptor: D
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 28
ldc Lcom/sun/marlin/DCurve;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.sun.marlin.DCurve.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.marlin.DCurve this
0: .line 33
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 34
return
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/marlin/DCurve;
void set(double[], int);
descriptor: ([DI)V
flags: (0x0000)
Code:
stack=17, locals=3, args_size=3
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] points
start local 2 // int type
0: .line 38
iload 2 /* type */
bipush 8
if_icmpne 7
1: .line 39
aload 0 /* this */
aload 1 /* points */
iconst_0
daload
aload 1 /* points */
iconst_1
daload
2: .line 40
aload 1 /* points */
iconst_2
daload
aload 1 /* points */
iconst_3
daload
3: .line 41
aload 1 /* points */
iconst_4
daload
aload 1 /* points */
iconst_5
daload
4: .line 42
aload 1 /* points */
bipush 6
daload
aload 1 /* points */
bipush 7
daload
5: .line 39
invokevirtual com.sun.marlin.DCurve.set:(DDDDDDDD)V
6: .line 43
goto 16
StackMap locals:
StackMap stack:
7: iload 2 /* type */
iconst_4
if_icmpne 12
8: .line 44
aload 0 /* this */
aload 1 /* points */
iconst_0
daload
aload 1 /* points */
iconst_1
daload
9: .line 45
aload 1 /* points */
iconst_2
daload
aload 1 /* points */
iconst_3
daload
10: .line 44
invokevirtual com.sun.marlin.DCurve.set:(DDDD)V
11: .line 46
goto 16
12: .line 47
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* points */
iconst_0
daload
aload 1 /* points */
iconst_1
daload
13: .line 48
aload 1 /* points */
iconst_2
daload
aload 1 /* points */
iconst_3
daload
14: .line 49
aload 1 /* points */
iconst_4
daload
aload 1 /* points */
iconst_5
daload
15: .line 47
invokevirtual com.sun.marlin.DCurve.set:(DDDDDD)V
16: .line 51
StackMap locals:
StackMap stack:
return
end local 2 // int type
end local 1 // double[] points
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/marlin/DCurve;
0 17 1 points [D
0 17 2 type I
MethodParameters:
Name Flags
points final
type final
void set(double, double, double, double, double, double, double, double);
descriptor: (DDDDDDDD)V
flags: (0x0000)
Code:
stack=6, locals=25, args_size=9
start local 0 // com.sun.marlin.DCurve this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
start local 9 // double x3
start local 11 // double y3
start local 13 // double x4
start local 15 // double y4
0: .line 58
ldc 3.0
dload 9 /* x3 */
dload 5 /* x2 */
dsub
dmul
dstore 17 /* dx32 */
start local 17 // double dx32
1: .line 59
ldc 3.0
dload 11 /* y3 */
dload 7 /* y2 */
dsub
dmul
dstore 19 /* dy32 */
start local 19 // double dy32
2: .line 60
ldc 3.0
dload 5 /* x2 */
dload 1 /* x1 */
dsub
dmul
dstore 21 /* dx21 */
start local 21 // double dx21
3: .line 61
ldc 3.0
dload 7 /* y2 */
dload 3 /* y1 */
dsub
dmul
dstore 23 /* dy21 */
start local 23 // double dy21
4: .line 62
aload 0 /* this */
dload 13 /* x4 */
dload 1 /* x1 */
dsub
dload 17 /* dx32 */
dsub
putfield com.sun.marlin.DCurve.ax:D
5: .line 63
aload 0 /* this */
dload 15 /* y4 */
dload 3 /* y1 */
dsub
dload 19 /* dy32 */
dsub
putfield com.sun.marlin.DCurve.ay:D
6: .line 64
aload 0 /* this */
dload 17 /* dx32 */
dload 21 /* dx21 */
dsub
putfield com.sun.marlin.DCurve.bx:D
7: .line 65
aload 0 /* this */
dload 19 /* dy32 */
dload 23 /* dy21 */
dsub
putfield com.sun.marlin.DCurve.by:D
8: .line 66
aload 0 /* this */
dload 21 /* dx21 */
putfield com.sun.marlin.DCurve.cx:D
9: .line 67
aload 0 /* this */
dload 23 /* dy21 */
putfield com.sun.marlin.DCurve.cy:D
10: .line 68
aload 0 /* this */
dload 1 /* x1 */
putfield com.sun.marlin.DCurve.dx:D
11: .line 69
aload 0 /* this */
dload 3 /* y1 */
putfield com.sun.marlin.DCurve.dy:D
12: .line 70
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.ax:D
dmul
putfield com.sun.marlin.DCurve.dax:D
13: .line 71
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.ay:D
dmul
putfield com.sun.marlin.DCurve.day:D
14: .line 72
aload 0 /* this */
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.bx:D
dmul
putfield com.sun.marlin.DCurve.dbx:D
15: .line 73
aload 0 /* this */
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.by:D
dmul
putfield com.sun.marlin.DCurve.dby:D
16: .line 74
return
end local 23 // double dy21
end local 21 // double dx21
end local 19 // double dy32
end local 17 // double dx32
end local 15 // double y4
end local 13 // double x4
end local 11 // double y3
end local 9 // double x3
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/marlin/DCurve;
0 17 1 x1 D
0 17 3 y1 D
0 17 5 x2 D
0 17 7 y2 D
0 17 9 x3 D
0 17 11 y3 D
0 17 13 x4 D
0 17 15 y4 D
1 17 17 dx32 D
2 17 19 dy32 D
3 17 21 dx21 D
4 17 23 dy21 D
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
x4 final
y4 final
void set(double, double, double, double, double, double);
descriptor: (DDDDDD)V
flags: (0x0000)
Code:
stack=5, locals=17, args_size=7
start local 0 // com.sun.marlin.DCurve this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
start local 9 // double x3
start local 11 // double y3
0: .line 80
dload 5 /* x2 */
dload 1 /* x1 */
dsub
dstore 13 /* dx21 */
start local 13 // double dx21
1: .line 81
dload 7 /* y2 */
dload 3 /* y1 */
dsub
dstore 15 /* dy21 */
start local 15 // double dy21
2: .line 82
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.ax:D
3: .line 83
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.ay:D
4: .line 84
aload 0 /* this */
dload 9 /* x3 */
dload 5 /* x2 */
dsub
dload 13 /* dx21 */
dsub
putfield com.sun.marlin.DCurve.bx:D
5: .line 85
aload 0 /* this */
dload 11 /* y3 */
dload 7 /* y2 */
dsub
dload 15 /* dy21 */
dsub
putfield com.sun.marlin.DCurve.by:D
6: .line 86
aload 0 /* this */
ldc 2.0
dload 13 /* dx21 */
dmul
putfield com.sun.marlin.DCurve.cx:D
7: .line 87
aload 0 /* this */
ldc 2.0
dload 15 /* dy21 */
dmul
putfield com.sun.marlin.DCurve.cy:D
8: .line 88
aload 0 /* this */
dload 1 /* x1 */
putfield com.sun.marlin.DCurve.dx:D
9: .line 89
aload 0 /* this */
dload 3 /* y1 */
putfield com.sun.marlin.DCurve.dy:D
10: .line 90
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.dax:D
11: .line 91
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.day:D
12: .line 92
aload 0 /* this */
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.bx:D
dmul
putfield com.sun.marlin.DCurve.dbx:D
13: .line 93
aload 0 /* this */
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.by:D
dmul
putfield com.sun.marlin.DCurve.dby:D
14: .line 94
return
end local 15 // double dy21
end local 13 // double dx21
end local 11 // double y3
end local 9 // double x3
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/marlin/DCurve;
0 15 1 x1 D
0 15 3 y1 D
0 15 5 x2 D
0 15 7 y2 D
0 15 9 x3 D
0 15 11 y3 D
1 15 13 dx21 D
2 15 15 dy21 D
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
void set(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0000)
Code:
stack=4, locals=13, args_size=5
start local 0 // com.sun.marlin.DCurve this
start local 1 // double x1
start local 3 // double y1
start local 5 // double x2
start local 7 // double y2
0: .line 99
dload 5 /* x2 */
dload 1 /* x1 */
dsub
dstore 9 /* dx21 */
start local 9 // double dx21
1: .line 100
dload 7 /* y2 */
dload 3 /* y1 */
dsub
dstore 11 /* dy21 */
start local 11 // double dy21
2: .line 101
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.ax:D
3: .line 102
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.ay:D
4: .line 103
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.bx:D
5: .line 104
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.by:D
6: .line 105
aload 0 /* this */
dload 9 /* dx21 */
putfield com.sun.marlin.DCurve.cx:D
7: .line 106
aload 0 /* this */
dload 11 /* dy21 */
putfield com.sun.marlin.DCurve.cy:D
8: .line 107
aload 0 /* this */
dload 1 /* x1 */
putfield com.sun.marlin.DCurve.dx:D
9: .line 108
aload 0 /* this */
dload 3 /* y1 */
putfield com.sun.marlin.DCurve.dy:D
10: .line 109
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.dax:D
11: .line 110
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.day:D
12: .line 111
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.dbx:D
13: .line 112
aload 0 /* this */
dconst_0
putfield com.sun.marlin.DCurve.dby:D
14: .line 113
return
end local 11 // double dy21
end local 9 // double dx21
end local 7 // double y2
end local 5 // double x2
end local 3 // double y1
end local 1 // double x1
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/marlin/DCurve;
0 15 1 x1 D
0 15 3 y1 D
0 15 5 x2 D
0 15 7 y2 D
1 15 9 dx21 D
2 15 11 dy21 D
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
int dxRoots(double[], int);
descriptor: ([DI)I
flags: (0x0000)
Code:
stack=8, locals=3, args_size=3
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] roots
start local 2 // int off
0: .line 116
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
aload 1 /* roots */
iload 2 /* off */
invokestatic com.sun.marlin.DHelpers.quadraticRoots:(DDD[DI)I
ireturn
end local 2 // int off
end local 1 // double[] roots
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DCurve;
0 1 1 roots [D
0 1 2 off I
MethodParameters:
Name Flags
roots final
off final
int dyRoots(double[], int);
descriptor: ([DI)I
flags: (0x0000)
Code:
stack=8, locals=3, args_size=3
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] roots
start local 2 // int off
0: .line 120
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
aload 1 /* roots */
iload 2 /* off */
invokestatic com.sun.marlin.DHelpers.quadraticRoots:(DDD[DI)I
ireturn
end local 2 // int off
end local 1 // double[] roots
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DCurve;
0 1 1 roots [D
0 1 2 off I
MethodParameters:
Name Flags
roots final
off final
int infPoints(double[], int);
descriptor: ([DI)I
flags: (0x0000)
Code:
stack=8, locals=9, args_size=3
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] pts
start local 2 // int off
0: .line 127
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
dmul
dsub
dstore 3 /* a */
start local 3 // double a
1: .line 128
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
dmul
dsub
dmul
dstore 5 /* b */
start local 5 // double b
2: .line 129
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
dmul
dsub
dstore 7 /* c */
start local 7 // double c
3: .line 131
dload 3 /* a */
dload 5 /* b */
dload 7 /* c */
aload 1 /* pts */
iload 2 /* off */
invokestatic com.sun.marlin.DHelpers.quadraticRoots:(DDD[DI)I
ireturn
end local 7 // double c
end local 5 // double b
end local 3 // double a
end local 2 // int off
end local 1 // double[] pts
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/marlin/DCurve;
0 4 1 pts [D
0 4 2 off I
1 4 3 a D
2 4 5 b D
3 4 7 c D
MethodParameters:
Name Flags
pts final
off final
int xPoints(double[], int, double);
descriptor: ([DID)I
flags: (0x0000)
Code:
stack=14, locals=5, args_size=4
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] ts
start local 2 // int off
start local 3 // double x
0: .line 136
aload 0 /* this */
getfield com.sun.marlin.DCurve.ax:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.bx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dx:D
dload 3 /* x */
dsub
aload 1 /* ts */
iload 2 /* off */
dconst_0
dconst_1
invokestatic com.sun.marlin.DHelpers.cubicRootsInAB:(DDDD[DIDD)I
ireturn
end local 3 // double x
end local 2 // int off
end local 1 // double[] ts
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DCurve;
0 1 1 ts [D
0 1 2 off I
0 1 3 x D
MethodParameters:
Name Flags
ts final
off final
x final
int yPoints(double[], int, double);
descriptor: ([DID)I
flags: (0x0000)
Code:
stack=14, locals=5, args_size=4
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] ts
start local 2 // int off
start local 3 // double y
0: .line 141
aload 0 /* this */
getfield com.sun.marlin.DCurve.ay:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.by:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dy:D
dload 3 /* y */
dsub
aload 1 /* ts */
iload 2 /* off */
dconst_0
dconst_1
invokestatic com.sun.marlin.DHelpers.cubicRootsInAB:(DDDD[DIDD)I
ireturn
end local 3 // double y
end local 2 // int off
end local 1 // double[] ts
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/DCurve;
0 1 1 ts [D
0 1 2 off I
0 1 3 y D
MethodParameters:
Name Flags
ts final
off final
y final
private int perpendiculardfddf(double[], int);
descriptor: ([DI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=14, locals=11, args_size=3
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] pts
start local 2 // int off
0: .line 148
getstatic com.sun.marlin.DCurve.$assertionsDisabled:Z
ifne 1
aload 1 /* pts */
arraylength
iload 2 /* off */
iconst_4
iadd
if_icmpge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 153
StackMap locals:
StackMap stack:
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
dmul
dadd
dmul
dstore 3 /* a */
start local 3 // double a
2: .line 154
ldc 3.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
dmul
dadd
dmul
dstore 5 /* b */
start local 5 // double b
3: .line 155
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
dmul
dadd
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
dmul
dadd
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
dmul
dadd
dstore 7 /* c */
start local 7 // double c
4: .line 156
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
dmul
dadd
dstore 9 /* d */
start local 9 // double d
5: .line 158
dload 3 /* a */
dload 5 /* b */
dload 7 /* c */
dload 9 /* d */
aload 1 /* pts */
iload 2 /* off */
dconst_0
dconst_1
invokestatic com.sun.marlin.DHelpers.cubicRootsInAB:(DDDD[DIDD)I
ireturn
end local 9 // double d
end local 7 // double c
end local 5 // double b
end local 3 // double a
end local 2 // int off
end local 1 // double[] pts
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/marlin/DCurve;
0 6 1 pts [D
0 6 2 off I
2 6 3 a D
3 6 5 b D
4 6 7 c D
5 6 9 d D
MethodParameters:
Name Flags
pts final
off final
int rootsOfROCMinusW(double[], int, double, double);
descriptor: ([DIDD)I
flags: (0x0000)
Code:
stack=11, locals=18, args_size=5
start local 0 // com.sun.marlin.DCurve this
start local 1 // double[] roots
start local 2 // int off
start local 3 // double w2
start local 5 // double err
0: .line 176
getstatic com.sun.marlin.DCurve.$assertionsDisabled:Z
ifne 2
iload 2 /* off */
bipush 6
if_icmpgt 1
aload 1 /* roots */
arraylength
bipush 10
if_icmpge 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 178
StackMap locals:
StackMap stack:
iload 2 /* off */
istore 7 /* ret */
start local 7 // int ret
3: .line 179
iload 2 /* off */
aload 0 /* this */
aload 1 /* roots */
iload 2 /* off */
invokevirtual com.sun.marlin.DCurve.perpendiculardfddf:([DI)I
iadd
istore 8 /* end */
start local 8 // int end
4: .line 180
aload 1 /* roots */
iload 8 /* end */
dconst_1
dastore
5: .line 182
dconst_0
dstore 9 /* t0 */
start local 9 // double t0
6: aload 0 /* this */
dload 9 /* t0 */
invokevirtual com.sun.marlin.DCurve.ROCsq:(D)D
dload 3 /* w2 */
dsub
dstore 11 /* ft0 */
start local 11 // double ft0
7: .line 184
iload 2 /* off */
istore 13 /* i */
start local 13 // int i
8: goto 19
9: .line 185
StackMap locals: com.sun.marlin.DCurve double[] int double double int int double double int
StackMap stack:
aload 1 /* roots */
iload 13 /* i */
daload
dstore 14 /* t1 */
start local 14 // double t1
10: aload 0 /* this */
dload 14 /* t1 */
invokevirtual com.sun.marlin.DCurve.ROCsq:(D)D
dload 3 /* w2 */
dsub
dstore 16 /* ft1 */
start local 16 // double ft1
11: .line 186
dload 11 /* ft0 */
dconst_0
dcmpl
ifne 14
12: .line 187
aload 1 /* roots */
iload 7 /* ret */
iinc 7 /* ret */ 1
dload 9 /* t0 */
dastore
13: .line 188
goto 16
StackMap locals: double double
StackMap stack:
14: dload 16 /* ft1 */
dload 11 /* ft0 */
dmul
dconst_0
dcmpg
ifge 16
15: .line 191
aload 1 /* roots */
iload 7 /* ret */
iinc 7 /* ret */ 1
aload 0 /* this */
dload 9 /* t0 */
dload 14 /* t1 */
dload 3 /* w2 */
dload 5 /* err */
invokevirtual com.sun.marlin.DCurve.falsePositionROCsqMinusX:(DDDD)D
dastore
16: .line 193
StackMap locals:
StackMap stack:
dload 14 /* t1 */
dstore 9 /* t0 */
17: .line 194
dload 16 /* ft1 */
dstore 11 /* ft0 */
end local 16 // double ft1
end local 14 // double t1
18: .line 184
iinc 13 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 13 /* i */
iload 8 /* end */
if_icmple 9
end local 13 // int i
20: .line 197
iload 7 /* ret */
iload 2 /* off */
isub
ireturn
end local 11 // double ft0
end local 9 // double t0
end local 8 // int end
end local 7 // int ret
end local 5 // double err
end local 3 // double w2
end local 2 // int off
end local 1 // double[] roots
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/marlin/DCurve;
0 21 1 roots [D
0 21 2 off I
0 21 3 w2 D
0 21 5 err D
3 21 7 ret I
4 21 8 end I
6 21 9 t0 D
7 21 11 ft0 D
8 20 13 i I
10 18 14 t1 D
11 18 16 ft1 D
MethodParameters:
Name Flags
roots final
off final
w2 final
err final
private static double eliminateInf(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // double x
0: .line 201
dload 0 /* x */
ldc Infinity
dcmpl
ifne 1
ldc 1.7976931348623157E308
goto 3
1: .line 202
StackMap locals:
StackMap stack:
dload 0 /* x */
ldc -Infinity
dcmpl
ifne 2
ldc 4.9E-324
goto 3
StackMap locals:
StackMap stack:
2: dload 0 /* x */
3: .line 201
StackMap locals:
StackMap stack: double
dreturn
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x D
MethodParameters:
Name Flags
x final
private double falsePositionROCsqMinusX(double, double, double, double);
descriptor: (DDDD)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=23, args_size=5
start local 0 // com.sun.marlin.DCurve this
start local 1 // double t0
start local 3 // double t1
start local 5 // double w2
start local 7 // double err
0: .line 216
iconst_0
istore 9 /* side */
start local 9 // int side
1: .line 217
dload 3 /* t1 */
dstore 10 /* t */
start local 10 // double t
2: aload 0 /* this */
dload 10 /* t */
invokevirtual com.sun.marlin.DCurve.ROCsq:(D)D
dload 5 /* w2 */
dsub
invokestatic com.sun.marlin.DCurve.eliminateInf:(D)D
dstore 12 /* ft */
start local 12 // double ft
3: .line 218
dload 1 /* t0 */
dstore 14 /* s */
start local 14 // double s
4: aload 0 /* this */
dload 14 /* s */
invokevirtual com.sun.marlin.DCurve.ROCsq:(D)D
dload 5 /* w2 */
dsub
invokestatic com.sun.marlin.DCurve.eliminateInf:(D)D
dstore 16 /* fs */
start local 16 // double fs
5: .line 219
dload 14 /* s */
dstore 18 /* r */
start local 18 // double r
6: .line 221
iconst_0
istore 22 /* i */
start local 22 // int i
7: goto 26
8: .line 222
StackMap locals: com.sun.marlin.DCurve double double double double int double double double double double top top int
StackMap stack:
dload 16 /* fs */
dload 10 /* t */
dmul
dload 12 /* ft */
dload 14 /* s */
dmul
dsub
dload 16 /* fs */
dload 12 /* ft */
dsub
ddiv
dstore 18 /* r */
9: .line 223
aload 0 /* this */
dload 18 /* r */
invokevirtual com.sun.marlin.DCurve.ROCsq:(D)D
dload 5 /* w2 */
dsub
dstore 20 /* fr */
start local 20 // double fr
10: .line 224
dload 20 /* fr */
dload 12 /* ft */
invokestatic com.sun.marlin.DCurve.sameSign:(DD)Z
ifeq 18
11: .line 225
dload 20 /* fr */
dstore 12 /* ft */
dload 18 /* r */
dstore 10 /* t */
12: .line 226
iload 9 /* side */
ifge 16
13: .line 227
dload 16 /* fs */
iconst_1
iload 9 /* side */
ineg
ishl
i2d
ddiv
dstore 16 /* fs */
14: .line 228
iinc 9 /* side */ -1
15: .line 229
goto 25
16: .line 230
StackMap locals: com.sun.marlin.DCurve double double double double int double double double double double double int
StackMap stack:
iconst_m1
istore 9 /* side */
17: .line 232
goto 25
StackMap locals:
StackMap stack:
18: dload 20 /* fr */
dload 16 /* fs */
dmul
dconst_0
dcmpl
ifle 27
19: .line 233
dload 20 /* fr */
dstore 16 /* fs */
dload 18 /* r */
dstore 14 /* s */
20: .line 234
iload 9 /* side */
ifle 24
21: .line 235
dload 12 /* ft */
iconst_1
iload 9 /* side */
ishl
i2d
ddiv
dstore 12 /* ft */
22: .line 236
iinc 9 /* side */ 1
23: .line 237
goto 25
24: .line 238
StackMap locals:
StackMap stack:
iconst_1
istore 9 /* side */
25: .line 221
StackMap locals:
StackMap stack:
iinc 22 /* i */ 1
end local 20 // double fr
StackMap locals: com.sun.marlin.DCurve double double double double int double double double double double top top int
StackMap stack:
26: iload 22 /* i */
bipush 100
if_icmpge 27
dload 10 /* t */
dload 14 /* s */
dsub
invokestatic java.lang.Math.abs:(D)D
dload 7 /* err */
dload 10 /* t */
dload 14 /* s */
dadd
invokestatic java.lang.Math.abs:(D)D
dmul
dcmpl
ifgt 8
end local 22 // int i
27: .line 244
StackMap locals: com.sun.marlin.DCurve double double double double int double double double double double
StackMap stack:
dload 18 /* r */
dreturn
end local 18 // double r
end local 16 // double fs
end local 14 // double s
end local 12 // double ft
end local 10 // double t
end local 9 // int side
end local 7 // double err
end local 5 // double w2
end local 3 // double t1
end local 1 // double t0
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/marlin/DCurve;
0 28 1 t0 D
0 28 3 t1 D
0 28 5 w2 D
0 28 7 err D
1 28 9 side I
2 28 10 t D
3 28 12 ft D
4 28 14 s D
5 28 16 fs D
6 28 18 r D
10 26 20 fr D
7 27 22 i I
MethodParameters:
Name Flags
t0 final
t1 final
w2 final
err final
private static boolean sameSign(double, double);
descriptor: (DD)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 // double x
start local 2 // double y
0: .line 249
dload 0 /* x */
dconst_0
dcmpg
ifge 1
dload 2 /* y */
dconst_0
dcmpg
iflt 3
StackMap locals:
StackMap stack:
1: dload 0 /* x */
dconst_0
dcmpl
ifle 2
dload 2 /* y */
dconst_0
dcmpl
ifgt 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 // double y
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x D
0 4 2 y D
MethodParameters:
Name Flags
x final
y final
private double ROCsq(double);
descriptor: (D)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=17, args_size=2
start local 0 // com.sun.marlin.DCurve this
start local 1 // double t
0: .line 255
dload 1 /* t */
dload 1 /* t */
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
dadd
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.cx:D
dadd
dstore 3 /* dx */
start local 3 // double dx
1: .line 256
dload 1 /* t */
dload 1 /* t */
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
dadd
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.cy:D
dadd
dstore 5 /* dy */
start local 5 // double dy
2: .line 257
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.dax:D
dmul
dload 1 /* t */
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dbx:D
dadd
dstore 7 /* ddx */
start local 7 // double ddx
3: .line 258
ldc 2.0
aload 0 /* this */
getfield com.sun.marlin.DCurve.day:D
dmul
dload 1 /* t */
dmul
aload 0 /* this */
getfield com.sun.marlin.DCurve.dby:D
dadd
dstore 9 /* ddy */
start local 9 // double ddy
4: .line 259
dload 3 /* dx */
dload 3 /* dx */
dmul
dload 5 /* dy */
dload 5 /* dy */
dmul
dadd
dstore 11 /* dx2dy2 */
start local 11 // double dx2dy2
5: .line 260
dload 7 /* ddx */
dload 7 /* ddx */
dmul
dload 9 /* ddy */
dload 9 /* ddy */
dmul
dadd
dstore 13 /* ddx2ddy2 */
start local 13 // double ddx2ddy2
6: .line 261
dload 7 /* ddx */
dload 3 /* dx */
dmul
dload 9 /* ddy */
dload 5 /* dy */
dmul
dadd
dstore 15 /* ddxdxddydy */
start local 15 // double ddxdxddydy
7: .line 262
dload 11 /* dx2dy2 */
dload 11 /* dx2dy2 */
dload 11 /* dx2dy2 */
dmul
dload 11 /* dx2dy2 */
dload 13 /* ddx2ddy2 */
dmul
dload 15 /* ddxdxddydy */
dload 15 /* ddxdxddydy */
dmul
dsub
ddiv
dmul
dreturn
end local 15 // double ddxdxddydy
end local 13 // double ddx2ddy2
end local 11 // double dx2dy2
end local 9 // double ddy
end local 7 // double ddx
end local 5 // double dy
end local 3 // double dx
end local 1 // double t
end local 0 // com.sun.marlin.DCurve this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/marlin/DCurve;
0 8 1 t D
1 8 3 dx D
2 8 5 dy D
3 8 7 ddx D
4 8 9 ddy D
5 8 11 dx2dy2 D
6 8 13 ddx2ddy2 D
7 8 15 ddxdxddydy D
MethodParameters:
Name Flags
t final
}
SourceFile: "DCurve.java"