public final class com.google.common.math.Quantiles$ScaleAndIndex
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.google.common.math.Quantiles$ScaleAndIndex
super_class: java.lang.Object
{
private final int scale;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int index;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 2
iload 1
invokestatic com.google.common.math.Quantiles.checkIndex:(II)V
2: aload 0
iload 1
putfield com.google.common.math.Quantiles$ScaleAndIndex.scale:I
3: aload 0
iload 2
putfield com.google.common.math.Quantiles$ScaleAndIndex.index:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/math/Quantiles$ScaleAndIndex;
0 5 1 scale I
0 5 2 index I
MethodParameters:
Name Flags
scale
index
public double compute(java.util.Collection<? extends java.lang.Number>);
descriptor: (Ljava/util/Collection;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.google.common.primitives.Doubles.toArray:(Ljava/util/Collection;)[D
invokevirtual com.google.common.math.Quantiles$ScaleAndIndex.computeInPlace:([D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/math/Quantiles$ScaleAndIndex;
0 1 1 dataset Ljava/util/Collection<+Ljava/lang/Number;>;
Signature: (Ljava/util/Collection<+Ljava/lang/Number;>;)D
MethodParameters:
Name Flags
dataset
public double compute(double[]);
descriptor: ([D)D
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual double[].clone:()Ljava/lang/Object;
checkcast double[]
invokevirtual com.google.common.math.Quantiles$ScaleAndIndex.computeInPlace:([D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/math/Quantiles$ScaleAndIndex;
0 1 1 dataset [D
MethodParameters:
Name Flags
dataset
public double compute(long[]);
descriptor: ([J)D
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.google.common.math.Quantiles.longsToDoubles:([J)[D
invokevirtual com.google.common.math.Quantiles$ScaleAndIndex.computeInPlace:([D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/math/Quantiles$ScaleAndIndex;
0 1 1 dataset [J
MethodParameters:
Name Flags
dataset
public double compute(int[]);
descriptor: ([I)D
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.google.common.math.Quantiles.intsToDoubles:([I)[D
invokevirtual com.google.common.math.Quantiles$ScaleAndIndex.computeInPlace:([D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/math/Quantiles$ScaleAndIndex;
0 1 1 dataset [I
MethodParameters:
Name Flags
dataset
public double computeInPlace(double[]);
descriptor: ([D)D
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 1
arraylength
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "Cannot calculate quantiles of an empty dataset"
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
3: aload 1
invokestatic com.google.common.math.Quantiles.containsNaN:([D)Z
ifeq 5
4: ldc NaN
dreturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.math.Quantiles$ScaleAndIndex.index:I
i2l
aload 1
arraylength
iconst_1
isub
i2l
lmul
lstore 2
start local 2 6: lload 2
aload 0
getfield com.google.common.math.Quantiles$ScaleAndIndex.scale:I
i2l
getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
invokestatic com.google.common.math.LongMath.divide:(JJLjava/math/RoundingMode;)J
l2i
istore 4
start local 4 7: lload 2
iload 4
i2l
aload 0
getfield com.google.common.math.Quantiles$ScaleAndIndex.scale:I
i2l
lmul
lsub
l2i
istore 5
start local 5 8: iload 4
aload 1
iconst_0
aload 1
arraylength
iconst_1
isub
invokestatic com.google.common.math.Quantiles.selectInPlace:(I[DII)V
9: iload 5
ifne 11
10: aload 1
iload 4
daload
dreturn
11: StackMap locals: long int int
StackMap stack:
iload 4
iconst_1
iadd
aload 1
iload 4
iconst_1
iadd
aload 1
arraylength
iconst_1
isub
invokestatic com.google.common.math.Quantiles.selectInPlace:(I[DII)V
12: aload 1
iload 4
daload
aload 1
iload 4
iconst_1
iadd
daload
iload 5
i2d
aload 0
getfield com.google.common.math.Quantiles$ScaleAndIndex.scale:I
i2d
invokestatic com.google.common.math.Quantiles.interpolate:(DDDD)D
dreturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/google/common/math/Quantiles$ScaleAndIndex;
0 13 1 dataset [D
6 13 2 numerator J
7 13 4 quotient I
8 13 5 remainder I
MethodParameters:
Name Flags
dataset
}
SourceFile: "Quantiles.java"
NestHost: com.google.common.math.Quantiles
InnerClasses:
public final ScaleAndIndex = com.google.common.math.Quantiles$ScaleAndIndex of com.google.common.math.Quantiles