public final class org.apache.xmlgraphics.util.DoubleFormatUtil
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.xmlgraphics.util.DoubleFormatUtil
super_class: java.lang.Object
{
private static final long[] POWERS_OF_TEN_LONG;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double[] POWERS_OF_TEN_DOUBLE;
descriptor: [D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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=6, locals=1, args_size=0
0: ldc Lorg/apache/xmlgraphics/util/DoubleFormatUtil;
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 org.apache.xmlgraphics.util.DoubleFormatUtil.$assertionsDisabled:Z
3: bipush 19
newarray 11
putstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
4: bipush 30
newarray 7
putstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_DOUBLE:[D
5: getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
iconst_0
lconst_1
lastore
6: iconst_1
istore 0
start local 0 7: goto 10
8: StackMap locals: int
StackMap stack:
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
iload 0
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
iload 0
iconst_1
isub
laload
ldc 10
lmul
lastore
9: iinc 0 1
StackMap locals:
StackMap stack:
10: iload 0
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
arraylength
if_icmplt 8
end local 0 11: iconst_0
istore 0
start local 0 12: goto 15
13: StackMap locals:
StackMap stack:
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_DOUBLE:[D
iload 0
new java.lang.StringBuilder
dup
ldc "1e"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
dastore
14: iinc 0 1
StackMap locals:
StackMap stack:
15: iload 0
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_DOUBLE:[D
arraylength
if_icmplt 13
end local 0 16: return
LocalVariableTable:
Start End Slot Name Signature
7 11 0 i I
12 16 0 i I
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/xmlgraphics/util/DoubleFormatUtil;
public static void formatDouble(double, int, int, java.lang.StringBuffer);
descriptor: (DIILjava/lang/StringBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 2 start local 3 start local 4 0: dload 0
invokestatic java.lang.Math.abs:(D)D
dconst_1
dcmpl
iflt 1
iload 2
goto 2
StackMap locals:
StackMap stack:
1: iload 3
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: dload 0
iload 5
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tooManyDigitsUsed:(DI)Z
ifne 4
dload 0
iload 5
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tooCloseToRound:(DI)Z
ifeq 6
4: StackMap locals: int
StackMap stack:
dload 0
iload 2
iload 3
aload 4
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.formatDoublePrecise:(DIILjava/lang/StringBuffer;)V
5: goto 7
6: StackMap locals:
StackMap stack:
dload 0
iload 2
iload 3
aload 4
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.formatDoubleFast:(DIILjava/lang/StringBuffer;)V
7: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 source D
0 8 2 decimals I
0 8 3 precision I
0 8 4 target Ljava/lang/StringBuffer;
3 8 5 scale I
MethodParameters:
Name Flags
source
decimals
precision
target
public static void formatDoublePrecise(double, int, int, java.lang.StringBuffer);
descriptor: (DIILjava/lang/StringBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=19, args_size=4
start local 0 start local 2 start local 3 start local 4 0: dload 0
iload 2
iload 3
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.isRoundedToZero:(DII)Z
ifeq 3
1: aload 4
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: return
3: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 4
dload 0
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 6
4: StackMap locals:
StackMap stack:
aload 4
dload 0
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: return
6: StackMap locals:
StackMap stack:
dload 0
dconst_0
dcmpg
ifge 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 5
start local 5 9: iload 5
ifeq 12
10: dload 0
dneg
dstore 0
11: aload 4
bipush 45
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
12: StackMap locals: int
StackMap stack:
dload 0
dconst_1
dcmpl
iflt 13
iload 2
goto 14
StackMap locals:
StackMap stack:
13: iload 3
StackMap locals:
StackMap stack: int
14: istore 6
start local 6 15: dload 0
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
astore 7
start local 7 16: dload 0
ldc 0.001
dcmpl
iflt 38
dload 0
ldc 1.0E7
dcmpg
ifge 38
17: aload 7
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 18: aload 7
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 19: aload 9
invokevirtual java.lang.String.length:()I
istore 10
start local 10 20: iload 6
iload 10
if_icmplt 31
21: ldc "0"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: aload 4
aload 7
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
23: goto 30
24: StackMap locals: double int int java.lang.StringBuffer int int java.lang.String int java.lang.String int
StackMap stack:
aload 4
aload 7
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
25: aload 4
invokevirtual java.lang.StringBuffer.length:()I
iconst_1
isub
istore 11
start local 11 26: goto 29
27: StackMap locals: int
StackMap stack:
aload 4
iload 11
invokevirtual java.lang.StringBuffer.setLength:(I)V
28: iinc 11 -1
StackMap locals:
StackMap stack:
29: iload 11
iflt 30
aload 4
iload 11
invokevirtual java.lang.StringBuffer.charAt:(I)C
bipush 48
if_icmpeq 27
end local 11 30: StackMap locals:
StackMap stack:
return
31: StackMap locals:
StackMap stack:
iload 6
iconst_1
iadd
iload 10
if_icmpge 34
32: iload 6
iconst_1
iadd
istore 10
33: aload 9
iconst_0
iload 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
34: StackMap locals:
StackMap stack:
aload 7
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 11
start local 11 35: aload 9
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 13
start local 13 36: aload 4
iload 6
lload 11
lload 13
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.format:(Ljava/lang/StringBuffer;IJJ)V
end local 13 end local 11 end local 10 end local 9 end local 8 37: goto 83
38: StackMap locals:
StackMap stack:
aload 7
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 39: getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.$assertionsDisabled:Z
ifne 40
iload 8
ifge 40
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
40: StackMap locals: int
StackMap stack:
aload 7
bipush 69
invokevirtual java.lang.String.indexOf:(I)I
istore 9
start local 9 41: getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.$assertionsDisabled:Z
ifne 42
iload 9
ifge 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals: int
StackMap stack:
aload 7
iload 9
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 10
start local 10 43: aload 7
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 11
start local 11 44: aload 7
iload 8
iconst_1
iadd
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 12
start local 12 45: aload 12
invokevirtual java.lang.String.length:()I
istore 13
start local 13 46: iload 10
iflt 67
47: iload 13
iload 10
isub
istore 14
start local 14 48: iload 14
ifgt 57
49: aload 4
aload 11
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
50: aload 4
aload 12
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
51: iload 14
ineg
istore 15
start local 15 52: goto 55
53: StackMap locals: double int int java.lang.StringBuffer int int java.lang.String int int int java.lang.String java.lang.String int int int
StackMap stack:
aload 4
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
54: iinc 15 -1
StackMap locals:
StackMap stack:
55: iload 15
ifgt 53
end local 15 56: goto 83
StackMap locals:
StackMap stack:
57: iload 14
iload 6
if_icmpgt 63
58: aload 4
aload 11
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
59: aload 4
aload 12
iconst_0
iload 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
60: aload 4
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
61: aload 4
aload 12
iload 10
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
62: goto 83
63: StackMap locals:
StackMap stack:
aload 11
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
iload 10
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPow:(I)J
lmul
aload 12
iconst_0
iload 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
ladd
lstore 15
start local 15 64: aload 12
iload 10
iload 10
iload 6
iadd
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 17
start local 17 65: aload 4
iload 6
lload 15
lload 17
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.format:(Ljava/lang/StringBuffer;IJJ)V
end local 17 end local 15 end local 14 66: goto 83
67: StackMap locals:
StackMap stack:
iload 10
ineg
istore 10
68: iload 6
iload 10
isub
iconst_1
iadd
istore 14
start local 14 69: iload 14
ifge 72
70: aload 4
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
71: goto 83
StackMap locals: int
StackMap stack:
72: iload 14
ifne 76
73: aload 11
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 15
start local 15 74: aload 4
iload 6
lconst_0
lload 15
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.format:(Ljava/lang/StringBuffer;IJJ)V
end local 15 75: goto 83
StackMap locals:
StackMap stack:
76: iload 13
iload 14
if_icmpge 80
77: aload 11
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
iload 13
iconst_1
iadd
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPow:(I)J
lmul
aload 12
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
ldc 10
lmul
ladd
lstore 15
start local 15 78: aload 4
iload 10
iload 13
iadd
lconst_0
lload 15
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.format:(Ljava/lang/StringBuffer;IJJ)V
end local 15 79: goto 83
80: StackMap locals:
StackMap stack:
aload 12
iconst_0
iload 14
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 15
start local 15 81: aload 11
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
iload 14
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPow:(I)J
lmul
lload 15
ladd
lstore 17
start local 17 82: aload 4
iload 6
lconst_0
lload 17
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.format:(Ljava/lang/StringBuffer;IJJ)V
end local 17 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 83: StackMap locals: double int int java.lang.StringBuffer int int java.lang.String
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 source D
0 84 2 decimals I
0 84 3 precision I
0 84 4 target Ljava/lang/StringBuffer;
9 84 5 negative Z
15 84 6 scale I
16 84 7 s Ljava/lang/String;
18 37 8 dot I
19 37 9 decS Ljava/lang/String;
20 37 10 decLength I
26 30 11 l I
35 37 11 intP J
36 37 13 decP J
39 83 8 dot I
41 83 9 exp I
43 83 10 exposant I
44 83 11 intS Ljava/lang/String;
45 83 12 decS Ljava/lang/String;
46 83 13 decLength I
48 66 14 digits I
52 56 15 i I
64 66 15 intP J
65 66 17 decP J
69 83 14 digits I
74 75 15 decP J
78 79 15 decP J
81 83 15 subDecP J
82 83 17 decP J
MethodParameters:
Name Flags
source
decimals
precision
target
private static boolean isRoundedToZero(double, int, int);
descriptor: (DII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 2 start local 3 0: dload 0
dconst_0
dcmpl
ifeq 1
dload 0
invokestatic java.lang.Math.abs:(D)D
ldc 4.999999999999999
iload 2
iload 3
invokestatic java.lang.Math.max:(II)I
iconst_1
iadd
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPowDouble:(I)D
ddiv
dcmpg
iflt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 source D
0 2 2 decimals I
0 2 3 precision I
MethodParameters:
Name Flags
source
decimals
precision
public static long tenPow(int);
descriptor: (I)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.$assertionsDisabled:Z
ifne 1
iload 0
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 0
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
arraylength
if_icmpge 2
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_LONG:[J
iload 0
laload
goto 3
StackMap locals:
StackMap stack:
2: ldc 10.0
iload 0
i2d
invokestatic java.lang.Math.pow:(DD)D
d2l
StackMap locals:
StackMap stack: long
3: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 n I
MethodParameters:
Name Flags
n
private static double tenPowDouble(int);
descriptor: (I)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.$assertionsDisabled:Z
ifne 1
iload 0
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 0
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_DOUBLE:[D
arraylength
if_icmpge 2
getstatic org.apache.xmlgraphics.util.DoubleFormatUtil.POWERS_OF_TEN_DOUBLE:[D
iload 0
daload
goto 3
StackMap locals:
StackMap stack:
2: ldc 10.0
iload 0
i2d
invokestatic java.lang.Math.pow:(DD)D
StackMap locals:
StackMap stack: double
3: dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 n I
MethodParameters:
Name Flags
n
private static void format(java.lang.StringBuffer, int, long, long);
descriptor: (Ljava/lang/StringBuffer;IJJ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 4
lconst_0
lcmp
ifeq 11
1: lload 4
ldc 5
ladd
lstore 4
2: lload 4
ldc 10
ldiv
lstore 4
3: lload 4
l2d
iload 1
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPowDouble:(I)D
dcmpl
iflt 6
4: lload 2
lconst_1
ladd
lstore 2
5: lload 4
iload 1
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPow:(I)J
lsub
lstore 4
6: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifeq 11
7: goto 10
8: StackMap locals:
StackMap stack:
lload 4
ldc 10
ldiv
lstore 4
9: iinc 1 -1
10: StackMap locals:
StackMap stack:
lload 4
ldc 10
lrem
lconst_0
lcmp
ifeq 8
11: StackMap locals:
StackMap stack:
aload 0
lload 2
invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
pop
12: lload 4
lconst_0
lcmp
ifeq 19
13: aload 0
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
16: StackMap locals:
StackMap stack:
iload 1
ifle 18
iload 1
bipush 18
if_icmple 17
lload 4
l2d
iinc 1 -1
iload 1
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPowDouble:(I)D
dcmpg
iflt 15
goto 18
StackMap locals:
StackMap stack:
17: lload 4
iinc 1 -1
iload 1
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPow:(I)J
lcmp
iflt 15
18: StackMap locals:
StackMap stack:
aload 0
lload 4
invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
pop
19: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 target Ljava/lang/StringBuffer;
0 20 1 scale I
0 20 2 intP J
0 20 4 decP J
MethodParameters:
Name Flags
target
scale
intP
decP
public static void formatDoubleFast(double, int, int, java.lang.StringBuffer);
descriptor: (DIILjava/lang/StringBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=4
start local 0 start local 2 start local 3 start local 4 0: dload 0
iload 2
iload 3
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.isRoundedToZero:(DII)Z
ifeq 3
1: aload 4
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: return
3: StackMap locals:
StackMap stack:
dload 0
invokestatic java.lang.Double.isNaN:(D)Z
ifne 4
dload 0
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 6
4: StackMap locals:
StackMap stack:
aload 4
dload 0
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: return
6: StackMap locals:
StackMap stack:
dload 0
dconst_0
dcmpl
iflt 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 5
start local 5 9: dload 0
invokestatic java.lang.Math.abs:(D)D
dstore 0
10: dload 0
dconst_1
dcmpl
iflt 11
iload 2
goto 12
StackMap locals: int
StackMap stack:
11: iload 3
StackMap locals:
StackMap stack: int
12: istore 6
start local 6 13: dload 0
invokestatic java.lang.Math.floor:(D)D
d2l
lstore 7
start local 7 14: iload 6
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPowDouble:(I)D
dstore 9
start local 9 15: dload 0
lload 7
l2d
dsub
dload 9
dmul
dstore 11
start local 11 16: dload 11
invokestatic java.lang.Math.round:(D)J
lstore 13
start local 13 17: lload 13
l2d
dload 9
dcmpl
iflt 20
18: lload 7
lconst_1
ladd
lstore 7
19: lload 13
l2d
dload 9
dsub
invokestatic java.lang.Math.round:(D)J
lstore 13
20: StackMap locals: double int int java.lang.StringBuffer int int long double double long
StackMap stack:
lload 13
lconst_0
lcmp
ifeq 25
21: goto 24
22: StackMap locals:
StackMap stack:
lload 13
ldc 10
ldiv
lstore 13
23: iinc 6 -1
24: StackMap locals:
StackMap stack:
lload 13
ldc 10
lrem
lconst_0
lcmp
ifeq 22
25: StackMap locals:
StackMap stack:
lload 7
lconst_0
lcmp
ifne 26
lload 13
lconst_0
lcmp
ifeq 36
26: StackMap locals:
StackMap stack:
iload 5
ifne 28
27: aload 4
bipush 45
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
28: StackMap locals:
StackMap stack:
aload 4
lload 7
invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
pop
29: lload 13
lconst_0
lcmp
ifeq 37
30: aload 4
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
31: goto 33
32: StackMap locals:
StackMap stack:
aload 4
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
33: StackMap locals:
StackMap stack:
iload 6
ifle 34
lload 13
l2d
iinc 6 -1
iload 6
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPowDouble:(I)D
dcmpg
iflt 32
34: StackMap locals:
StackMap stack:
aload 4
lload 13
invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
pop
35: goto 37
36: StackMap locals:
StackMap stack:
aload 4
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
37: StackMap locals:
StackMap stack:
return
end local 13 end local 11 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 source D
0 38 2 decimals I
0 38 3 precision I
0 38 4 target Ljava/lang/StringBuffer;
9 38 5 isPositive Z
13 38 6 scale I
14 38 7 intPart J
15 38 9 tenScale D
16 38 11 fracUnroundedPart D
17 38 13 fracPart J
MethodParameters:
Name Flags
source
decimals
precision
target
public static int getExponant(double);
descriptor: (D)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
ldc 9218868437227405312
land
lstore 2
start local 2 1: lload 2
bipush 52
lshr
lstore 2
2: lload 2
ldc 1023
lsub
l2i
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value D
1 3 2 exp J
MethodParameters:
Name Flags
value
private static boolean tooManyDigitsUsed(double, int);
descriptor: (DI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 2 0: dload 0
invokestatic java.lang.Math.log10:(D)D
dstore 3
start local 3 1: iload 2
sipush 308
if_icmpge 2
dload 3
iload 2
i2d
dadd
ldc 14.5
dcmpl
ifge 2
iconst_0
ireturn
StackMap locals: double
StackMap stack:
2: iconst_1
ireturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 source D
0 3 2 scale I
1 3 3 decExp D
MethodParameters:
Name Flags
source
scale
private static boolean tooCloseToRound(double, int);
descriptor: (DI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=15, args_size=2
start local 0 start local 2 0: dload 0
invokestatic java.lang.Math.abs:(D)D
dstore 0
1: dload 0
invokestatic java.lang.Math.floor:(D)D
d2l
lstore 3
start local 3 2: dload 0
lload 3
l2d
dsub
iload 2
invokestatic org.apache.xmlgraphics.util.DoubleFormatUtil.tenPowDouble:(I)D
dmul
dstore 5
start local 5 3: dload 0
invokestatic java.lang.Math.log10:(D)D
dstore 7
start local 7 4: dload 7
iload 2
i2d
dadd
ldc 12.0
dcmpl
iflt 5
ldc 0.1
goto 6
StackMap locals: long double double
StackMap stack:
5: ldc 0.001
StackMap locals:
StackMap stack: double
6: dstore 9
start local 9 7: dload 5
dload 5
invokestatic java.lang.Math.floor:(D)D
dsub
invokestatic java.lang.Math.abs:(D)D
dstore 11
start local 11 8: dload 5
dload 5
invokestatic java.lang.Math.floor:(D)D
dsub
ldc 0.5
dsub
invokestatic java.lang.Math.abs:(D)D
dstore 13
start local 13 9: dload 11
dload 9
dcmpg
ifle 10
dload 13
dload 9
dcmpg
ifle 10
iconst_0
ireturn
StackMap locals: double double double
StackMap stack:
10: iconst_1
ireturn
end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 source D
0 11 2 scale I
2 11 3 intPart J
3 11 5 fracPart D
4 11 7 decExp D
7 11 9 range D
8 11 11 distanceToRound1 D
9 11 13 distanceToRound2 D
MethodParameters:
Name Flags
source
scale
}
SourceFile: "DoubleFormatUtil.java"