@@ -27,24 +27,21 @@ class EdgeEventsQueue {
2727
2828 private final HugeObjectArray <PairingHeap > pairingHeaps ;
2929 private final HugeLongPriorityQueue edgeEventsPriorityQueue ;
30- private final ObjectArrayList <PairingHeapElement > helpingArray ;
31- private long currentlyActive ;
3230
3331 EdgeEventsQueue (long nodeCount ){
3432
3533 this .pairingHeaps = HugeObjectArray .newArray (PairingHeap .class , 2 *nodeCount );
3634 this .edgeEventsPriorityQueue = HugeLongPriorityQueue .min (2 *nodeCount );
37- this .helpingArray = new ObjectArrayList <>(4096 );
35+ ObjectArrayList <PairingHeapElement > helpingArray = new ObjectArrayList <>(4096 );
36+
3837 for (int i =0 ;i <nodeCount ;i ++){
3938 pairingHeaps .set (i , new PairingHeap (helpingArray ));
4039 }
41- currentlyActive = nodeCount ;
42- }
43- long currentlyActive (){
44- return currentlyActive ;
40+
4541 }
42+
4643 double nextEventTime (){
47- return edgeEventsPriorityQueue .cost (edgeEventsPriorityQueue .top ());
44+ return edgeEventsPriorityQueue .cost (edgeEventsPriorityQueue .top ());
4845 }
4946
5047 long top (){
@@ -80,6 +77,7 @@ void addWithCheck(long s, long edgePart, double w){
8077 edgeEventsPriorityQueue .set (s , w );
8178 }
8279 }
80+
8381 void addWithoutCheck (long s , long edgePart , double w ){
8482 var pairingHeapOfs = pairingHeaps .get (s );
8583 pairingHeapOfs .add (edgePart ,w );
@@ -97,13 +95,11 @@ void mergeAndUpdate(long newCluster, long cluster1,long cluster2){
9795 deactivateCluster (cluster2 );
9896
9997 edgeEventsPriorityQueue .add (newCluster , pairingHeaps .get (newCluster ).minValue ());
100- currentlyActive --;
10198 }
10299
103100 void deactivateCluster (long clusterId ){
104101 // very-very bad way of removing from common heap-of-heaps
105102 edgeEventsPriorityQueue .set (clusterId ,Double .MAX_VALUE ); //ditto
106-
107103 }
108104
109105 void performInitialAssignment (long nodeCount ){
0 commit comments