final class com.sun.openpisces.Curve
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.openpisces.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 30
ldc Lcom/sun/openpisces/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.openpisces.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.openpisces.Curve this
0: .line 35
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 36
return
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/openpisces/Curve;
void set(float[], int);
descriptor: ([FI)V
flags: (0x0000)
Code:
stack=10, locals=3, args_size=3
start local 0 // com.sun.openpisces.Curve this
start local 1 // float[] points
start local 2 // int type
0: .line 39
iload 2 /* type */
tableswitch { // 6 - 8
6: 7
7: 12
8: 1
default: 12
}
1: .line 41
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* points */
iconst_0
faload
aload 1 /* points */
iconst_1
faload
2: .line 42
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
3: .line 43
aload 1 /* points */
iconst_4
faload
aload 1 /* points */
iconst_5
faload
4: .line 44
aload 1 /* points */
bipush 6
faload
aload 1 /* points */
bipush 7
faload
5: .line 41
invokevirtual com.sun.openpisces.Curve.set:(FFFFFFFF)V
6: .line 45
goto 13
7: .line 47
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* points */
iconst_0
faload
aload 1 /* points */
iconst_1
faload
8: .line 48
aload 1 /* points */
iconst_2
faload
aload 1 /* points */
iconst_3
faload
9: .line 49
aload 1 /* points */
iconst_4
faload
aload 1 /* points */
iconst_5
faload
10: .line 47
invokevirtual com.sun.openpisces.Curve.set:(FFFFFF)V
11: .line 50
goto 13
12: .line 52
StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
ldc "Curves can only be cubic or quadratic"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
13: .line 54
StackMap locals:
StackMap stack:
return
end local 2 // int type
end local 1 // float[] points
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/openpisces/Curve;
0 14 1 points [F
0 14 2 type I
MethodParameters:
Name Flags
points
type
void set(float, float, float, float, float, float, float, float);
descriptor: (FFFFFFFF)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=9
start local 0 // com.sun.openpisces.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 61
aload 0 /* this */
ldc 3.0
fload 3 /* x2 */
fload 5 /* x3 */
fsub
fmul
fload 7 /* x4 */
fadd
fload 1 /* x1 */
fsub
putfield com.sun.openpisces.Curve.ax:F
1: .line 62
aload 0 /* this */
ldc 3.0
fload 4 /* y2 */
fload 6 /* y3 */
fsub
fmul
fload 8 /* y4 */
fadd
fload 2 /* y1 */
fsub
putfield com.sun.openpisces.Curve.ay:F
2: .line 63
aload 0 /* this */
ldc 3.0
fload 1 /* x1 */
fconst_2
fload 3 /* x2 */
fmul
fsub
fload 5 /* x3 */
fadd
fmul
putfield com.sun.openpisces.Curve.bx:F
3: .line 64
aload 0 /* this */
ldc 3.0
fload 2 /* y1 */
fconst_2
fload 4 /* y2 */
fmul
fsub
fload 6 /* y3 */
fadd
fmul
putfield com.sun.openpisces.Curve.by:F
4: .line 65
aload 0 /* this */
ldc 3.0
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fmul
putfield com.sun.openpisces.Curve.cx:F
5: .line 66
aload 0 /* this */
ldc 3.0
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fmul
putfield com.sun.openpisces.Curve.cy:F
6: .line 67
aload 0 /* this */
fload 1 /* x1 */
putfield com.sun.openpisces.Curve.dx:F
7: .line 68
aload 0 /* this */
fload 2 /* y1 */
putfield com.sun.openpisces.Curve.dy:F
8: .line 69
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield com.sun.openpisces.Curve.ax:F
fmul
putfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
ldc 3.0
aload 0 /* this */
getfield com.sun.openpisces.Curve.ay:F
fmul
putfield com.sun.openpisces.Curve.day:F
9: .line 70
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.bx:F
fmul
putfield com.sun.openpisces.Curve.dbx:F
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.by:F
fmul
putfield com.sun.openpisces.Curve.dby:F
10: .line 71
return
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.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/openpisces/Curve;
0 11 1 x1 F
0 11 2 y1 F
0 11 3 x2 F
0 11 4 y2 F
0 11 5 x3 F
0 11 6 y3 F
0 11 7 x4 F
0 11 8 y4 F
MethodParameters:
Name Flags
x1
y1
x2
y2
x3
y3
x4
y4
void set(float, float, float, float, float, float);
descriptor: (FFFFFF)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=7
start local 0 // com.sun.openpisces.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 77
aload 0 /* this */
aload 0 /* this */
fconst_0
dup_x1
putfield com.sun.openpisces.Curve.ay:F
putfield com.sun.openpisces.Curve.ax:F
1: .line 79
aload 0 /* this */
fload 1 /* x1 */
fconst_2
fload 3 /* x2 */
fmul
fsub
fload 5 /* x3 */
fadd
putfield com.sun.openpisces.Curve.bx:F
2: .line 80
aload 0 /* this */
fload 2 /* y1 */
fconst_2
fload 4 /* y2 */
fmul
fsub
fload 6 /* y3 */
fadd
putfield com.sun.openpisces.Curve.by:F
3: .line 81
aload 0 /* this */
fconst_2
fload 3 /* x2 */
fload 1 /* x1 */
fsub
fmul
putfield com.sun.openpisces.Curve.cx:F
4: .line 82
aload 0 /* this */
fconst_2
fload 4 /* y2 */
fload 2 /* y1 */
fsub
fmul
putfield com.sun.openpisces.Curve.cy:F
5: .line 83
aload 0 /* this */
fload 1 /* x1 */
putfield com.sun.openpisces.Curve.dx:F
6: .line 84
aload 0 /* this */
fload 2 /* y1 */
putfield com.sun.openpisces.Curve.dy:F
7: .line 85
aload 0 /* this */
fconst_0
putfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
fconst_0
putfield com.sun.openpisces.Curve.day:F
8: .line 86
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.bx:F
fmul
putfield com.sun.openpisces.Curve.dbx:F
aload 0 /* this */
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.by:F
fmul
putfield com.sun.openpisces.Curve.dby:F
9: .line 87
return
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.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/openpisces/Curve;
0 10 1 x1 F
0 10 2 y1 F
0 10 3 x2 F
0 10 4 y2 F
0 10 5 x3 F
0 10 6 y3 F
MethodParameters:
Name Flags
x1
y1
x2
y2
x3
y3
float xat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // com.sun.openpisces.Curve this
start local 1 // float t
0: .line 90
fload 1 /* t */
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.openpisces.Curve.ax:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.bx:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dx:F
fadd
freturn
end local 1 // float t
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/openpisces/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
float yat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // com.sun.openpisces.Curve this
start local 1 // float t
0: .line 93
fload 1 /* t */
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.openpisces.Curve.ay:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.by:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dy:F
fadd
freturn
end local 1 // float t
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/openpisces/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
float dxat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // com.sun.openpisces.Curve this
start local 1 // float t
0: .line 97
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
fadd
freturn
end local 1 // float t
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/openpisces/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
float dyat(float);
descriptor: (F)F
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // com.sun.openpisces.Curve this
start local 1 // float t
0: .line 101
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
fadd
freturn
end local 1 // float t
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/openpisces/Curve;
0 1 1 t F
MethodParameters:
Name Flags
t
int dxRoots(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // com.sun.openpisces.Curve this
start local 1 // float[] roots
start local 2 // int off
0: .line 105
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
aload 1 /* roots */
iload 2 /* off */
invokestatic com.sun.openpisces.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 2 // int off
end local 1 // float[] roots
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/openpisces/Curve;
0 1 1 roots [F
0 1 2 off I
MethodParameters:
Name Flags
roots
off
int dyRoots(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // com.sun.openpisces.Curve this
start local 1 // float[] roots
start local 2 // int off
0: .line 109
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
aload 1 /* roots */
iload 2 /* off */
invokestatic com.sun.openpisces.Helpers.quadraticRoots:(FFF[FI)I
ireturn
end local 2 // int off
end local 1 // float[] roots
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/openpisces/Curve;
0 1 1 roots [F
0 1 2 off I
MethodParameters:
Name Flags
roots
off
int infPoints(float[], int);
descriptor: ([FI)I
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 // com.sun.openpisces.Curve this
start local 1 // float[] pts
start local 2 // int off
0: .line 116
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
fmul
fsub
fstore 3 /* a */
start local 3 // float a
1: .line 117
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
fmul
fsub
fmul
fstore 4 /* b */
start local 4 // float b
2: .line 118
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fmul
fsub
fstore 5 /* c */
start local 5 // float c
3: .line 120
fload 3 /* a */
fload 4 /* b */
fload 5 /* c */
aload 1 /* pts */
iload 2 /* off */
invokestatic com.sun.openpisces.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.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/openpisces/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
off
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.openpisces.Curve this
start local 1 // float[] pts
start local 2 // int off
0: .line 127
getstatic com.sun.openpisces.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 132
StackMap locals:
StackMap stack:
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
fmul
fadd
fmul
fstore 3 /* a */
start local 3 // float a
2: .line 133
ldc 3.0
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fmul
fadd
fmul
fstore 4 /* b */
start local 4 // float b
3: .line 134
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
fmul
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
fmul
fadd
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fmul
fadd
fstore 5 /* c */
start local 5 // float c
4: .line 135
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
fmul
fadd
fstore 6 /* d */
start local 6 // float d
5: .line 136
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.openpisces.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.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/openpisces/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
off
int rootsOfROCMinusW(float[], int, float, float);
descriptor: ([FIFF)I
flags: (0x0000)
Code:
stack=7, locals=12, args_size=5
start local 0 // com.sun.openpisces.Curve this
start local 1 // float[] roots
start local 2 // int off
start local 3 // float w
start local 4 // float err
0: .line 154
getstatic com.sun.openpisces.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 155
StackMap locals:
StackMap stack:
iload 2 /* off */
istore 5 /* ret */
start local 5 // int ret
3: .line 156
aload 0 /* this */
aload 1 /* roots */
iload 2 /* off */
invokevirtual com.sun.openpisces.Curve.perpendiculardfddf:([FI)I
istore 6 /* numPerpdfddf */
start local 6 // int numPerpdfddf
4: .line 157
fconst_0
fstore 7 /* t0 */
start local 7 // float t0
5: aload 0 /* this */
fload 7 /* t0 */
invokevirtual com.sun.openpisces.Curve.ROCsq:(F)F
fload 3 /* w */
fload 3 /* w */
fmul
fsub
fstore 8 /* ft0 */
start local 8 // float ft0
6: .line 158
aload 1 /* roots */
iload 2 /* off */
iload 6 /* numPerpdfddf */
iadd
fconst_1
fastore
7: .line 159
iinc 6 /* numPerpdfddf */ 1
8: .line 160
iload 2 /* off */
istore 9 /* i */
start local 9 // int i
9: goto 20
10: .line 161
StackMap locals: com.sun.openpisces.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
11: aload 0 /* this */
fload 10 /* t1 */
invokevirtual com.sun.openpisces.Curve.ROCsq:(F)F
fload 3 /* w */
fload 3 /* w */
fmul
fsub
fstore 11 /* ft1 */
start local 11 // float ft1
12: .line 162
fload 8 /* ft0 */
fconst_0
fcmpl
ifne 15
13: .line 163
aload 1 /* roots */
iload 5 /* ret */
iinc 5 /* ret */ 1
fload 7 /* t0 */
fastore
14: .line 164
goto 17
StackMap locals: float float
StackMap stack:
15: fload 11 /* ft1 */
fload 8 /* ft0 */
fmul
fconst_0
fcmpg
ifge 17
16: .line 167
aload 1 /* roots */
iload 5 /* ret */
iinc 5 /* ret */ 1
aload 0 /* this */
fload 7 /* t0 */
fload 10 /* t1 */
fload 3 /* w */
fload 3 /* w */
fmul
fload 4 /* err */
invokevirtual com.sun.openpisces.Curve.falsePositionROCsqMinusX:(FFFF)F
fastore
17: .line 169
StackMap locals:
StackMap stack:
fload 10 /* t1 */
fstore 7 /* t0 */
18: .line 170
fload 11 /* ft1 */
fstore 8 /* ft0 */
end local 11 // float ft1
end local 10 // float t1
19: .line 160
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 9 /* i */
iload 2 /* off */
iload 6 /* numPerpdfddf */
iadd
if_icmplt 10
end local 9 // int i
21: .line 173
iload 5 /* ret */
iload 2 /* off */
isub
ireturn
end local 8 // float ft0
end local 7 // float t0
end local 6 // int numPerpdfddf
end local 5 // int ret
end local 4 // float err
end local 3 // float w
end local 2 // int off
end local 1 // float[] roots
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/openpisces/Curve;
0 22 1 roots [F
0 22 2 off I
0 22 3 w F
0 22 4 err F
3 22 5 ret I
4 22 6 numPerpdfddf I
5 22 7 t0 F
6 22 8 ft0 F
9 21 9 i I
11 19 10 t1 F
12 19 11 ft1 F
MethodParameters:
Name Flags
roots
off
w 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 177
fload 0 /* x */
ldc Infinity
fcmpl
ifne 1
ldc 3.4028235E38
goto 3
1: .line 178
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 177
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
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.openpisces.Curve this
start local 1 // float x0
start local 2 // float x1
start local 3 // float x
start local 4 // float err
0: .line 192
iconst_0
istore 5 /* side */
start local 5 // int side
1: .line 193
fload 2 /* x1 */
fstore 6 /* t */
start local 6 // float t
2: aload 0 /* this */
fload 6 /* t */
invokevirtual com.sun.openpisces.Curve.ROCsq:(F)F
fload 3 /* x */
fsub
invokestatic com.sun.openpisces.Curve.eliminateInf:(F)F
fstore 7 /* ft */
start local 7 // float ft
3: .line 194
fload 1 /* x0 */
fstore 8 /* s */
start local 8 // float s
4: aload 0 /* this */
fload 8 /* s */
invokevirtual com.sun.openpisces.Curve.ROCsq:(F)F
fload 3 /* x */
fsub
invokestatic com.sun.openpisces.Curve.eliminateInf:(F)F
fstore 9 /* fs */
start local 9 // float fs
5: .line 195
fload 8 /* s */
fstore 10 /* r */
start local 10 // float r
6: .line 196
iconst_0
istore 12 /* i */
start local 12 // int i
7: goto 26
8: .line 197
StackMap locals: com.sun.openpisces.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 198
aload 0 /* this */
fload 10 /* r */
invokevirtual com.sun.openpisces.Curve.ROCsq:(F)F
fload 3 /* x */
fsub
fstore 11 /* fr */
start local 11 // float fr
10: .line 199
fload 11 /* fr */
f2d
fload 7 /* ft */
f2d
invokestatic com.sun.openpisces.Curve.sameSign:(DD)Z
ifeq 18
11: .line 200
fload 11 /* fr */
fstore 7 /* ft */
fload 10 /* r */
fstore 6 /* t */
12: .line 201
iload 5 /* side */
ifge 16
13: .line 202
fload 9 /* fs */
iconst_1
iload 5 /* side */
ineg
ishl
i2f
fdiv
fstore 9 /* fs */
14: .line 203
iinc 5 /* side */ -1
15: .line 204
goto 25
16: .line 205
StackMap locals: com.sun.openpisces.Curve float float float float int float float float float float float int
StackMap stack:
iconst_m1
istore 5 /* side */
17: .line 207
goto 25
StackMap locals:
StackMap stack:
18: fload 11 /* fr */
fload 9 /* fs */
fmul
fconst_0
fcmpl
ifle 27
19: .line 208
fload 11 /* fr */
fstore 9 /* fs */
fload 10 /* r */
fstore 8 /* s */
20: .line 209
iload 5 /* side */
ifle 24
21: .line 210
fload 7 /* ft */
iconst_1
iload 5 /* side */
ishl
i2f
fdiv
fstore 7 /* ft */
22: .line 211
iinc 5 /* side */ 1
23: .line 212
goto 25
24: .line 213
StackMap locals:
StackMap stack:
iconst_1
istore 5 /* side */
25: .line 196
StackMap locals:
StackMap stack:
iinc 12 /* i */ 1
end local 11 // float fr
StackMap locals: com.sun.openpisces.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 219
StackMap locals: com.sun.openpisces.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 x
end local 2 // float x1
end local 1 // float x0
end local 0 // com.sun.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/sun/openpisces/Curve;
0 28 1 x0 F
0 28 2 x1 F
0 28 3 x 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
x0
x1
x 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 224
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
y
private float ROCsq(float);
descriptor: (F)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 // com.sun.openpisces.Curve this
start local 1 // float t
0: .line 231
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cx:F
fadd
fstore 2 /* dx */
start local 2 // float dx
1: .line 232
fload 1 /* t */
fload 1 /* t */
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fadd
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.cy:F
fadd
fstore 3 /* dy */
start local 3 // float dy
2: .line 233
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.dax:F
fmul
fload 1 /* t */
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dbx:F
fadd
fstore 4 /* ddx */
start local 4 // float ddx
3: .line 234
fconst_2
aload 0 /* this */
getfield com.sun.openpisces.Curve.day:F
fmul
fload 1 /* t */
fmul
aload 0 /* this */
getfield com.sun.openpisces.Curve.dby:F
fadd
fstore 5 /* ddy */
start local 5 // float ddy
4: .line 235
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 236
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 237
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 238
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.openpisces.Curve this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/openpisces/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
static java.util.Iterator<java.lang.Integer> breakPtsAtTs(float[], int, float[], int);
descriptor: ([FI[FI)Ljava/util/Iterator;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 // float[] pts
start local 1 // int type
start local 2 // float[] Ts
start local 3 // int numTs
0: .line 252
getstatic com.sun.openpisces.Curve.$assertionsDisabled:Z
ifne 2
aload 0 /* pts */
arraylength
iconst_2
iload 1 /* type */
imul
if_icmplt 1
iload 3 /* numTs */
aload 2 /* Ts */
arraylength
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 253
StackMap locals:
StackMap stack:
new com.sun.openpisces.Curve$1
dup
iload 1 /* type */
iload 3 /* numTs */
aload 2 /* Ts */
aload 0 /* pts */
invokespecial com.sun.openpisces.Curve$1.<init>:(II[F[F)V
areturn
end local 3 // int numTs
end local 2 // float[] Ts
end local 1 // int type
end local 0 // float[] pts
LocalVariableTable:
Start End Slot Name Signature
0 3 0 pts [F
0 3 1 type I
0 3 2 Ts [F
0 3 3 numTs I
Signature: ([FI[FI)Ljava/util/Iterator<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
pts final
type final
Ts final
numTs final
}
SourceFile: "Curve.java"
NestMembers:
com.sun.openpisces.Curve$1
InnerClasses:
com.sun.openpisces.Curve$1