final class com.sun.marlin.Curve
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.marlin.Curve
super_class: java.lang.Object
{
float ax;
descriptor: F
flags: (0x0000)
float ay;
descriptor: F
flags: (0x0000)
float bx;
descriptor: F
flags: (0x0000)
float by;
descriptor: F
flags: (0x0000)
float cx;
descriptor: F
flags: (0x0000)
float cy;
descriptor: F
flags: (0x0000)
float dx;
descriptor: F
flags: (0x0000)
float dy;
descriptor: F
flags: (0x0000)
float dax;
descriptor: F
flags: (0x0000)
float day;
descriptor: F
flags: (0x0000)
float dbx;
descriptor: F
flags: (0x0000)
float dby;
descriptor: F
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/Curve;
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.Curve.$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.Curve this
0: .line 33
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 34
return
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/marlin/Curve;
void set(float[], int);
descriptor: ([FI)V
flags: (0x0000)
Code:
stack=10, locals=3, args_size=3
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] 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
faload
aload 1 /* points */
iconst_1
faload
2: .line 40
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
3: .line 41
aload 1 /* points */
iconst_4
faload
aload 1 /* points */
iconst_5
faload
4: .line 42
aload 1 /* points */
bipush 6
faload
aload 1 /* points */
bipush 7
faload
5: .line 39
invokevirtual com.sun.marlin.Curve.set:(FFFFFFFF)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
faload
aload 1 /* points */
iconst_1
faload
9: .line 45
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
10: .line 44
invokevirtual com.sun.marlin.Curve.set:(FFFF)V
11: .line 46
goto 16
12: .line 47
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* points */
iconst_0
faload
aload 1 /* points */
iconst_1
faload
13: .line 48
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
14: .line 49
aload 1 /* points */
iconst_4
faload
aload 1 /* points */
iconst_5
faload
15: .line 47
invokevirtual com.sun.marlin.Curve.set:(FFFFFF)V
16: .line 51
StackMap locals:
StackMap stack:
return
end local 2 // int type
end local 1 // float[] points
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/marlin/Curve;
0 17 1 points [F
0 17 2 type I
MethodParameters:
Name Flags
points final
type final
void set(float, float, float, float, float, float, float, float);
descriptor: (FFFFFFFF)V
flags: (0x0000)
Code:
stack=3, locals=13, args_size=9
start local 0 // com.sun.marlin.Curve this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
start local 5 // float x3
start local 6 // float y3
start local 7 // float x4
start local 8 // float y4
0: .line 58
ldc 3.0
fload 5 /* x3 */
fload 3 /* x2 */
fsub
fmul
fstore 9 /* dx32 */
start local 9 // float dx32
1: .line 59
ldc 3.0
fload 6 /* y3 */
fload 4 /* y2 */
fsub
fmul
fstore 10 /* dy32 */
start local 10 // float dy32
2: .line 60
ldc 3.0
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fmul
fstore 11 /* dx21 */
start local 11 // float dx21
3: .line 61
ldc 3.0
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fmul
fstore 12 /* dy21 */
start local 12 // float dy21
4: .line 62
aload 0 /* this */
fload 7 /* x4 */
fload 1 /* x1 */
fsub
fload 9 /* dx32 */
fsub
putfield com.sun.marlin.Curve.ax:F
5: .line 63
aload 0 /* this */
fload 8 /* y4 */
fload 2 /* y1 */
fsub
fload 10 /* dy32 */
fsub
putfield com.sun.marlin.Curve.ay:F
6: .line 64
aload 0 /* this */
fload 9 /* dx32 */
fload 11 /* dx21 */
fsub
putfield com.sun.marlin.Curve.bx:F
7: .line 65
aload 0 /* this */
fload 10 /* dy32 */
fload 12 /* dy21 */
fsub
putfield com.sun.marlin.Curve.by:F
8: .line 66
aload 0 /* this */
fload 11 /* dx21 */
putfield com.sun.marlin.Curve.cx:F
9: .line 67
aload 0 /* this */
fload 12 /* dy21 */
putfield com.sun.marlin.Curve.cy:F
10: .line 68
aload 0 /* this */
fload 1 /* x1 */
putfield com.sun.marlin.Curve.dx:F
11: .line 69
aload 0 /* this */
fload 2 /* y1 */
putfield com.sun.marlin.Curve.dy:F
12: .line 70
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield com.sun.marlin.Curve.ax:F
fmul
putfield com.sun.marlin.Curve.dax:F
13: .line 71
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield com.sun.marlin.Curve.ay:F
fmul
putfield com.sun.marlin.Curve.day:F
14: .line 72
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.bx:F
fmul
putfield com.sun.marlin.Curve.dbx:F
15: .line 73
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.by:F
fmul
putfield com.sun.marlin.Curve.dby:F
16: .line 74
return
end local 12 // float dy21
end local 11 // float dx21
end local 10 // float dy32
end local 9 // float dx32
end local 8 // float y4
end local 7 // float x4
end local 6 // float y3
end local 5 // float x3
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/marlin/Curve;
0 17 1 x1 F
0 17 2 y1 F
0 17 3 x2 F
0 17 4 y2 F
0 17 5 x3 F
0 17 6 y3 F
0 17 7 x4 F
0 17 8 y4 F
1 17 9 dx32 F
2 17 10 dy32 F
3 17 11 dx21 F
4 17 12 dy21 F
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
x4 final
y4 final
void set(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=7
start local 0 // com.sun.marlin.Curve this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
start local 5 // float x3
start local 6 // float y3
0: .line 80
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fstore 7 /* dx21 */
start local 7 // float dx21
1: .line 81
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fstore 8 /* dy21 */
start local 8 // float dy21
2: .line 82
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.ax:F
3: .line 83
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.ay:F
4: .line 84
aload 0 /* this */
fload 5 /* x3 */
fload 3 /* x2 */
fsub
fload 7 /* dx21 */
fsub
putfield com.sun.marlin.Curve.bx:F
5: .line 85
aload 0 /* this */
fload 6 /* y3 */
fload 4 /* y2 */
fsub
fload 8 /* dy21 */
fsub
putfield com.sun.marlin.Curve.by:F
6: .line 86
aload 0 /* this */
fconst_2
fload 7 /* dx21 */
fmul
putfield com.sun.marlin.Curve.cx:F
7: .line 87
aload 0 /* this */
fconst_2
fload 8 /* dy21 */
fmul
putfield com.sun.marlin.Curve.cy:F
8: .line 88
aload 0 /* this */
fload 1 /* x1 */
putfield com.sun.marlin.Curve.dx:F
9: .line 89
aload 0 /* this */
fload 2 /* y1 */
putfield com.sun.marlin.Curve.dy:F
10: .line 90
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.dax:F
11: .line 91
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.day:F
12: .line 92
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.bx:F
fmul
putfield com.sun.marlin.Curve.dbx:F
13: .line 93
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.by:F
fmul
putfield com.sun.marlin.Curve.dby:F
14: .line 94
return
end local 8 // float dy21
end local 7 // float dx21
end local 6 // float y3
end local 5 // float x3
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/marlin/Curve;
0 15 1 x1 F
0 15 2 y1 F
0 15 3 x2 F
0 15 4 y2 F
0 15 5 x3 F
0 15 6 y3 F
1 15 7 dx21 F
2 15 8 dy21 F
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
x3 final
y3 final
void set(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=5
start local 0 // com.sun.marlin.Curve this
start local 1 // float x1
start local 2 // float y1
start local 3 // float x2
start local 4 // float y2
0: .line 99
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fstore 5 /* dx21 */
start local 5 // float dx21
1: .line 100
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fstore 6 /* dy21 */
start local 6 // float dy21
2: .line 101
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.ax:F
3: .line 102
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.ay:F
4: .line 103
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.bx:F
5: .line 104
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.by:F
6: .line 105
aload 0 /* this */
fload 5 /* dx21 */
putfield com.sun.marlin.Curve.cx:F
7: .line 106
aload 0 /* this */
fload 6 /* dy21 */
putfield com.sun.marlin.Curve.cy:F
8: .line 107
aload 0 /* this */
fload 1 /* x1 */
putfield com.sun.marlin.Curve.dx:F
9: .line 108
aload 0 /* this */
fload 2 /* y1 */
putfield com.sun.marlin.Curve.dy:F
10: .line 109
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.dax:F
11: .line 110
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.day:F
12: .line 111
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.dbx:F
13: .line 112
aload 0 /* this */
fconst_0
putfield com.sun.marlin.Curve.dby:F
14: .line 113
return
end local 6 // float dy21
end local 5 // float dx21
end local 4 // float y2
end local 3 // float x2
end local 2 // float y1
end local 1 // float x1
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/marlin/Curve;
0 15 1 x1 F
0 15 2 y1 F
0 15 3 x2 F
0 15 4 y2 F
1 15 5 dx21 F
2 15 6 dy21 F
MethodParameters:
Name Flags
x1 final
y1 final
x2 final
y2 final
int dxRoots(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] roots
start local 2 // int off
0: .line 116
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
aload 1 /* roots */
iload 2 /* off */
invokestatic com.sun.marlin.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 2 // int off
end local 1 // float[] roots
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Curve;
0 1 1 roots [F
0 1 2 off I
MethodParameters:
Name Flags
roots final
off final
int dyRoots(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] roots
start local 2 // int off
0: .line 120
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
aload 1 /* roots */
iload 2 /* off */
invokestatic com.sun.marlin.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 2 // int off
end local 1 // float[] roots
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Curve;
0 1 1 roots [F
0 1 2 off I
MethodParameters:
Name Flags
roots final
off final
int infPoints(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] pts
start local 2 // int off
0: .line 127
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
fmul
fsub
fstore 3 /* a */
start local 3 // float a
1: .line 128
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
fmul
fsub
fmul
fstore 4 /* b */
start local 4 // float b
2: .line 129
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
fmul
fsub
fstore 5 /* c */
start local 5 // float c
3: .line 131
fload 3 /* a */
fload 4 /* b */
fload 5 /* c */
aload 1 /* pts */
iload 2 /* off */
invokestatic com.sun.marlin.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 5 // float c
end local 4 // float b
end local 3 // float a
end local 2 // int off
end local 1 // float[] pts
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/marlin/Curve;
0 4 1 pts [F
0 4 2 off I
1 4 3 a F
2 4 4 b F
3 4 5 c F
MethodParameters:
Name Flags
pts final
off final
int xPoints(float[], int, float);
descriptor: ([FIF)I
flags: (0x0000)
Code:
stack=8, locals=4, args_size=4
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] ts
start local 2 // int off
start local 3 // float x
0: .line 136
aload 0 /* this */
getfield com.sun.marlin.Curve.ax:F
aload 0 /* this */
getfield com.sun.marlin.Curve.bx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dx:F
fload 3 /* x */
fsub
aload 1 /* ts */
iload 2 /* off */
fconst_0
fconst_1
invokestatic com.sun.marlin.Helpers.cubicRootsInAB:(FFFF[FIFF)I
ireturn
end local 3 // float x
end local 2 // int off
end local 1 // float[] ts
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Curve;
0 1 1 ts [F
0 1 2 off I
0 1 3 x F
MethodParameters:
Name Flags
ts final
off final
x final
int yPoints(float[], int, float);
descriptor: ([FIF)I
flags: (0x0000)
Code:
stack=8, locals=4, args_size=4
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] ts
start local 2 // int off
start local 3 // float y
0: .line 141
aload 0 /* this */
getfield com.sun.marlin.Curve.ay:F
aload 0 /* this */
getfield com.sun.marlin.Curve.by:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dy:F
fload 3 /* y */
fsub
aload 1 /* ts */
iload 2 /* off */
fconst_0
fconst_1
invokestatic com.sun.marlin.Helpers.cubicRootsInAB:(FFFF[FIFF)I
ireturn
end local 3 // float y
end local 2 // int off
end local 1 // float[] ts
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/marlin/Curve;
0 1 1 ts [F
0 1 2 off I
0 1 3 y F
MethodParameters:
Name Flags
ts final
off final
y final
private int perpendiculardfddf(float[], int);
descriptor: ([FI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=7, args_size=3
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] pts
start local 2 // int off
0: .line 148
getstatic com.sun.marlin.Curve.$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:
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
fmul
fadd
fmul
fstore 3 /* a */
start local 3 // float a
2: .line 154
ldc 3.0
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
fmul
fadd
fmul
fstore 4 /* b */
start local 4 // float b
3: .line 155
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
fmul
fadd
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
fmul
fadd
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
fmul
fadd
fstore 5 /* c */
start local 5 // float c
4: .line 156
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
fmul
fadd
fstore 6 /* d */
start local 6 // float d
5: .line 158
fload 3 /* a */
fload 4 /* b */
fload 5 /* c */
fload 6 /* d */
aload 1 /* pts */
iload 2 /* off */
fconst_0
fconst_1
invokestatic com.sun.marlin.Helpers.cubicRootsInAB:(FFFF[FIFF)I
ireturn
end local 6 // float d
end local 5 // float c
end local 4 // float b
end local 3 // float a
end local 2 // int off
end local 1 // float[] pts
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/marlin/Curve;
0 6 1 pts [F
0 6 2 off I
2 6 3 a F
3 6 4 b F
4 6 5 c F
5 6 6 d F
MethodParameters:
Name Flags
pts final
off final
int rootsOfROCMinusW(float[], int, float, float);
descriptor: ([FIFF)I
flags: (0x0000)
Code:
stack=7, locals=12, args_size=5
start local 0 // com.sun.marlin.Curve this
start local 1 // float[] roots
start local 2 // int off
start local 3 // float w2
start local 4 // float err
0: .line 176
getstatic com.sun.marlin.Curve.$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 5 /* ret */
start local 5 // int ret
3: .line 179
iload 2 /* off */
aload 0 /* this */
aload 1 /* roots */
iload 2 /* off */
invokevirtual com.sun.marlin.Curve.perpendiculardfddf:([FI)I
iadd
istore 6 /* end */
start local 6 // int end
4: .line 180
aload 1 /* roots */
iload 6 /* end */
fconst_1
fastore
5: .line 182
fconst_0
fstore 7 /* t0 */
start local 7 // float t0
6: aload 0 /* this */
fload 7 /* t0 */
invokevirtual com.sun.marlin.Curve.ROCsq:(F)F
fload 3 /* w2 */
fsub
fstore 8 /* ft0 */
start local 8 // float ft0
7: .line 184
iload 2 /* off */
istore 9 /* i */
start local 9 // int i
8: goto 19
9: .line 185
StackMap locals: com.sun.marlin.Curve float[] int float float int int float float int
StackMap stack:
aload 1 /* roots */
iload 9 /* i */
faload
fstore 10 /* t1 */
start local 10 // float t1
10: aload 0 /* this */
fload 10 /* t1 */
invokevirtual com.sun.marlin.Curve.ROCsq:(F)F
fload 3 /* w2 */
fsub
fstore 11 /* ft1 */
start local 11 // float ft1
11: .line 186
fload 8 /* ft0 */
fconst_0
fcmpl
ifne 14
12: .line 187
aload 1 /* roots */
iload 5 /* ret */
iinc 5 /* ret */ 1
fload 7 /* t0 */
fastore
13: .line 188
goto 16
StackMap locals: float float
StackMap stack:
14: fload 11 /* ft1 */
fload 8 /* ft0 */
fmul
fconst_0
fcmpg
ifge 16
15: .line 191
aload 1 /* roots */
iload 5 /* ret */
iinc 5 /* ret */ 1
aload 0 /* this */
fload 7 /* t0 */
fload 10 /* t1 */
fload 3 /* w2 */
fload 4 /* err */
invokevirtual com.sun.marlin.Curve.falsePositionROCsqMinusX:(FFFF)F
fastore
16: .line 193
StackMap locals:
StackMap stack:
fload 10 /* t1 */
fstore 7 /* t0 */
17: .line 194
fload 11 /* ft1 */
fstore 8 /* ft0 */
end local 11 // float ft1
end local 10 // float t1
18: .line 184
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 9 /* i */
iload 6 /* end */
if_icmple 9
end local 9 // int i
20: .line 197
iload 5 /* ret */
iload 2 /* off */
isub
ireturn
end local 8 // float ft0
end local 7 // float t0
end local 6 // int end
end local 5 // int ret
end local 4 // float err
end local 3 // float w2
end local 2 // int off
end local 1 // float[] roots
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/marlin/Curve;
0 21 1 roots [F
0 21 2 off I
0 21 3 w2 F
0 21 4 err F
3 21 5 ret I
4 21 6 end I
6 21 7 t0 F
7 21 8 ft0 F
8 20 9 i I
10 18 10 t1 F
11 18 11 ft1 F
MethodParameters:
Name Flags
roots final
off final
w2 final
err final
private static float eliminateInf(float);
descriptor: (F)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // float x
0: .line 201
fload 0 /* x */
ldc Infinity
fcmpl
ifne 1
ldc 3.4028235E38
goto 3
1: .line 202
StackMap locals:
StackMap stack:
fload 0 /* x */
ldc -Infinity
fcmpl
ifne 2
ldc 1.4E-45
goto 3
StackMap locals:
StackMap stack:
2: fload 0 /* x */
3: .line 201
StackMap locals:
StackMap stack: float
freturn
end local 0 // float x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x F
MethodParameters:
Name Flags
x final
private float falsePositionROCsqMinusX(float, float, float, float);
descriptor: (FFFF)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=5
start local 0 // com.sun.marlin.Curve this
start local 1 // float t0
start local 2 // float t1
start local 3 // float w2
start local 4 // float err
0: .line 216
iconst_0
istore 5 /* side */
start local 5 // int side
1: .line 217
fload 2 /* t1 */
fstore 6 /* t */
start local 6 // float t
2: aload 0 /* this */
fload 6 /* t */
invokevirtual com.sun.marlin.Curve.ROCsq:(F)F
fload 3 /* w2 */
fsub
invokestatic com.sun.marlin.Curve.eliminateInf:(F)F
fstore 7 /* ft */
start local 7 // float ft
3: .line 218
fload 1 /* t0 */
fstore 8 /* s */
start local 8 // float s
4: aload 0 /* this */
fload 8 /* s */
invokevirtual com.sun.marlin.Curve.ROCsq:(F)F
fload 3 /* w2 */
fsub
invokestatic com.sun.marlin.Curve.eliminateInf:(F)F
fstore 9 /* fs */
start local 9 // float fs
5: .line 219
fload 8 /* s */
fstore 10 /* r */
start local 10 // float r
6: .line 221
iconst_0
istore 12 /* i */
start local 12 // int i
7: goto 26
8: .line 222
StackMap locals: com.sun.marlin.Curve float float float float int float float float float float top int
StackMap stack:
fload 9 /* fs */
fload 6 /* t */
fmul
fload 7 /* ft */
fload 8 /* s */
fmul
fsub
fload 9 /* fs */
fload 7 /* ft */
fsub
fdiv
fstore 10 /* r */
9: .line 223
aload 0 /* this */
fload 10 /* r */
invokevirtual com.sun.marlin.Curve.ROCsq:(F)F
fload 3 /* w2 */
fsub
fstore 11 /* fr */
start local 11 // float fr
10: .line 224
fload 11 /* fr */
fload 7 /* ft */
invokestatic com.sun.marlin.Curve.sameSign:(FF)Z
ifeq 18
11: .line 225
fload 11 /* fr */
fstore 7 /* ft */
fload 10 /* r */
fstore 6 /* t */
12: .line 226
iload 5 /* side */
ifge 16
13: .line 227
fload 9 /* fs */
iconst_1
iload 5 /* side */
ineg
ishl
i2f
fdiv
fstore 9 /* fs */
14: .line 228
iinc 5 /* side */ -1
15: .line 229
goto 25
16: .line 230
StackMap locals: com.sun.marlin.Curve float float float float int float float float float float float int
StackMap stack:
iconst_m1
istore 5 /* side */
17: .line 232
goto 25
StackMap locals:
StackMap stack:
18: fload 11 /* fr */
fload 9 /* fs */
fmul
fconst_0
fcmpl
ifle 27
19: .line 233
fload 11 /* fr */
fstore 9 /* fs */
fload 10 /* r */
fstore 8 /* s */
20: .line 234
iload 5 /* side */
ifle 24
21: .line 235
fload 7 /* ft */
iconst_1
iload 5 /* side */
ishl
i2f
fdiv
fstore 7 /* ft */
22: .line 236
iinc 5 /* side */ 1
23: .line 237
goto 25
24: .line 238
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* side */
25: .line 221
StackMap locals:
StackMap stack:
iinc 12 /* i */ 1
end local 11 // float fr
StackMap locals: com.sun.marlin.Curve float float float float int float float float float float top int
StackMap stack:
26: iload 12 /* i */
bipush 100
if_icmpge 27
fload 6 /* t */
fload 8 /* s */
fsub
invokestatic java.lang.Math.abs:(F)F
fload 4 /* err */
fload 6 /* t */
fload 8 /* s */
fadd
invokestatic java.lang.Math.abs:(F)F
fmul
fcmpl
ifgt 8
end local 12 // int i
27: .line 244
StackMap locals: com.sun.marlin.Curve float float float float int float float float float float
StackMap stack:
fload 10 /* r */
freturn
end local 10 // float r
end local 9 // float fs
end local 8 // float s
end local 7 // float ft
end local 6 // float t
end local 5 // int side
end local 4 // float err
end local 3 // float w2
end local 2 // float t1
end local 1 // float t0
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/marlin/Curve;
0 28 1 t0 F
0 28 2 t1 F
0 28 3 w2 F
0 28 4 err F
1 28 5 side I
2 28 6 t F
3 28 7 ft F
4 28 8 s F
5 28 9 fs F
6 28 10 r F
10 26 11 fr F
7 27 12 i I
MethodParameters:
Name Flags
t0 final
t1 final
w2 final
err final
private static boolean sameSign(float, float);
descriptor: (FF)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // float x
start local 1 // float y
0: .line 249
fload 0 /* x */
fconst_0
fcmpg
ifge 1
fload 1 /* y */
fconst_0
fcmpg
iflt 3
StackMap locals:
StackMap stack:
1: fload 0 /* x */
fconst_0
fcmpl
ifle 2
fload 1 /* y */
fconst_0
fcmpl
ifgt 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 // float y
end local 0 // float x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x F
0 4 1 y F
MethodParameters:
Name Flags
x final
y final
private float ROCsq(float);
descriptor: (F)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 // com.sun.marlin.Curve this
start local 1 // float t
0: .line 255
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
fadd
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.cx:F
fadd
fstore 2 /* dx */
start local 2 // float dx
1: .line 256
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
fadd
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.cy:F
fadd
fstore 3 /* dy */
start local 3 // float dy
2: .line 257
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.dax:F
fmul
fload 1 /* t */
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dbx:F
fadd
fstore 4 /* ddx */
start local 4 // float ddx
3: .line 258
fconst_2
aload 0 /* this */
getfield com.sun.marlin.Curve.day:F
fmul
fload 1 /* t */
fmul
aload 0 /* this */
getfield com.sun.marlin.Curve.dby:F
fadd
fstore 5 /* ddy */
start local 5 // float ddy
4: .line 259
fload 2 /* dx */
fload 2 /* dx */
fmul
fload 3 /* dy */
fload 3 /* dy */
fmul
fadd
fstore 6 /* dx2dy2 */
start local 6 // float dx2dy2
5: .line 260
fload 4 /* ddx */
fload 4 /* ddx */
fmul
fload 5 /* ddy */
fload 5 /* ddy */
fmul
fadd
fstore 7 /* ddx2ddy2 */
start local 7 // float ddx2ddy2
6: .line 261
fload 4 /* ddx */
fload 2 /* dx */
fmul
fload 5 /* ddy */
fload 3 /* dy */
fmul
fadd
fstore 8 /* ddxdxddydy */
start local 8 // float ddxdxddydy
7: .line 262
fload 6 /* dx2dy2 */
fload 6 /* dx2dy2 */
fload 6 /* dx2dy2 */
fmul
fload 6 /* dx2dy2 */
fload 7 /* ddx2ddy2 */
fmul
fload 8 /* ddxdxddydy */
fload 8 /* ddxdxddydy */
fmul
fsub
fdiv
fmul
freturn
end local 8 // float ddxdxddydy
end local 7 // float ddx2ddy2
end local 6 // float dx2dy2
end local 5 // float ddy
end local 4 // float ddx
end local 3 // float dy
end local 2 // float dx
end local 1 // float t
end local 0 // com.sun.marlin.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/marlin/Curve;
0 8 1 t F
1 8 2 dx F
2 8 3 dy F
3 8 4 ddx F
4 8 5 ddy F
5 8 6 dx2dy2 F
6 8 7 ddx2ddy2 F
7 8 8 ddxdxddydy F
MethodParameters:
Name Flags
t final
}
SourceFile: "Curve.java"