public final class it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps
super_class: java.lang.Object
{
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=1, locals=0, args_size=0
0: .line 28
ldc Lit/unimi/dsi/fastutil/floats/FloatSemiIndirectHeaps;
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 it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.$assertionsDisabled:Z
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 // it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps this
0: .line 29
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 30
return
end local 0 // it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lit/unimi/dsi/fastutil/floats/FloatSemiIndirectHeaps;
public static int downHeap(float[], int[], int, int, it.unimi.dsi.fastutil.floats.FloatComparator);
descriptor: ([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=5
start local 0 // float[] refArray
start local 1 // int[] heap
start local 2 // int size
start local 3 // int i
start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
0: .line 50
getstatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.$assertionsDisabled:Z
ifne 1
iload 3 /* i */
iload 2 /* size */
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 51
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iaload
istore 5 /* e */
start local 5 // int e
2: .line 52
aload 0 /* refArray */
iload 5 /* e */
faload
fstore 6 /* E */
start local 6 // float E
3: .line 54
aload 4 /* c */
ifnonnull 24
4: .line 55
goto 13
start local 7 // int child
5: .line 56
StackMap locals: int float int
StackMap stack:
aload 1 /* heap */
iload 7 /* child */
iaload
istore 8 /* t */
start local 8 // int t
6: .line 57
iload 7 /* child */
iconst_1
iadd
istore 9 /* right */
start local 9 // int right
7: .line 58
iload 9 /* right */
iload 2 /* size */
if_icmpge 9
aload 0 /* refArray */
aload 1 /* heap */
iload 9 /* right */
iaload
faload
aload 0 /* refArray */
iload 8 /* t */
faload
invokestatic java.lang.Float.compare:(FF)I
ifge 9
8: .line 59
aload 1 /* heap */
iload 9 /* right */
dup
istore 7 /* child */
iaload
istore 8 /* t */
9: .line 60
StackMap locals: int int
StackMap stack:
fload 6 /* E */
aload 0 /* refArray */
iload 8 /* t */
faload
invokestatic java.lang.Float.compare:(FF)I
ifgt 11
10: .line 61
goto 26
11: .line 62
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iload 8 /* t */
iastore
12: .line 63
iload 7 /* child */
istore 3 /* i */
end local 9 // int right
end local 8 // int t
end local 7 // int child
13: .line 55
StackMap locals:
StackMap stack:
iload 3 /* i */
iconst_1
ishl
iconst_1
iadd
dup
istore 7 /* child */
start local 7 // int child
14: iload 2 /* size */
if_icmplt 5
15: .line 64
goto 26
16: .line 67
StackMap locals: int
StackMap stack:
aload 1 /* heap */
iload 7 /* child */
iaload
istore 8 /* t */
start local 8 // int t
17: .line 68
iload 7 /* child */
iconst_1
iadd
istore 9 /* right */
start local 9 // int right
18: .line 69
iload 9 /* right */
iload 2 /* size */
if_icmpge 20
aload 4 /* c */
aload 0 /* refArray */
aload 1 /* heap */
iload 9 /* right */
iaload
faload
aload 0 /* refArray */
iload 8 /* t */
faload
invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
ifge 20
19: .line 70
aload 1 /* heap */
iload 9 /* right */
dup
istore 7 /* child */
iaload
istore 8 /* t */
20: .line 71
StackMap locals: int int
StackMap stack:
aload 4 /* c */
fload 6 /* E */
aload 0 /* refArray */
iload 8 /* t */
faload
invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
ifgt 22
21: .line 72
goto 26
22: .line 73
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iload 8 /* t */
iastore
23: .line 74
iload 7 /* child */
istore 3 /* i */
end local 9 // int right
end local 8 // int t
end local 7 // int child
24: .line 66
StackMap locals:
StackMap stack:
iload 3 /* i */
iconst_1
ishl
iconst_1
iadd
dup
istore 7 /* child */
start local 7 // int child
25: iload 2 /* size */
if_icmplt 16
26: .line 76
StackMap locals: int
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iload 5 /* e */
iastore
27: .line 77
iload 3 /* i */
ireturn
end local 7 // int child
end local 6 // float E
end local 5 // int e
end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
end local 3 // int i
end local 2 // int size
end local 1 // int[] heap
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 28 0 refArray [F
0 28 1 heap [I
0 28 2 size I
0 28 3 i I
0 28 4 c Lit/unimi/dsi/fastutil/floats/FloatComparator;
2 28 5 e I
3 28 6 E F
5 13 7 child I
14 24 7 child I
25 28 7 child I
6 13 8 t I
7 13 9 right I
17 24 8 t I
18 24 9 right I
MethodParameters:
Name Flags
refArray final
heap final
size final
i
c final
public static int upHeap(float[], int[], int, int, it.unimi.dsi.fastutil.floats.FloatComparator);
descriptor: ([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=5
start local 0 // float[] refArray
start local 1 // int[] heap
start local 2 // int size
start local 3 // int i
start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
0: .line 97
getstatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.$assertionsDisabled:Z
ifne 1
iload 3 /* i */
iload 2 /* size */
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 98
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iaload
istore 5 /* e */
start local 5 // int e
2: .line 99
aload 0 /* refArray */
iload 5 /* e */
faload
fstore 6 /* E */
start local 6 // float E
3: .line 100
aload 4 /* c */
ifnonnull 19
4: .line 101
goto 11
5: .line 102
StackMap locals: int float
StackMap stack:
iload 3 /* i */
iconst_1
isub
iconst_1
iushr
istore 7 /* parent */
start local 7 // int parent
6: .line 103
aload 1 /* heap */
iload 7 /* parent */
iaload
istore 8 /* t */
start local 8 // int t
7: .line 104
aload 0 /* refArray */
iload 8 /* t */
faload
fload 6 /* E */
invokestatic java.lang.Float.compare:(FF)I
ifgt 9
8: .line 105
goto 20
9: .line 106
StackMap locals: int int
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iload 8 /* t */
iastore
10: .line 107
iload 7 /* parent */
istore 3 /* i */
end local 8 // int t
end local 7 // int parent
11: .line 101
StackMap locals:
StackMap stack:
iload 3 /* i */
ifne 5
12: .line 108
goto 20
13: .line 111
StackMap locals:
StackMap stack:
iload 3 /* i */
iconst_1
isub
iconst_1
iushr
istore 7 /* parent */
start local 7 // int parent
14: .line 112
aload 1 /* heap */
iload 7 /* parent */
iaload
istore 8 /* t */
start local 8 // int t
15: .line 113
aload 4 /* c */
aload 0 /* refArray */
iload 8 /* t */
faload
fload 6 /* E */
invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
ifgt 17
16: .line 114
goto 20
17: .line 115
StackMap locals: int int
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iload 8 /* t */
iastore
18: .line 116
iload 7 /* parent */
istore 3 /* i */
end local 8 // int t
end local 7 // int parent
19: .line 110
StackMap locals:
StackMap stack:
iload 3 /* i */
ifne 13
20: .line 118
StackMap locals:
StackMap stack:
aload 1 /* heap */
iload 3 /* i */
iload 5 /* e */
iastore
21: .line 119
iload 3 /* i */
ireturn
end local 6 // float E
end local 5 // int e
end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
end local 3 // int i
end local 2 // int size
end local 1 // int[] heap
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 22 0 refArray [F
0 22 1 heap [I
0 22 2 size I
0 22 3 i I
0 22 4 c Lit/unimi/dsi/fastutil/floats/FloatComparator;
2 22 5 e I
3 22 6 E F
6 11 7 parent I
7 11 8 t I
14 19 7 parent I
15 19 8 t I
MethodParameters:
Name Flags
refArray final
heap final
size final
i
c final
public static void makeHeap(float[], int, int, int[], it.unimi.dsi.fastutil.floats.FloatComparator);
descriptor: ([FII[ILit/unimi/dsi/fastutil/floats/FloatComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 // float[] refArray
start local 1 // int offset
start local 2 // int length
start local 3 // int[] heap
start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
0: .line 137
aload 0 /* refArray */
iload 1 /* offset */
iload 2 /* length */
invokestatic it.unimi.dsi.fastutil.floats.FloatArrays.ensureOffsetLength:([FII)V
1: .line 138
aload 3 /* heap */
arraylength
iload 2 /* length */
if_icmpge 5
2: .line 139
new java.lang.IllegalArgumentException
dup
3: .line 140
new java.lang.StringBuilder
dup
ldc "The heap length ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* heap */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is smaller than the number of elements ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2 /* length */
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;
4: .line 139
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: .line 141
StackMap locals:
StackMap stack:
iload 2 /* length */
istore 5 /* i */
start local 5 // int i
6: .line 142
goto 8
7: .line 143
StackMap locals: int
StackMap stack:
aload 3 /* heap */
iload 5 /* i */
iload 1 /* offset */
iload 5 /* i */
iadd
iastore
8: .line 142
StackMap locals:
StackMap stack:
iload 5 /* i */
iinc 5 /* i */ -1
ifne 7
9: .line 144
iload 2 /* length */
iconst_1
iushr
istore 5 /* i */
10: .line 145
goto 12
11: .line 146
StackMap locals:
StackMap stack:
aload 0 /* refArray */
aload 3 /* heap */
iload 2 /* length */
iload 5 /* i */
aload 4 /* c */
invokestatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.downHeap:([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
pop
12: .line 145
StackMap locals:
StackMap stack:
iload 5 /* i */
iinc 5 /* i */ -1
ifne 11
13: .line 147
return
end local 5 // int i
end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
end local 3 // int[] heap
end local 2 // int length
end local 1 // int offset
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 14 0 refArray [F
0 14 1 offset I
0 14 2 length I
0 14 3 heap [I
0 14 4 c Lit/unimi/dsi/fastutil/floats/FloatComparator;
6 14 5 i I
MethodParameters:
Name Flags
refArray final
offset final
length final
heap final
c final
public static int[] makeHeap(float[], int, int, it.unimi.dsi.fastutil.floats.FloatComparator);
descriptor: ([FIILit/unimi/dsi/fastutil/floats/FloatComparator;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 // float[] refArray
start local 1 // int offset
start local 2 // int length
start local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
0: .line 162
iload 2 /* length */
ifgt 1
getstatic it.unimi.dsi.fastutil.ints.IntArrays.EMPTY_ARRAY:[I
goto 2
StackMap locals:
StackMap stack:
1: iload 2 /* length */
newarray 10
StackMap locals:
StackMap stack: int[]
2: astore 4 /* heap */
start local 4 // int[] heap
3: .line 163
aload 0 /* refArray */
iload 1 /* offset */
iload 2 /* length */
aload 4 /* heap */
aload 3 /* c */
invokestatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.makeHeap:([FII[ILit/unimi/dsi/fastutil/floats/FloatComparator;)V
4: .line 164
aload 4 /* heap */
areturn
end local 4 // int[] heap
end local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
end local 2 // int length
end local 1 // int offset
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 5 0 refArray [F
0 5 1 offset I
0 5 2 length I
0 5 3 c Lit/unimi/dsi/fastutil/floats/FloatComparator;
3 5 4 heap [I
MethodParameters:
Name Flags
refArray final
offset final
length final
c final
public static void makeHeap(float[], int[], int, it.unimi.dsi.fastutil.floats.FloatComparator);
descriptor: ([F[IILit/unimi/dsi/fastutil/floats/FloatComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 // float[] refArray
start local 1 // int[] heap
start local 2 // int size
start local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
0: .line 179
iload 2 /* size */
iconst_1
iushr
istore 4 /* i */
start local 4 // int i
1: .line 180
goto 3
2: .line 181
StackMap locals: int
StackMap stack:
aload 0 /* refArray */
aload 1 /* heap */
iload 2 /* size */
iload 4 /* i */
aload 3 /* c */
invokestatic it.unimi.dsi.fastutil.floats.FloatSemiIndirectHeaps.downHeap:([F[IIILit/unimi/dsi/fastutil/floats/FloatComparator;)I
pop
3: .line 180
StackMap locals:
StackMap stack:
iload 4 /* i */
iinc 4 /* i */ -1
ifne 2
4: .line 182
return
end local 4 // int i
end local 3 // it.unimi.dsi.fastutil.floats.FloatComparator c
end local 2 // int size
end local 1 // int[] heap
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 5 0 refArray [F
0 5 1 heap [I
0 5 2 size I
0 5 3 c Lit/unimi/dsi/fastutil/floats/FloatComparator;
1 5 4 i I
MethodParameters:
Name Flags
refArray final
heap final
size final
c final
public static int front(float[], int[], int, int[]);
descriptor: ([F[II[I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 // float[] refArray
start local 1 // int[] heap
start local 2 // int size
start local 3 // int[] a
0: .line 213
aload 0 /* refArray */
aload 1 /* heap */
iconst_0
iaload
faload
fstore 4 /* top */
start local 4 // float top
1: .line 214
iconst_0
istore 5 /* j */
start local 5 // int j
2: .line 215
iconst_0
istore 6 /* l */
start local 6 // int l
3: .line 216
iconst_1
istore 7 /* r */
start local 7 // int r
4: .line 217
iconst_0
istore 8 /* f */
start local 8 // int f
5: .line 218
iconst_0
istore 9 /* i */
start local 9 // int i
6: goto 19
7: .line 219
StackMap locals: float[] int[] int int[] float int int int int int
StackMap stack:
iload 9 /* i */
iload 8 /* f */
if_icmpne 13
8: .line 220
iload 6 /* l */
iload 7 /* r */
if_icmplt 10
9: .line 221
goto 20
10: .line 222
StackMap locals:
StackMap stack:
iload 8 /* f */
iconst_1
ishl
iconst_1
iadd
istore 8 /* f */
11: .line 223
iload 6 /* l */
istore 9 /* i */
12: .line 224
iconst_m1
istore 6 /* l */
13: .line 226
StackMap locals:
StackMap stack:
fload 4 /* top */
aload 0 /* refArray */
aload 1 /* heap */
iload 9 /* i */
iaload
faload
invokestatic java.lang.Float.compare:(FF)I
ifne 18
14: .line 227
aload 3 /* a */
iload 5 /* j */
iinc 5 /* j */ 1
aload 1 /* heap */
iload 9 /* i */
iaload
iastore
15: .line 228
iload 6 /* l */
iconst_m1
if_icmpne 17
16: .line 229
iload 9 /* i */
iconst_2
imul
iconst_1
iadd
istore 6 /* l */
17: .line 230
StackMap locals:
StackMap stack:
iload 2 /* size */
iload 9 /* i */
iconst_2
imul
iconst_3
iadd
invokestatic java.lang.Math.min:(II)I
istore 7 /* r */
18: .line 218
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 9 /* i */
iload 7 /* r */
if_icmplt 7
end local 9 // int i
20: .line 233
StackMap locals:
StackMap stack:
iload 5 /* j */
ireturn
end local 8 // int f
end local 7 // int r
end local 6 // int l
end local 5 // int j
end local 4 // float top
end local 3 // int[] a
end local 2 // int size
end local 1 // int[] heap
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 21 0 refArray [F
0 21 1 heap [I
0 21 2 size I
0 21 3 a [I
1 21 4 top F
2 21 5 j I
3 21 6 l I
4 21 7 r I
5 21 8 f I
6 20 9 i I
MethodParameters:
Name Flags
refArray final
heap final
size final
a final
public static int front(float[], int[], int, int[], it.unimi.dsi.fastutil.floats.FloatComparator);
descriptor: ([F[II[ILit/unimi/dsi/fastutil/floats/FloatComparator;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=5
start local 0 // float[] refArray
start local 1 // int[] heap
start local 2 // int size
start local 3 // int[] a
start local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
0: .line 267
aload 0 /* refArray */
aload 1 /* heap */
iconst_0
iaload
faload
fstore 5 /* top */
start local 5 // float top
1: .line 268
iconst_0
istore 6 /* j */
start local 6 // int j
2: .line 269
iconst_0
istore 7 /* l */
start local 7 // int l
3: .line 270
iconst_1
istore 8 /* r */
start local 8 // int r
4: .line 271
iconst_0
istore 9 /* f */
start local 9 // int f
5: .line 272
iconst_0
istore 10 /* i */
start local 10 // int i
6: goto 19
7: .line 273
StackMap locals: float[] int[] int int[] it.unimi.dsi.fastutil.floats.FloatComparator float int int int int int
StackMap stack:
iload 10 /* i */
iload 9 /* f */
if_icmpne 13
8: .line 274
iload 7 /* l */
iload 8 /* r */
if_icmplt 10
9: .line 275
goto 20
10: .line 276
StackMap locals:
StackMap stack:
iload 9 /* f */
iconst_1
ishl
iconst_1
iadd
istore 9 /* f */
11: .line 277
iload 7 /* l */
istore 10 /* i */
12: .line 278
iconst_m1
istore 7 /* l */
13: .line 280
StackMap locals:
StackMap stack:
aload 4 /* c */
fload 5 /* top */
aload 0 /* refArray */
aload 1 /* heap */
iload 10 /* i */
iaload
faload
invokeinterface it.unimi.dsi.fastutil.floats.FloatComparator.compare:(FF)I
ifne 18
14: .line 281
aload 3 /* a */
iload 6 /* j */
iinc 6 /* j */ 1
aload 1 /* heap */
iload 10 /* i */
iaload
iastore
15: .line 282
iload 7 /* l */
iconst_m1
if_icmpne 17
16: .line 283
iload 10 /* i */
iconst_2
imul
iconst_1
iadd
istore 7 /* l */
17: .line 284
StackMap locals:
StackMap stack:
iload 2 /* size */
iload 10 /* i */
iconst_2
imul
iconst_3
iadd
invokestatic java.lang.Math.min:(II)I
istore 8 /* r */
18: .line 272
StackMap locals:
StackMap stack:
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 10 /* i */
iload 8 /* r */
if_icmplt 7
end local 10 // int i
20: .line 287
StackMap locals:
StackMap stack:
iload 6 /* j */
ireturn
end local 9 // int f
end local 8 // int r
end local 7 // int l
end local 6 // int j
end local 5 // float top
end local 4 // it.unimi.dsi.fastutil.floats.FloatComparator c
end local 3 // int[] a
end local 2 // int size
end local 1 // int[] heap
end local 0 // float[] refArray
LocalVariableTable:
Start End Slot Name Signature
0 21 0 refArray [F
0 21 1 heap [I
0 21 2 size I
0 21 3 a [I
0 21 4 c Lit/unimi/dsi/fastutil/floats/FloatComparator;
1 21 5 top F
2 21 6 j I
3 21 7 l I
4 21 8 r I
5 21 9 f I
6 20 10 i I
MethodParameters:
Name Flags
refArray final
heap final
size final
a final
c final
}
SourceFile: "FloatSemiIndirectHeaps.java"