public class sun.java2d.pisces.PiscesMath
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.java2d.pisces.PiscesMath
super_class: java.lang.Object
{
private static final int SINTAB_LG_ENTRIES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int SINTAB_ENTRIES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static int[] sintab;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int PI;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 205887
public static final int TWO_PI;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 411774
public static final int PI_OVER_TWO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 102943
public static final int SQRT_TWO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=0
0: .line 39
ldc 2.0
invokestatic java.lang.Math.sqrt:(D)D
ldc 65536.0
dmul
d2i
putstatic sun.java2d.pisces.PiscesMath.SQRT_TWO:I
1: .line 42
sipush 1025
newarray 10
putstatic sun.java2d.pisces.PiscesMath.sintab:[I
2: .line 43
iconst_0
istore 0 /* i */
start local 0 // int i
3: goto 7
4: .line 44
StackMap locals: int
StackMap stack:
iload 0 /* i */
i2d
ldc 1.5707963267948966
dmul
ldc 1024.0
ddiv
dstore 1 /* theta */
start local 1 // double theta
5: .line 45
getstatic sun.java2d.pisces.PiscesMath.sintab:[I
iload 0 /* i */
dload 1 /* theta */
invokestatic java.lang.Math.sin:(D)D
ldc 65536.0
dmul
d2i
iastore
end local 1 // double theta
6: .line 43
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 0 /* i */
sipush 1025
if_icmplt 4
end local 0 // int i
8: .line 47
return
LocalVariableTable:
Start End Slot Name Signature
3 8 0 i I
5 6 1 theta D
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.java2d.pisces.PiscesMath this
0: .line 30
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.java2d.pisces.PiscesMath this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pisces/PiscesMath;
public static int sin(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 // int theta
0: .line 50
iconst_1
istore 1 /* sign */
start local 1 // int sign
1: .line 51
iload 0 /* theta */
ifge 6
2: .line 52
iload 0 /* theta */
ineg
istore 0 /* theta */
3: .line 53
iconst_m1
istore 1 /* sign */
4: .line 56
goto 6
5: .line 57
StackMap locals: int
StackMap stack:
iload 0 /* theta */
ldc 411774
isub
istore 0 /* theta */
6: .line 56
StackMap locals:
StackMap stack:
iload 0 /* theta */
ldc 411774
if_icmpge 5
7: .line 60
iload 0 /* theta */
ldc 205887
if_icmplt 10
8: .line 61
ldc 411774
iload 0 /* theta */
isub
istore 0 /* theta */
9: .line 62
iload 1 /* sign */
ineg
istore 1 /* sign */
10: .line 65
StackMap locals:
StackMap stack:
iload 0 /* theta */
ldc 102943
if_icmple 12
11: .line 66
ldc 205887
iload 0 /* theta */
isub
istore 0 /* theta */
12: .line 69
StackMap locals:
StackMap stack:
iload 0 /* theta */
i2l
ldc 1024
lmul
ldc 102943
ldiv
l2i
istore 2 /* itheta */
start local 2 // int itheta
13: .line 70
iload 1 /* sign */
getstatic sun.java2d.pisces.PiscesMath.sintab:[I
iload 2 /* itheta */
iaload
imul
ireturn
end local 2 // int itheta
end local 1 // int sign
end local 0 // int theta
LocalVariableTable:
Start End Slot Name Signature
0 14 0 theta I
1 14 1 sign I
13 14 2 itheta I
MethodParameters:
Name Flags
theta
public static int cos(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // int theta
0: .line 74
ldc 102943
iload 0 /* theta */
isub
invokestatic sun.java2d.pisces.PiscesMath.sin:(I)I
ireturn
end local 0 // int theta
LocalVariableTable:
Start End Slot Name Signature
0 1 0 theta I
MethodParameters:
Name Flags
theta
public static int isqrt(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 // int x
0: .line 100
bipush 16
istore 1 /* fracbits */
start local 1 // int fracbits
1: .line 102
iconst_0
istore 2 /* root */
start local 2 // int root
2: .line 103
iconst_0
istore 3 /* remHi */
start local 3 // int remHi
3: .line 104
iload 0 /* x */
istore 4 /* remLo */
start local 4 // int remLo
4: .line 105
bipush 15
iload 1 /* fracbits */
iconst_2
idiv
iadd
istore 5 /* count */
start local 5 // int count
5: .line 108
StackMap locals: int int int int int int
StackMap stack:
iload 3 /* remHi */
iconst_2
ishl
iload 4 /* remLo */
bipush 30
iushr
ior
istore 3 /* remHi */
6: .line 109
iload 4 /* remLo */
iconst_2
ishl
istore 4 /* remLo */
7: .line 110
iload 2 /* root */
iconst_1
ishl
istore 2 /* root */
8: .line 111
iload 2 /* root */
iconst_1
ishl
iconst_1
iadd
istore 6 /* testdiv */
start local 6 // int testdiv
9: .line 112
iload 3 /* remHi */
iload 6 /* testdiv */
if_icmplt 12
10: .line 113
iload 3 /* remHi */
iload 6 /* testdiv */
isub
istore 3 /* remHi */
11: .line 114
iinc 2 /* root */ 1
end local 6 // int testdiv
12: .line 116
StackMap locals:
StackMap stack:
iload 5 /* count */
iinc 5 /* count */ -1
ifne 5
13: .line 118
iload 2 /* root */
ireturn
end local 5 // int count
end local 4 // int remLo
end local 3 // int remHi
end local 2 // int root
end local 1 // int fracbits
end local 0 // int x
LocalVariableTable:
Start End Slot Name Signature
0 14 0 x I
1 14 1 fracbits I
2 14 2 root I
3 14 3 remHi I
4 14 4 remLo I
5 14 5 count I
9 12 6 testdiv I
MethodParameters:
Name Flags
x
public static long lsqrt(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=1
start local 0 // long x
0: .line 122
bipush 16
istore 2 /* fracbits */
start local 2 // int fracbits
1: .line 124
lconst_0
lstore 3 /* root */
start local 3 // long root
2: .line 125
lconst_0
lstore 5 /* remHi */
start local 5 // long remHi
3: .line 126
lload 0 /* x */
lstore 7 /* remLo */
start local 7 // long remLo
4: .line 127
bipush 31
iload 2 /* fracbits */
iconst_2
idiv
iadd
istore 9 /* count */
start local 9 // int count
5: .line 130
StackMap locals: long int long long long int
StackMap stack:
lload 5 /* remHi */
iconst_2
lshl
lload 7 /* remLo */
bipush 62
lushr
lor
lstore 5 /* remHi */
6: .line 131
lload 7 /* remLo */
iconst_2
lshl
lstore 7 /* remLo */
7: .line 132
lload 3 /* root */
iconst_1
lshl
lstore 3 /* root */
8: .line 133
lload 3 /* root */
iconst_1
lshl
lconst_1
ladd
lstore 10 /* testDiv */
start local 10 // long testDiv
9: .line 134
lload 5 /* remHi */
lload 10 /* testDiv */
lcmp
iflt 12
10: .line 135
lload 5 /* remHi */
lload 10 /* testDiv */
lsub
lstore 5 /* remHi */
11: .line 136
lload 3 /* root */
lconst_1
ladd
lstore 3 /* root */
end local 10 // long testDiv
12: .line 138
StackMap locals:
StackMap stack:
iload 9 /* count */
iinc 9 /* count */ -1
ifne 5
13: .line 140
lload 3 /* root */
lreturn
end local 9 // int count
end local 7 // long remLo
end local 5 // long remHi
end local 3 // long root
end local 2 // int fracbits
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 14 0 x J
1 14 2 fracbits I
2 14 3 root J
3 14 5 remHi J
4 14 7 remLo J
5 14 9 count I
9 12 10 testDiv J
MethodParameters:
Name Flags
x
public static double hypot(double, double);
descriptor: (DD)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 // double x
start local 2 // double y
0: .line 145
dload 0 /* x */
dload 0 /* x */
dmul
dload 2 /* y */
dload 2 /* y */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dreturn
end local 2 // double y
end local 0 // double x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
0 1 2 y D
MethodParameters:
Name Flags
x
y
public static int hypot(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 // int x
start local 1 // int y
0: .line 149
iload 0 /* x */
i2l
iload 0 /* x */
i2l
lmul
iload 1 /* y */
i2l
iload 1 /* y */
i2l
lmul
ladd
invokestatic sun.java2d.pisces.PiscesMath.lsqrt:(J)J
ldc 128
ladd
bipush 8
lshr
l2i
ireturn
end local 1 // int y
end local 0 // int x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 y I
MethodParameters:
Name Flags
x
y
public static long hypot(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 // long x
start local 2 // long y
0: .line 153
lload 0 /* x */
lload 0 /* x */
lmul
lload 2 /* y */
lload 2 /* y */
lmul
ladd
invokestatic sun.java2d.pisces.PiscesMath.lsqrt:(J)J
ldc 128
ladd
bipush 8
lshr
lreturn
end local 2 // long y
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
0 1 2 y J
MethodParameters:
Name Flags
x
y
}
SourceFile: "PiscesMath.java"