public class org.openjdk.jmh.util.MultisetStatistics extends org.openjdk.jmh.util.AbstractStatistics
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.util.MultisetStatistics
super_class: org.openjdk.jmh.util.AbstractStatistics
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -4401871054963903938
private final org.openjdk.jmh.util.Multiset<java.lang.Double> values;
descriptor: Lorg/openjdk/jmh/util/Multiset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/openjdk/jmh/util/Multiset<Ljava/lang/Double;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.openjdk.jmh.util.AbstractStatistics.<init>:()V
1: aload 0
new org.openjdk.jmh.util.TreeMultiset
dup
invokespecial org.openjdk.jmh.util.TreeMultiset.<init>:()V
putfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
public void addValue(double, long);
descriptor: (DJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
lload 3
invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
0 2 1 d D
0 2 3 count J
MethodParameters:
Name Flags
d
count
public double getMax();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.isEmpty:()Z
ifne 7
1: ldc -Infinity
dstore 1
start local 1 2: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.openjdk.jmh.util.MultisetStatistics double top top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 3
start local 3 4: dload 1
dload 3
invokestatic java.lang.Math.max:(DD)D
dstore 1
end local 3 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: dload 1
dreturn
end local 1 7: StackMap locals: org.openjdk.jmh.util.MultisetStatistics
StackMap stack:
ldc NaN
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
2 7 1 max D
4 5 3 d D
public double getMin();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.isEmpty:()Z
ifne 7
1: ldc Infinity
dstore 1
start local 1 2: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.openjdk.jmh.util.MultisetStatistics double top top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 3
start local 3 4: dload 1
dload 3
invokestatic java.lang.Math.min:(DD)D
dstore 1
end local 3 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: dload 1
dreturn
end local 1 7: StackMap locals: org.openjdk.jmh.util.MultisetStatistics
StackMap stack:
ldc NaN
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
2 7 1 min D
4 5 3 d D
public long getN();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
public double getSum();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.isEmpty:()Z
ifne 7
1: dconst_0
dstore 1
start local 1 2: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.openjdk.jmh.util.MultisetStatistics double top top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 3
start local 3 4: dload 1
dload 3
aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
dload 3
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
l2d
dmul
dadd
dstore 1
end local 3 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: dload 1
dreturn
end local 1 7: StackMap locals: org.openjdk.jmh.util.MultisetStatistics
StackMap stack:
ldc NaN
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
2 7 1 sum D
4 5 3 d D
private double get(long);
descriptor: (J)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: lconst_0
lstore 3
start local 3 1: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 5
StackMap locals: org.openjdk.jmh.util.MultisetStatistics long long top top java.util.Iterator
StackMap stack:
2: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 5
start local 5 3: lload 3
aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
dload 5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
ladd
lstore 3
4: lload 3
lload 1
lcmp
iflt 5
dload 5
dreturn
end local 5 5: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 0
invokevirtual org.openjdk.jmh.util.MultisetStatistics.getMax:()D
dreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
0 7 1 index J
1 7 3 cur J
3 5 5 d D
MethodParameters:
Name Flags
index
public double getPercentile(double);
descriptor: (D)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=2
start local 0 start local 1 0: dload 1
dconst_0
dcmpg
iflt 1
dload 1
ldc 100.0
dcmpl
ifle 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Rank should be within [0; 100]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
dload 1
dconst_0
dcmpl
ifne 4
3: aload 0
invokevirtual org.openjdk.jmh.util.MultisetStatistics.getMin:()D
dreturn
4: StackMap locals:
StackMap stack:
dload 1
aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.size:()J
lconst_1
ladd
l2d
dmul
ldc 100.0
ddiv
dstore 3
start local 3 5: dload 3
invokestatic java.lang.Math.floor:(D)D
dstore 5
start local 5 6: aload 0
dload 5
d2l
invokevirtual org.openjdk.jmh.util.MultisetStatistics.get:(J)D
dstore 7
start local 7 7: aload 0
dload 5
d2l
lconst_1
ladd
invokevirtual org.openjdk.jmh.util.MultisetStatistics.get:(J)D
dstore 9
start local 9 8: dload 7
dload 9
dload 7
dsub
dload 3
dload 5
dsub
dmul
dadd
dreturn
end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
0 9 1 rank D
5 9 3 pos D
6 9 5 floorPos D
7 9 7 flooredValue D
8 9 9 nextValue D
MethodParameters:
Name Flags
rank
public double getVariance();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual org.openjdk.jmh.util.MultisetStatistics.getN:()J
lconst_0
lcmp
ifle 8
1: dconst_0
dstore 1
start local 1 2: aload 0
invokevirtual org.openjdk.jmh.util.MultisetStatistics.getMean:()D
dstore 3
start local 3 3: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 6
StackMap locals: org.openjdk.jmh.util.MultisetStatistics double double top top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 5
start local 5 5: dload 1
dload 5
dload 3
dsub
ldc 2.0
invokestatic java.lang.Math.pow:(DD)D
aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
dload 5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
l2d
dmul
dadd
dstore 1
end local 5 6: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: dload 1
aload 0
invokevirtual org.openjdk.jmh.util.MultisetStatistics.getN:()J
lconst_1
lsub
l2d
ddiv
dreturn
end local 3 end local 1 8: StackMap locals: org.openjdk.jmh.util.MultisetStatistics
StackMap stack:
ldc NaN
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
2 8 1 v D
3 8 3 m D
5 6 5 d D
public int[] getHistogram(double[]);
descriptor: ([D)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_2
if_icmpge 2
1: new java.lang.IllegalArgumentException
dup
ldc "Expected more than two levels"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.keys:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 3: aload 2
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
4: aload 1
arraylength
iconst_1
isub
newarray 10
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: org.openjdk.jmh.util.MultisetStatistics double[] java.util.List int[] int top top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 5
start local 5 8: goto 11
9: StackMap locals: org.openjdk.jmh.util.MultisetStatistics double[] java.util.List int[] int double java.util.Iterator
StackMap stack:
iinc 4 1
10: iload 4
aload 1
arraylength
iconst_2
isub
if_icmple 11
goto 14
11: StackMap locals:
StackMap stack:
aload 1
iload 4
daload
dload 5
dcmpl
ifgt 9
dload 5
aload 1
iload 4
iconst_1
iadd
daload
dcmpl
ifge 9
12: aload 3
iload 4
dup2
iaload
i2l
aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
dload 5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
ladd
l2i
iastore
end local 5 13: StackMap locals: org.openjdk.jmh.util.MultisetStatistics double[] java.util.List int[] int top top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
14: StackMap locals: org.openjdk.jmh.util.MultisetStatistics double[] java.util.List int[] int
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
0 15 1 levels [D
3 15 2 vs Ljava/util/List<Ljava/lang/Double;>;
5 15 3 result [I
6 15 4 c I
8 13 5 v D
MethodParameters:
Name Flags
levels
public java.util.Iterator<java.util.Map$Entry<java.lang.Double, java.lang.Long>> getRawData();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.util.MultisetStatistics.values:Lorg/openjdk/jmh/util/Multiset;
invokeinterface org.openjdk.jmh.util.Multiset.entrySet:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/util/MultisetStatistics;
Signature: ()Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Double;Ljava/lang/Long;>;>;
}
SourceFile: "MultisetStatistics.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map