public class sun.misc.FpUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.FpUtils
super_class: java.lang.Object
{
static double twoToTheDoubleScaleUp;
descriptor: D
flags: (0x0008) ACC_STATIC
static double twoToTheDoubleScaleDown;
descriptor: D
flags: (0x0008) ACC_STATIC
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=2, locals=0, args_size=0
0: ldc Lsun/misc/FpUtils;
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 sun.misc.FpUtils.$assertionsDisabled:Z
3: sipush 512
invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
putstatic sun.misc.FpUtils.twoToTheDoubleScaleUp:D
4: sipush -512
invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
putstatic sun.misc.FpUtils.twoToTheDoubleScaleDown:D
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/FpUtils;
public static int getExponent(double);
descriptor: (D)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
ldc 9218868437227405312
land
1: bipush 52
2: lshr
3: ldc 1023
4: lsub
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 d D
MethodParameters:
Name Flags
d
public static int getExponent(float);
descriptor: (F)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
ldc 2139095040
iand
1: bipush 23
2: ishr
3: bipush 127
4: isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 f F
MethodParameters:
Name Flags
f
static double powerOfTwoD(int);
descriptor: (I)D
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 2
iload 0
sipush -1022
if_icmplt 1
iload 0
sipush 1023
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 0
i2l
ldc 1023
ladd
3: bipush 52
4: lshl
5: ldc 9218868437227405312
6: land
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 n I
MethodParameters:
Name Flags
n
static float powerOfTwoF(int);
descriptor: (I)F
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 2
iload 0
bipush -126
if_icmplt 1
iload 0
bipush 127
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 0
bipush 127
iadd
3: bipush 23
4: ishl
5: ldc 2139095040
6: iand
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 n I
MethodParameters:
Name Flags
n
public static double rawCopySign(double, double);
descriptor: (DD)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: dload 2
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
1: ldc -9223372036854775808
2: land
3: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
4: ldc 9223372036854775807
5: land
6: lor
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 magnitude D
0 7 2 sign D
MethodParameters:
Name Flags
magnitude
sign
public static float rawCopySign(float, float);
descriptor: (FF)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: fload 1
invokestatic java.lang.Float.floatToRawIntBits:(F)I
1: ldc -2147483648
2: iand
3: fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
4: ldc 2147483647
5: iand
6: ior
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 magnitude F
0 7 1 sign F
MethodParameters:
Name Flags
magnitude
sign
public static boolean isFinite(double);
descriptor: (D)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Math.abs:(D)D
ldc 1.7976931348623157E308
dcmpg
ifgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 d D
MethodParameters:
Name Flags
d
public static boolean isFinite(float);
descriptor: (F)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Math.abs:(F)F
ldc 3.4028235E38
fcmpg
ifgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 f F
MethodParameters:
Name Flags
f
public static boolean isInfinite(double);
descriptor: (D)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Double.isInfinite:(D)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
MethodParameters:
Name Flags
d
public static boolean isInfinite(float);
descriptor: (F)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.isInfinite:(F)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f F
MethodParameters:
Name Flags
f
public static boolean isNaN(double);
descriptor: (D)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
MethodParameters:
Name Flags
d
public static boolean isNaN(float);
descriptor: (F)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: fload 0
invokestatic java.lang.Float.isNaN:(F)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f F
MethodParameters:
Name Flags
f
public static boolean isUnordered(double, double);
descriptor: (DD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 2 0: dload 0
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifne 1
dload 2
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arg1 D
0 2 2 arg2 D
MethodParameters:
Name Flags
arg1
arg2
public static boolean isUnordered(float, float);
descriptor: (FF)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: fload 0
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifne 1
fload 1
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arg1 F
0 2 1 arg2 F
MethodParameters:
Name Flags
arg1
arg2
public static int ilogb(double);
descriptor: (D)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: dload 0
invokestatic sun.misc.FpUtils.getExponent:(D)I
istore 2
start local 2 1: iload 2
lookupswitch { // 2
-1023: 5
1024: 2
default: 21
}
2: StackMap locals: int
StackMap stack:
dload 0
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifeq 4
3: ldc 1073741824
ireturn
4: StackMap locals:
StackMap stack:
ldc 268435456
ireturn
5: StackMap locals:
StackMap stack:
dload 0
dconst_0
dcmpl
ifne 7
6: ldc -268435456
ireturn
7: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 3
start local 3 8: lload 3
ldc 4503599627370495
land
lstore 3
9: getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 12
lload 3
lconst_0
lcmp
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: long
StackMap stack:
lload 3
ldc 2
lmul
lstore 3
11: iinc 2 -1
12: StackMap locals:
StackMap stack:
lload 3
13: ldc 4503599627370496
14: lcmp
iflt 10
15: iinc 2 1
16: getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 20
iload 2
17: sipush -1074
if_icmplt 19
18: iload 2
sipush -1022
if_icmplt 20
StackMap locals:
StackMap stack:
19: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 21: StackMap locals:
StackMap stack:
getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 24
iload 2
sipush -1022
if_icmplt 23
22: iload 2
sipush 1023
if_icmple 24
StackMap locals:
StackMap stack:
23: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 d D
1 25 2 exponent I
8 21 3 transducer J
MethodParameters:
Name Flags
d
public static int ilogb(float);
descriptor: (F)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: fload 0
invokestatic sun.misc.FpUtils.getExponent:(F)I
istore 1
start local 1 1: iload 1
lookupswitch { // 2
-127: 5
128: 2
default: 21
}
2: StackMap locals: int
StackMap stack:
fload 0
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifeq 4
3: ldc 1073741824
ireturn
4: StackMap locals:
StackMap stack:
ldc 268435456
ireturn
5: StackMap locals:
StackMap stack:
fload 0
fconst_0
fcmpl
ifne 7
6: ldc -268435456
ireturn
7: StackMap locals:
StackMap stack:
fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 2
start local 2 8: iload 2
ldc 8388607
iand
istore 2
9: getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 12
iload 2
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: int
StackMap stack:
iload 2
iconst_2
imul
istore 2
11: iinc 1 -1
12: StackMap locals:
StackMap stack:
iload 2
13: ldc 8388608
14: if_icmplt 10
15: iinc 1 1
16: getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 20
iload 1
17: sipush -149
if_icmplt 19
18: iload 1
bipush -126
if_icmplt 20
StackMap locals:
StackMap stack:
19: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 2 21: StackMap locals:
StackMap stack:
getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 24
iload 1
bipush -126
if_icmplt 23
22: iload 1
bipush 127
if_icmple 24
StackMap locals:
StackMap stack:
23: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 f F
1 25 1 exponent I
8 21 2 transducer I
MethodParameters:
Name Flags
f
public static double scalb(double, int);
descriptor: (DI)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: ldc NaN
dstore 5
start local 5 3: iload 2
ifge 8
4: iload 2
sipush -2099
invokestatic java.lang.Math.max:(II)I
istore 2
5: sipush -512
istore 4
6: getstatic sun.misc.FpUtils.twoToTheDoubleScaleDown:D
dstore 5
7: goto 11
8: StackMap locals: int int double
StackMap stack:
iload 2
sipush 2099
invokestatic java.lang.Math.min:(II)I
istore 2
9: sipush 512
istore 4
10: getstatic sun.misc.FpUtils.twoToTheDoubleScaleUp:D
dstore 5
11: StackMap locals:
StackMap stack:
iload 2
bipush 8
ishr
bipush 23
iushr
istore 7
start local 7 12: iload 2
iload 7
iadd
sipush 511
iand
iload 7
isub
istore 3
13: dload 0
iload 3
invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
dmul
dstore 0
14: iload 2
iload 3
isub
istore 2
15: goto 18
16: StackMap locals: int
StackMap stack:
dload 0
dload 5
dmul
dstore 0
17: iload 2
iload 4
isub
istore 2
18: StackMap locals:
StackMap stack:
iload 2
ifne 16
19: dload 0
dreturn
end local 7 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 d D
0 20 2 scale_factor I
1 20 3 exp_adjust I
2 20 4 scale_increment I
3 20 5 exp_delta D
12 20 7 t I
MethodParameters:
Name Flags
d
scale_factor
public static float scalb(float, int);
descriptor: (FI)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush 278
invokestatic java.lang.Math.min:(II)I
sipush -278
invokestatic java.lang.Math.max:(II)I
istore 1
1: fload 0
f2d
iload 1
invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
dmul
d2f
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 f F
0 2 1 scale_factor I
MethodParameters:
Name Flags
f
scale_factor
public static double nextAfter(double, double);
descriptor: (DD)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 2 0: dload 0
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifne 1
dload 2
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifeq 2
1: StackMap locals:
StackMap stack:
dload 0
dload 2
dadd
dreturn
2: StackMap locals:
StackMap stack:
dload 0
dload 2
dcmpl
ifne 4
3: dload 2
dreturn
4: StackMap locals:
StackMap stack:
dload 0
dconst_0
dadd
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 4
start local 4 5: dload 2
dload 0
dcmpl
ifle 10
6: lload 4
lload 4
lconst_0
lcmp
iflt 7
lconst_1
goto 8
StackMap locals: double double long
StackMap stack: long
7: ldc -1
StackMap locals: double double long
StackMap stack: long long
8: ladd
lstore 4
9: goto 16
10: StackMap locals:
StackMap stack:
getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 11
dload 2
dload 0
dcmpg
iflt 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifle 13
12: lload 4
lconst_1
lsub
lstore 4
goto 16
13: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifge 15
14: lload 4
lconst_1
ladd
lstore 4
goto 16
15: StackMap locals:
StackMap stack:
ldc -9223372036854775807
lstore 4
16: StackMap locals:
StackMap stack:
lload 4
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 start D
0 17 2 direction D
5 17 4 transducer J
MethodParameters:
Name Flags
start
direction
public static float nextAfter(float, double);
descriptor: (FD)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: fload 0
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifne 1
dload 1
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifeq 2
1: StackMap locals:
StackMap stack:
fload 0
dload 1
d2f
fadd
freturn
2: StackMap locals:
StackMap stack:
fload 0
f2d
dload 1
dcmpl
ifne 4
3: dload 1
d2f
freturn
4: StackMap locals:
StackMap stack:
fload 0
fconst_0
fadd
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 3
start local 3 5: dload 1
fload 0
f2d
dcmpl
ifle 10
6: iload 3
iload 3
iflt 7
iconst_1
goto 8
StackMap locals: float double int
StackMap stack: int
7: iconst_m1
StackMap locals: float double int
StackMap stack: int int
8: iadd
istore 3
9: goto 16
10: StackMap locals:
StackMap stack:
getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 11
dload 1
fload 0
f2d
dcmpg
iflt 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
iload 3
ifle 13
12: iinc 3 -1
goto 16
13: StackMap locals:
StackMap stack:
iload 3
ifge 15
14: iinc 3 1
goto 16
15: StackMap locals:
StackMap stack:
ldc -2147483647
istore 3
16: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 start F
0 17 1 direction D
5 17 3 transducer I
MethodParameters:
Name Flags
start
direction
public static double nextUp(double);
descriptor: (D)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: dload 0
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifne 1
dload 0
ldc Infinity
dcmpl
ifne 2
1: StackMap locals:
StackMap stack:
dload 0
dreturn
2: StackMap locals:
StackMap stack:
dload 0
dconst_0
dadd
dstore 0
3: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
4: dload 0
dconst_0
dcmpl
iflt 5
lconst_1
goto 6
StackMap locals:
StackMap stack: long
5: ldc -1
6: StackMap locals: double
StackMap stack: long long
ladd
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 d D
MethodParameters:
Name Flags
d
public static float nextUp(float);
descriptor: (F)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: fload 0
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifne 1
fload 0
ldc Infinity
fcmpl
ifne 2
1: StackMap locals:
StackMap stack:
fload 0
freturn
2: StackMap locals:
StackMap stack:
fload 0
fconst_0
fadd
fstore 0
3: fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
4: fload 0
fconst_0
fcmpl
iflt 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_m1
6: StackMap locals: float
StackMap stack: int int
iadd
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 f F
MethodParameters:
Name Flags
f
public static double nextDown(double);
descriptor: (D)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: dload 0
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifne 1
dload 0
ldc -Infinity
dcmpl
ifne 2
1: StackMap locals:
StackMap stack:
dload 0
dreturn
2: StackMap locals:
StackMap stack:
dload 0
dconst_0
dcmpl
ifne 4
3: ldc -4.9E-324
dreturn
4: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
5: dload 0
dconst_0
dcmpl
ifle 6
ldc -1
goto 7
StackMap locals:
StackMap stack: long
6: lconst_1
7: StackMap locals: double
StackMap stack: long long
ladd
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 d D
MethodParameters:
Name Flags
d
public static double nextDown(float);
descriptor: (F)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: fload 0
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifne 1
fload 0
ldc -Infinity
fcmpl
ifne 2
1: StackMap locals:
StackMap stack:
fload 0
f2d
dreturn
2: StackMap locals:
StackMap stack:
fload 0
fconst_0
fcmpl
ifne 4
3: ldc -1.401298464324817E-45
dreturn
4: StackMap locals:
StackMap stack:
fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
5: fload 0
fconst_0
fcmpl
ifle 6
iconst_m1
goto 7
StackMap locals:
StackMap stack: int
6: iconst_1
7: StackMap locals: float
StackMap stack: int int
iadd
invokestatic java.lang.Float.intBitsToFloat:(I)F
f2d
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 f F
MethodParameters:
Name Flags
f
public static double copySign(double, double);
descriptor: (DD)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: dload 0
dload 2
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifeq 1
dconst_1
goto 2
StackMap locals:
StackMap stack: double
1: dload 2
StackMap locals: double double
StackMap stack: double double
2: invokestatic sun.misc.FpUtils.rawCopySign:(DD)D
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 magnitude D
0 3 2 sign D
MethodParameters:
Name Flags
magnitude
sign
public static float copySign(float, float);
descriptor: (FF)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: fload 0
fload 1
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifeq 1
fconst_1
goto 2
StackMap locals:
StackMap stack: float
1: fload 1
StackMap locals: float float
StackMap stack: float float
2: invokestatic sun.misc.FpUtils.rawCopySign:(FF)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 magnitude F
0 3 1 sign F
MethodParameters:
Name Flags
magnitude
sign
public static double ulp(double);
descriptor: (D)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: dload 0
invokestatic sun.misc.FpUtils.getExponent:(D)I
istore 2
start local 2 1: iload 2
lookupswitch { // 2
-1023: 3
1024: 2
default: 4
}
2: StackMap locals: int
StackMap stack:
dload 0
invokestatic java.lang.Math.abs:(D)D
dreturn
3: StackMap locals:
StackMap stack:
ldc 4.9E-324
dreturn
4: StackMap locals:
StackMap stack:
getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 6
iload 2
sipush 1023
if_icmpgt 5
iload 2
sipush -1022
if_icmpge 6
StackMap locals:
StackMap stack:
5: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iinc 2 -52
7: iload 2
sipush -1022
if_icmplt 9
8: iload 2
invokestatic sun.misc.FpUtils.powerOfTwoD:(I)D
dreturn
9: StackMap locals:
StackMap stack:
lconst_1
10: iload 2
sipush -1074
isub
11: lshl
invokestatic java.lang.Double.longBitsToDouble:(J)D
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 d D
1 12 2 exp I
MethodParameters:
Name Flags
d
public static float ulp(float);
descriptor: (F)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: fload 0
invokestatic sun.misc.FpUtils.getExponent:(F)I
istore 1
start local 1 1: iload 1
lookupswitch { // 2
-127: 3
128: 2
default: 4
}
2: StackMap locals: int
StackMap stack:
fload 0
invokestatic java.lang.Math.abs:(F)F
freturn
3: StackMap locals:
StackMap stack:
ldc 1.4E-45
freturn
4: StackMap locals:
StackMap stack:
getstatic sun.misc.FpUtils.$assertionsDisabled:Z
ifne 6
iload 1
bipush 127
if_icmpgt 5
iload 1
bipush -126
if_icmpge 6
StackMap locals:
StackMap stack:
5: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iinc 1 -23
7: iload 1
bipush -126
if_icmplt 9
8: iload 1
invokestatic sun.misc.FpUtils.powerOfTwoF:(I)F
freturn
9: StackMap locals:
StackMap stack:
iconst_1
10: iload 1
sipush -149
isub
11: ishl
invokestatic java.lang.Float.intBitsToFloat:(I)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 f F
1 12 1 exp I
MethodParameters:
Name Flags
f
public static double signum(double);
descriptor: (D)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: dload 0
dconst_0
dcmpl
ifeq 1
dload 0
invokestatic sun.misc.FpUtils.isNaN:(D)Z
ifeq 2
StackMap locals:
StackMap stack:
1: dload 0
goto 3
StackMap locals:
StackMap stack:
2: dconst_1
dload 0
invokestatic sun.misc.FpUtils.copySign:(DD)D
StackMap locals:
StackMap stack: double
3: dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 d D
MethodParameters:
Name Flags
d
public static float signum(float);
descriptor: (F)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: fload 0
fconst_0
fcmpl
ifeq 1
fload 0
invokestatic sun.misc.FpUtils.isNaN:(F)Z
ifeq 2
StackMap locals:
StackMap stack:
1: fload 0
goto 3
StackMap locals:
StackMap stack:
2: fconst_1
fload 0
invokestatic sun.misc.FpUtils.copySign:(FF)F
StackMap locals:
StackMap stack: float
3: freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 f F
MethodParameters:
Name Flags
f
}
SourceFile: "FpUtils.java"