public class org.openjdk.jmh.util.ScoreFormatter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.util.ScoreFormatter
super_class: java.lang.Object
{
private static final int PRECISION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double ULP;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double THRESHOLD;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc "jmh.scorePrecision"
iconst_3
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
1: dconst_1
ldc 10.0
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
i2d
invokestatic java.lang.Math.pow:(DD)D
ddiv
putstatic org.openjdk.jmh.util.ScoreFormatter.ULP:D
2: getstatic org.openjdk.jmh.util.ScoreFormatter.ULP:D
ldc 2.0
ddiv
putstatic org.openjdk.jmh.util.ScoreFormatter.THRESHOLD:D
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/openjdk/jmh/util/ScoreFormatter;
public static boolean isApproximate(double);
descriptor: (D)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: dload 0
getstatic org.openjdk.jmh.util.ScoreFormatter.THRESHOLD:D
dcmpg
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 score D
MethodParameters:
Name Flags
score
public static java.lang.String format(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: dload 0
invokestatic org.openjdk.jmh.util.ScoreFormatter.isApproximate:(D)Z
ifeq 5
1: dload 0
invokestatic java.lang.Math.log10:(D)D
invokestatic java.lang.Math.round:(D)J
l2i
istore 2
start local 2 2: new java.lang.StringBuilder
dup
ldc "\u2248 "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
ifeq 3
new java.lang.StringBuilder
dup
ldc "10"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.openjdk.jmh.util.ScoreFormatter.superscript:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
StackMap locals: double int
StackMap stack: java.lang.StringBuilder
3: ldc "0"
StackMap locals: double int
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "%."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 score D
2 5 2 power I
MethodParameters:
Name Flags
score
public static java.lang.String format(int, double);
descriptor: (ID)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: dload 1
invokestatic org.openjdk.jmh.util.ScoreFormatter.isApproximate:(D)Z
ifeq 5
1: dload 1
invokestatic java.lang.Math.log10:(D)D
invokestatic java.lang.Math.round:(D)J
l2i
istore 3
start local 3 2: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
ldc "\u2248 "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
ifeq 3
new java.lang.StringBuilder
dup
ldc "10"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.openjdk.jmh.util.ScoreFormatter.superscript:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
StackMap locals: int double int
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.StringBuilder
3: ldc "0"
StackMap locals: int double int
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 3 5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 width I
0 6 1 score D
2 5 3 power I
MethodParameters:
Name Flags
width
score
public static java.lang.String formatExact(int, double);
descriptor: (ID)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 width I
0 1 1 score D
MethodParameters:
Name Flags
width
score
public static java.lang.String formatLatex(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: dload 0
invokestatic org.openjdk.jmh.util.ScoreFormatter.isApproximate:(D)Z
ifeq 5
1: dload 0
invokestatic java.lang.Math.log10:(D)D
invokestatic java.lang.Math.round:(D)J
l2i
istore 2
start local 2 2: new java.lang.StringBuilder
dup
ldc "$\\approx "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
ifeq 3
new java.lang.StringBuilder
dup
ldc "10^{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
StackMap locals: double int
StackMap stack: java.lang.StringBuilder
3: ldc "0"
StackMap locals: double int
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "%."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 score D
2 5 2 power I
MethodParameters:
Name Flags
score
public static java.lang.String formatError(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "%."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 0
getstatic org.openjdk.jmh.util.ScoreFormatter.ULP:D
invokestatic java.lang.Math.max:(DD)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 error D
MethodParameters:
Name Flags
error
public static java.lang.String formatError(int, double);
descriptor: (ID)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.openjdk.jmh.util.ScoreFormatter.PRECISION:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "f"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 1
getstatic org.openjdk.jmh.util.ScoreFormatter.ULP:D
invokestatic java.lang.Math.max:(DD)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 width I
0 1 1 error D
MethodParameters:
Name Flags
width
error
public static java.lang.String superscript(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "-"
ldc "\u207B"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
1: aload 0
ldc "0"
ldc "\u2070"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
2: aload 0
ldc "1"
ldc "\u00B9"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
3: aload 0
ldc "2"
ldc "\u00B2"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
4: aload 0
ldc "3"
ldc "\u00B3"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
5: aload 0
ldc "4"
ldc "\u2074"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
6: aload 0
ldc "5"
ldc "\u2075"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
7: aload 0
ldc "6"
ldc "\u2076"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
8: aload 0
ldc "7"
ldc "\u2077"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
9: aload 0
ldc "8"
ldc "\u2078"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
10: aload 0
ldc "9"
ldc "\u2079"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
11: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str
}
SourceFile: "ScoreFormatter.java"