public class org.apache.commons.math3.util.Precision
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.util.Precision
super_class: java.lang.Object
{
public static final double EPSILON;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final double SAFE_MIN;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final long EXPONENT_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1023
private static final long SGN_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
private static final int SGN_MASK_FLOAT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
private static final double POSITIVE_ZERO;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0
private static final long POSITIVE_ZERO_DOUBLE_BITS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long NEGATIVE_ZERO_DOUBLE_BITS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int POSITIVE_ZERO_FLOAT_BITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int NEGATIVE_ZERO_FLOAT_BITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: dconst_0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
putstatic org.apache.commons.math3.util.Precision.POSITIVE_ZERO_DOUBLE_BITS:J
1: ldc -0.0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
putstatic org.apache.commons.math3.util.Precision.NEGATIVE_ZERO_DOUBLE_BITS:J
2: fconst_0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
putstatic org.apache.commons.math3.util.Precision.POSITIVE_ZERO_FLOAT_BITS:I
3: ldc -0.0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
putstatic org.apache.commons.math3.util.Precision.NEGATIVE_ZERO_FLOAT_BITS:I
4: ldc 4368491638549381120
invokestatic java.lang.Double.longBitsToDouble:(J)D
putstatic org.apache.commons.math3.util.Precision.EPSILON:D
5: ldc 4503599627370496
invokestatic java.lang.Double.longBitsToDouble:(J)D
putstatic org.apache.commons.math3.util.Precision.SAFE_MIN:D
6: 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 Lorg/apache/commons/math3/util/Precision;
public static int compareTo(double, double, double);
descriptor: (DDD)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 2
dload 4
invokestatic org.apache.commons.math3.util.Precision.equals:(DDD)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
dload 0
dload 2
dcmpg
ifge 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x D
0 5 2 y D
0 5 4 eps D
MethodParameters:
Name Flags
x
y
eps
public static int compareTo(double, double, int);
descriptor: (DDI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 2
iload 4
invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
dload 0
dload 2
dcmpg
ifge 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x D
0 5 2 y D
0 5 4 maxUlps I
MethodParameters:
Name Flags
x final
y final
maxUlps final
public static boolean equals(float, float);
descriptor: (FF)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: fload 0
fload 1
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(FFI)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
0 1 1 y F
MethodParameters:
Name Flags
x
y
public static boolean equalsIncludingNaN(float, float);
descriptor: (FF)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: fload 0
fload 0
fcmpl
ifne 1
fload 1
fload 1
fcmpl
ifeq 7
StackMap locals:
StackMap stack:
1: fload 0
fload 0
fcmpl
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: fload 1
fload 1
fcmpl
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: float float
StackMap stack: int int
5: ixor
ifeq 6
iconst_0
goto 8
StackMap locals:
StackMap stack:
6: iconst_1
goto 8
StackMap locals:
StackMap stack:
7: fload 0
fload 1
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(FFI)Z
StackMap locals:
StackMap stack: int
8: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 x F
0 9 1 y F
MethodParameters:
Name Flags
x
y
public static boolean equals(float, float, float);
descriptor: (FFF)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: fload 0
fload 1
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(FFI)Z
ifne 1
fload 1
fload 0
fsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(F)F
fload 2
fcmpg
ifle 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x F
0 2 1 y F
0 2 2 eps F
MethodParameters:
Name Flags
x
y
eps
public static boolean equalsIncludingNaN(float, float, float);
descriptor: (FFF)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: fload 0
fload 1
invokestatic org.apache.commons.math3.util.Precision.equalsIncludingNaN:(FF)Z
ifne 1
fload 1
fload 0
fsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(F)F
fload 2
fcmpg
ifle 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x F
0 2 1 y F
0 2 2 eps F
MethodParameters:
Name Flags
x
y
eps
public static boolean equals(float, float, int);
descriptor: (FFI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: fload 0
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 3
start local 3 1: fload 1
invokestatic java.lang.Float.floatToRawIntBits:(F)I
istore 4
start local 4 2: iload 3
iload 4
ixor
ldc -2147483648
iand
ifne 7
3: iload 3
iload 4
isub
invokestatic org.apache.commons.math3.util.FastMath.abs:(I)I
iload 2
if_icmpgt 4
iconst_1
goto 5
StackMap locals: int int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: goto 19
end local 5 7: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpge 11
8: iload 4
getstatic org.apache.commons.math3.util.Precision.POSITIVE_ZERO_FLOAT_BITS:I
isub
istore 6
start local 6 9: iload 3
getstatic org.apache.commons.math3.util.Precision.NEGATIVE_ZERO_FLOAT_BITS:I
isub
istore 7
start local 7 10: goto 13
end local 7 end local 6 11: StackMap locals:
StackMap stack:
iload 3
getstatic org.apache.commons.math3.util.Precision.POSITIVE_ZERO_FLOAT_BITS:I
isub
istore 6
start local 6 12: iload 4
getstatic org.apache.commons.math3.util.Precision.NEGATIVE_ZERO_FLOAT_BITS:I
isub
istore 7
start local 7 13: StackMap locals: float float int int int top int int
StackMap stack:
iload 6
iload 2
if_icmple 16
14: iconst_0
istore 5
start local 5 15: goto 19
end local 5 16: StackMap locals:
StackMap stack:
iload 7
iload 2
iload 6
isub
if_icmpgt 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 5
end local 7 end local 6 start local 5 19: StackMap locals: float float int int int int
StackMap stack:
iload 5
ifeq 20
fload 0
invokestatic java.lang.Float.isNaN:(F)Z
ifne 20
fload 1
invokestatic java.lang.Float.isNaN:(F)Z
ifne 20
iconst_1
ireturn
StackMap locals:
StackMap stack:
20: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 x F
0 21 1 y F
0 21 2 maxUlps I
1 21 3 xInt I
2 21 4 yInt I
6 7 5 isEqual Z
15 16 5 isEqual Z
19 21 5 isEqual Z
9 11 6 deltaPlus I
12 19 6 deltaPlus I
10 11 7 deltaMinus I
13 19 7 deltaMinus I
MethodParameters:
Name Flags
x final
y final
maxUlps final
public static boolean equalsIncludingNaN(float, float, int);
descriptor: (FFI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: fload 0
fload 0
fcmpl
ifne 1
fload 1
fload 1
fcmpl
ifeq 7
StackMap locals:
StackMap stack:
1: fload 0
fload 0
fcmpl
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: fload 1
fload 1
fcmpl
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: float float int
StackMap stack: int int
5: ixor
ifeq 6
iconst_0
goto 8
StackMap locals:
StackMap stack:
6: iconst_1
goto 8
StackMap locals:
StackMap stack:
7: fload 0
fload 1
iload 2
invokestatic org.apache.commons.math3.util.Precision.equals:(FFI)Z
StackMap locals:
StackMap stack: int
8: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 x F
0 9 1 y F
0 9 2 maxUlps I
MethodParameters:
Name Flags
x
y
maxUlps
public static boolean equals(double, double);
descriptor: (DD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 2 0: dload 0
dload 2
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
0 1 2 y D
MethodParameters:
Name Flags
x
y
public static boolean equalsIncludingNaN(double, double);
descriptor: (DD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 2 0: dload 0
dload 0
dcmpl
ifne 1
dload 2
dload 2
dcmpl
ifeq 7
StackMap locals:
StackMap stack:
1: dload 0
dload 0
dcmpl
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: dload 2
dload 2
dcmpl
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: double double
StackMap stack: int int
5: ixor
ifeq 6
iconst_0
goto 8
StackMap locals:
StackMap stack:
6: iconst_1
goto 8
StackMap locals:
StackMap stack:
7: dload 0
dload 2
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
StackMap locals:
StackMap stack: int
8: ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 x D
0 9 2 y D
MethodParameters:
Name Flags
x
y
public static boolean equals(double, double, double);
descriptor: (DDD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 2
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
ifne 1
dload 2
dload 0
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 4
dcmpg
ifle 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x D
0 2 2 y D
0 2 4 eps D
MethodParameters:
Name Flags
x
y
eps
public static boolean equalsWithRelativeTolerance(double, double, double);
descriptor: (DDD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 2
iconst_1
invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
dload 0
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 2
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
invokestatic org.apache.commons.math3.util.FastMath.max:(DD)D
dstore 6
start local 6 3: dload 0
dload 2
dsub
dload 6
ddiv
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dstore 8
start local 8 4: dload 8
dload 4
dcmpg
ifgt 5
iconst_1
ireturn
StackMap locals: double double
StackMap stack:
5: iconst_0
ireturn
end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 x D
0 6 2 y D
0 6 4 eps D
3 6 6 absoluteMax D
4 6 8 relativeDifference D
MethodParameters:
Name Flags
x
y
eps
public static boolean equalsIncludingNaN(double, double, double);
descriptor: (DDD)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 2
invokestatic org.apache.commons.math3.util.Precision.equalsIncludingNaN:(DD)Z
ifne 1
dload 2
dload 0
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 4
dcmpg
ifle 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x D
0 2 2 y D
0 2 4 eps D
MethodParameters:
Name Flags
x
y
eps
public static boolean equals(double, double, int);
descriptor: (DDI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=14, args_size=3
start local 0 start local 2 start local 4 0: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 5
start local 5 1: dload 2
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lstore 7
start local 7 2: lload 5
lload 7
lxor
ldc -9223372036854775808
land
lconst_0
lcmp
ifne 7
3: lload 5
lload 7
lsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(J)J
iload 4
i2l
lcmp
ifgt 4
iconst_1
goto 5
StackMap locals: long long
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 9
start local 9 6: goto 19
end local 9 7: StackMap locals:
StackMap stack:
lload 5
lload 7
lcmp
ifge 11
8: lload 7
getstatic org.apache.commons.math3.util.Precision.POSITIVE_ZERO_DOUBLE_BITS:J
lsub
lstore 10
start local 10 9: lload 5
getstatic org.apache.commons.math3.util.Precision.NEGATIVE_ZERO_DOUBLE_BITS:J
lsub
lstore 12
start local 12 10: goto 13
end local 12 end local 10 11: StackMap locals:
StackMap stack:
lload 5
getstatic org.apache.commons.math3.util.Precision.POSITIVE_ZERO_DOUBLE_BITS:J
lsub
lstore 10
start local 10 12: lload 7
getstatic org.apache.commons.math3.util.Precision.NEGATIVE_ZERO_DOUBLE_BITS:J
lsub
lstore 12
start local 12 13: StackMap locals: double double int long long top long long
StackMap stack:
lload 10
iload 4
i2l
lcmp
ifle 16
14: iconst_0
istore 9
start local 9 15: goto 19
end local 9 16: StackMap locals:
StackMap stack:
lload 12
iload 4
i2l
lload 10
lsub
lcmp
ifgt 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 9
end local 12 end local 10 start local 9 19: StackMap locals: double double int long long int
StackMap stack:
iload 9
ifeq 20
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 20
dload 2
invokestatic java.lang.Double.isNaN:(D)Z
ifne 20
iconst_1
ireturn
StackMap locals:
StackMap stack:
20: iconst_0
ireturn
end local 9 end local 7 end local 5 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 x D
0 21 2 y D
0 21 4 maxUlps I
1 21 5 xInt J
2 21 7 yInt J
6 7 9 isEqual Z
15 16 9 isEqual Z
19 21 9 isEqual Z
9 11 10 deltaPlus J
12 19 10 deltaPlus J
10 11 12 deltaMinus J
13 19 12 deltaMinus J
MethodParameters:
Name Flags
x final
y final
maxUlps final
public static boolean equalsIncludingNaN(double, double, int);
descriptor: (DDI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 2 start local 4 0: dload 0
dload 0
dcmpl
ifne 1
dload 2
dload 2
dcmpl
ifeq 7
StackMap locals:
StackMap stack:
1: dload 0
dload 0
dcmpl
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: dload 2
dload 2
dcmpl
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: double double int
StackMap stack: int int
5: ixor
ifeq 6
iconst_0
goto 8
StackMap locals:
StackMap stack:
6: iconst_1
goto 8
StackMap locals:
StackMap stack:
7: dload 0
dload 2
iload 4
invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
StackMap locals:
StackMap stack: int
8: ireturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 x D
0 9 2 y D
0 9 4 maxUlps I
MethodParameters:
Name Flags
x
y
maxUlps
public static double round(double, int);
descriptor: (DI)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: dload 0
iload 2
iconst_4
invokestatic org.apache.commons.math3.util.Precision.round:(DII)D
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
0 1 2 scale I
MethodParameters:
Name Flags
x
scale
public static double round(double, int, int);
descriptor: (DII)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 2 start local 3 0: new java.math.BigDecimal
dup
dload 0
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
1: iload 2
iload 3
invokevirtual java.math.BigDecimal.setScale:(II)Ljava/math/BigDecimal;
2: invokevirtual java.math.BigDecimal.doubleValue:()D
3: dstore 4
start local 4 4: dload 4
dconst_0
dcmpl
ifne 5
dconst_0
dload 0
dmul
goto 6
StackMap locals: double
StackMap stack:
5: dload 4
StackMap locals:
StackMap stack: double
6: dreturn
end local 4 7: StackMap locals: double int int
StackMap stack: java.lang.NumberFormatException
pop
8: dload 0
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 10
9: dload 0
dreturn
10: StackMap locals:
StackMap stack:
ldc NaN
dreturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 x D
0 11 2 scale I
0 11 3 roundingMethod I
4 7 4 rounded D
Exception table:
from to target type
0 6 7 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
x
scale
roundingMethod
public static float round(float, int);
descriptor: (FI)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: fload 0
iload 1
iconst_4
invokestatic org.apache.commons.math3.util.Precision.round:(FII)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x F
0 1 1 scale I
MethodParameters:
Name Flags
x
scale
public static float round(float, int, int);
descriptor: (FII)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: fconst_1
fload 0
invokestatic org.apache.commons.math3.util.FastMath.copySign:(FF)F
fstore 3
start local 3 1: ldc 10.0
iload 1
invokestatic org.apache.commons.math3.util.FastMath.pow:(DI)D
d2f
fload 3
fmul
fstore 4
start local 4 2: fload 0
fload 4
fmul
f2d
fload 3
f2d
iload 2
invokestatic org.apache.commons.math3.util.Precision.roundUnscaled:(DDI)D
d2f
fload 4
fdiv
freturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x F
0 3 1 scale I
0 3 2 roundingMethod I
1 3 3 sign F
2 3 4 factor F
Exceptions:
throws org.apache.commons.math3.exception.MathArithmeticException, org.apache.commons.math3.exception.MathIllegalArgumentException
MethodParameters:
Name Flags
x
scale
roundingMethod
private static double roundUnscaled(double, double, int);
descriptor: (DDI)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 2 start local 4 0: iload 4
tableswitch { // 0 - 7
0: 41
1: 6
2: 1
3: 8
4: 32
5: 13
6: 20
7: 39
default: 44
}
1: StackMap locals:
StackMap stack:
dload 2
ldc -1.0
dcmpl
ifne 4
2: dload 0
ldc -Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
3: goto 55
4: StackMap locals:
StackMap stack:
dload 0
ldc Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
5: goto 55
6: StackMap locals:
StackMap stack:
dload 0
ldc -Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
7: goto 55
8: StackMap locals:
StackMap stack:
dload 2
ldc -1.0
dcmpl
ifne 11
9: dload 0
ldc Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
10: goto 55
11: StackMap locals:
StackMap stack:
dload 0
ldc -Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
12: goto 55
13: StackMap locals:
StackMap stack:
dload 0
ldc -Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
dstore 0
14: dload 0
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dsub
dstore 5
start local 5 15: dload 5
ldc 0.5
dcmpl
ifle 18
16: dload 0
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
17: goto 55
18: StackMap locals: double
StackMap stack:
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
19: goto 55
end local 5 20: StackMap locals:
StackMap stack:
dload 0
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dsub
dstore 5
start local 5 21: dload 5
ldc 0.5
dcmpl
ifle 24
22: dload 0
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
23: goto 55
StackMap locals: double
StackMap stack:
24: dload 5
ldc 0.5
dcmpg
ifge 27
25: dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
26: goto 55
27: StackMap locals:
StackMap stack:
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
ldc 2.0
ddiv
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
ldc 2.0
ddiv
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dcmpl
ifne 30
28: dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
29: goto 55
30: StackMap locals:
StackMap stack:
dload 0
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
31: goto 55
end local 5 32: StackMap locals:
StackMap stack:
dload 0
ldc Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
dstore 0
33: dload 0
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dsub
dstore 5
start local 5 34: dload 5
ldc 0.5
dcmpl
iflt 37
35: dload 0
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
36: goto 55
37: StackMap locals: double
StackMap stack:
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dstore 0
38: goto 55
end local 5 39: StackMap locals:
StackMap stack:
dload 0
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dcmpl
ifeq 55
40: new org.apache.commons.math3.exception.MathArithmeticException
dup
invokespecial org.apache.commons.math3.exception.MathArithmeticException.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
dload 0
dload 0
invokestatic org.apache.commons.math3.util.FastMath.floor:(D)D
dcmpl
ifeq 55
42: dload 0
ldc Infinity
invokestatic org.apache.commons.math3.util.FastMath.nextAfter:(DD)D
invokestatic org.apache.commons.math3.util.FastMath.ceil:(D)D
dstore 0
43: goto 55
44: StackMap locals:
StackMap stack:
new org.apache.commons.math3.exception.MathIllegalArgumentException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.INVALID_ROUNDING_METHOD:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
bipush 17
anewarray java.lang.Object
dup
iconst_0
45: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
46: ldc "ROUND_CEILING"
aastore
dup
iconst_2
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
47: ldc "ROUND_DOWN"
aastore
dup
iconst_4
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
48: ldc "ROUND_FLOOR"
aastore
dup
bipush 6
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 7
49: ldc "ROUND_HALF_DOWN"
aastore
dup
bipush 8
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 9
50: ldc "ROUND_HALF_EVEN"
aastore
dup
bipush 10
bipush 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 11
51: ldc "ROUND_HALF_UP"
aastore
dup
bipush 12
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 13
52: ldc "ROUND_UNNECESSARY"
aastore
dup
bipush 14
bipush 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 15
53: ldc "ROUND_UP"
aastore
dup
bipush 16
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
54: aastore
invokespecial org.apache.commons.math3.exception.MathIllegalArgumentException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
athrow
55: StackMap locals:
StackMap stack:
dload 0
dreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 unscaled D
0 56 2 sign D
0 56 4 roundingMethod I
15 20 5 fraction D
21 32 5 fraction D
34 39 5 fraction D
Exceptions:
throws org.apache.commons.math3.exception.MathArithmeticException, org.apache.commons.math3.exception.MathIllegalArgumentException
MethodParameters:
Name Flags
unscaled
sign
roundingMethod
public static double representableDelta(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
dadd
dload 0
dsub
dreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x D
0 1 2 originalDelta D
MethodParameters:
Name Flags
x
originalDelta
}
SourceFile: "Precision.java"