public final class org.eclipse.collections.impl.utility.primitive.DoubleQuickSort
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.eclipse.collections.impl.utility.primitive.DoubleQuickSort
super_class: java.lang.Object
{
private static final int SORT_SMALL_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.eclipse.collections.impl.utility.primitive.DoubleQuickSort this
0: .line 28
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 30
return
end local 0 // org.eclipse.collections.impl.utility.primitive.DoubleQuickSort this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/collections/impl/utility/primitive/DoubleQuickSort;
public static void sort(double[], int, int, org.eclipse.collections.api.block.comparator.primitive.DoubleComparator);
descriptor: ([DIILorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=18, args_size=4
start local 0 // double[] array
start local 1 // int left
start local 2 // int right
start local 3 // org.eclipse.collections.api.block.comparator.primitive.DoubleComparator comparator
0: .line 34
iload 2 /* right */
iload 1 /* left */
isub
iconst_1
iadd
istore 4 /* size */
start local 4 // int size
1: .line 36
iload 4 /* size */
bipush 9
if_icmpgt 4
2: .line 38
aload 0 /* array */
iload 1 /* left */
iload 2 /* right */
aload 3 /* comparator */
invokestatic org.eclipse.collections.impl.utility.primitive.DoubleQuickSort.insertionSort:([DIILorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;)V
3: .line 39
goto 48
4: .line 43
StackMap locals: int
StackMap stack:
iload 2 /* right */
iload 2 /* right */
iconst_2
idiv
isub
iload 1 /* left */
iconst_2
idiv
iadd
istore 5 /* mid */
start local 5 // int mid
5: .line 44
aload 0 /* array */
iload 1 /* left */
daload
dstore 6 /* leftVal */
start local 6 // double leftVal
6: .line 45
aload 0 /* array */
iload 2 /* right */
daload
dstore 8 /* rightVal */
start local 8 // double rightVal
7: .line 46
aload 0 /* array */
iload 5 /* mid */
daload
dstore 10 /* midVal */
start local 10 // double midVal
8: .line 48
iconst_m1
istore 12 /* swapIndex */
start local 12 // int swapIndex
9: .line 50
aload 3 /* comparator */
dload 6 /* leftVal */
dload 10 /* midVal */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifle 14
aload 3 /* comparator */
dload 6 /* leftVal */
dload 8 /* rightVal */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifle 14
10: .line 52
aload 3 /* comparator */
dload 10 /* midVal */
dload 8 /* rightVal */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifge 11
iload 2 /* right */
goto 12
StackMap locals: double[] int int org.eclipse.collections.api.block.comparator.primitive.DoubleComparator int int double double double int
StackMap stack:
11: iload 5 /* mid */
StackMap locals:
StackMap stack: int
12: istore 12 /* swapIndex */
13: .line 53
goto 18
14: .line 54
StackMap locals:
StackMap stack:
aload 3 /* comparator */
dload 6 /* leftVal */
dload 10 /* midVal */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifge 18
aload 3 /* comparator */
dload 6 /* leftVal */
dload 8 /* rightVal */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifge 18
15: .line 56
aload 3 /* comparator */
dload 10 /* midVal */
dload 8 /* rightVal */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifge 16
iload 5 /* mid */
goto 17
StackMap locals:
StackMap stack:
16: iload 2 /* right */
StackMap locals:
StackMap stack: int
17: istore 12 /* swapIndex */
18: .line 59
StackMap locals:
StackMap stack:
iload 12 /* swapIndex */
ifle 20
19: .line 61
aload 0 /* array */
iload 1 /* left */
iload 12 /* swapIndex */
invokestatic org.eclipse.collections.impl.utility.primitive.DoubleQuickSort.swap:([DII)V
20: .line 64
StackMap locals:
StackMap stack:
aload 0 /* array */
iload 1 /* left */
daload
dstore 13 /* pivot */
start local 13 // double pivot
21: .line 66
iload 1 /* left */
iconst_1
iadd
istore 15 /* i */
start local 15 // int i
22: .line 67
iload 2 /* right */
istore 16 /* j */
start local 16 // int j
23: .line 69
goto 33
24: .line 74
StackMap locals: double int int
StackMap stack:
iinc 15 /* i */ 1
25: .line 72
StackMap locals:
StackMap stack:
aload 3 /* comparator */
aload 0 /* array */
iload 15 /* i */
daload
dload 13 /* pivot */
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifgt 28
iload 15 /* i */
iload 16 /* j */
if_icmplt 24
26: .line 78
goto 28
27: .line 80
StackMap locals:
StackMap stack:
iinc 16 /* j */ -1
28: .line 78
StackMap locals:
StackMap stack:
aload 3 /* comparator */
dload 13 /* pivot */
aload 0 /* array */
iload 16 /* j */
daload
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifge 29
iload 16 /* j */
iload 15 /* i */
iconst_1
isub
if_icmpgt 27
29: .line 83
StackMap locals:
StackMap stack:
iload 15 /* i */
iload 16 /* j */
if_icmpge 32
30: .line 85
aload 0 /* array */
iload 15 /* i */
iload 16 /* j */
invokestatic org.eclipse.collections.impl.utility.primitive.DoubleQuickSort.swap:([DII)V
31: .line 86
goto 33
32: .line 89
StackMap locals:
StackMap stack:
aload 0 /* array */
iload 1 /* left */
iload 16 /* j */
invokestatic org.eclipse.collections.impl.utility.primitive.DoubleQuickSort.swap:([DII)V
33: .line 69
StackMap locals:
StackMap stack:
iload 15 /* i */
iload 16 /* j */
if_icmplt 25
34: .line 94
iload 2 /* right */
iload 16 /* j */
iconst_1
iadd
if_icmple 41
35: .line 96
iload 16 /* j */
iconst_1
iadd
istore 17 /* from */
start local 17 // int from
36: .line 97
goto 38
37: .line 99
StackMap locals: int
StackMap stack:
iinc 17 /* from */ 1
38: .line 97
StackMap locals:
StackMap stack:
iload 2 /* right */
iload 17 /* from */
if_icmple 39
aload 3 /* comparator */
dload 13 /* pivot */
aload 0 /* array */
iload 17 /* from */
daload
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifeq 37
39: .line 101
StackMap locals:
StackMap stack:
iload 2 /* right */
iload 17 /* from */
if_icmple 41
40: .line 103
aload 0 /* array */
iload 17 /* from */
iload 2 /* right */
aload 3 /* comparator */
invokestatic org.eclipse.collections.impl.utility.primitive.DoubleQuickSort.sort:([DIILorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;)V
end local 17 // int from
41: .line 107
StackMap locals:
StackMap stack:
iload 1 /* left */
iload 16 /* j */
iconst_1
isub
if_icmpge 48
42: .line 109
iload 16 /* j */
iconst_1
isub
istore 17 /* to */
start local 17 // int to
43: .line 110
goto 45
44: .line 112
StackMap locals: int
StackMap stack:
iinc 17 /* to */ -1
45: .line 110
StackMap locals:
StackMap stack:
iload 17 /* to */
iload 1 /* left */
if_icmple 46
aload 3 /* comparator */
dload 13 /* pivot */
aload 0 /* array */
iload 17 /* to */
daload
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifeq 44
46: .line 114
StackMap locals:
StackMap stack:
iload 1 /* left */
iload 17 /* to */
if_icmpge 48
47: .line 116
aload 0 /* array */
iload 1 /* left */
iload 17 /* to */
aload 3 /* comparator */
invokestatic org.eclipse.collections.impl.utility.primitive.DoubleQuickSort.sort:([DIILorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;)V
end local 17 // int to
end local 16 // int j
end local 15 // int i
end local 13 // double pivot
end local 12 // int swapIndex
end local 10 // double midVal
end local 8 // double rightVal
end local 6 // double leftVal
end local 5 // int mid
48: .line 120
StackMap locals: double[] int int org.eclipse.collections.api.block.comparator.primitive.DoubleComparator int
StackMap stack:
return
end local 4 // int size
end local 3 // org.eclipse.collections.api.block.comparator.primitive.DoubleComparator comparator
end local 2 // int right
end local 1 // int left
end local 0 // double[] array
LocalVariableTable:
Start End Slot Name Signature
0 49 0 array [D
0 49 1 left I
0 49 2 right I
0 49 3 comparator Lorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;
1 49 4 size I
5 48 5 mid I
6 48 6 leftVal D
7 48 8 rightVal D
8 48 10 midVal D
9 48 12 swapIndex I
21 48 13 pivot D
22 48 15 i I
23 48 16 j I
36 41 17 from I
43 48 17 to I
MethodParameters:
Name Flags
array
left
right
comparator
private static void insertionSort(double[], int, int, org.eclipse.collections.api.block.comparator.primitive.DoubleComparator);
descriptor: ([DIILorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 // double[] array
start local 1 // int left
start local 2 // int right
start local 3 // org.eclipse.collections.api.block.comparator.primitive.DoubleComparator comparator
0: .line 124
iload 1 /* left */
iconst_1
iadd
istore 4 /* j */
start local 4 // int j
1: goto 11
2: .line 126
StackMap locals: int
StackMap stack:
aload 3 /* comparator */
aload 0 /* array */
iload 4 /* j */
iconst_1
isub
daload
aload 0 /* array */
iload 4 /* j */
daload
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
ifle 10
3: .line 128
aload 0 /* array */
iload 4 /* j */
daload
dstore 5 /* key */
start local 5 // double key
4: .line 129
iload 4 /* j */
iconst_1
isub
istore 7 /* i */
start local 7 // int i
5: .line 133
StackMap locals: double int
StackMap stack:
aload 0 /* array */
iload 7 /* i */
iconst_1
iadd
aload 0 /* array */
iload 7 /* i */
daload
dastore
6: .line 134
iinc 7 /* i */ -1
7: .line 136
iload 7 /* i */
iconst_m1
if_icmple 9
aload 3 /* comparator */
dload 5 /* key */
aload 0 /* array */
iload 7 /* i */
daload
invokeinterface org.eclipse.collections.api.block.comparator.primitive.DoubleComparator.compare:(DD)I
8: .line 131
iflt 5
9: .line 138
StackMap locals:
StackMap stack:
aload 0 /* array */
iload 7 /* i */
iconst_1
iadd
dload 5 /* key */
dastore
end local 7 // int i
end local 5 // double key
10: .line 124
StackMap locals:
StackMap stack:
iinc 4 /* j */ 1
StackMap locals:
StackMap stack:
11: iload 4 /* j */
iload 2 /* right */
if_icmple 2
end local 4 // int j
12: .line 141
return
end local 3 // org.eclipse.collections.api.block.comparator.primitive.DoubleComparator comparator
end local 2 // int right
end local 1 // int left
end local 0 // double[] array
LocalVariableTable:
Start End Slot Name Signature
0 13 0 array [D
0 13 1 left I
0 13 2 right I
0 13 3 comparator Lorg/eclipse/collections/api/block/comparator/primitive/DoubleComparator;
1 12 4 j I
4 10 5 key D
5 10 7 i I
MethodParameters:
Name Flags
array
left
right
comparator
private static void swap(double[], int, int);
descriptor: ([DII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 // double[] array
start local 1 // int i1
start local 2 // int i2
0: .line 145
aload 0 /* array */
iload 1 /* i1 */
daload
dstore 3 /* value */
start local 3 // double value
1: .line 146
aload 0 /* array */
iload 1 /* i1 */
aload 0 /* array */
iload 2 /* i2 */
daload
dastore
2: .line 147
aload 0 /* array */
iload 2 /* i2 */
dload 3 /* value */
dastore
3: .line 148
return
end local 3 // double value
end local 2 // int i2
end local 1 // int i1
end local 0 // double[] array
LocalVariableTable:
Start End Slot Name Signature
0 4 0 array [D
0 4 1 i1 I
0 4 2 i2 I
1 4 3 value D
MethodParameters:
Name Flags
array
i1
i2
}
SourceFile: "DoubleQuickSort.java"