@@ -212,8 +212,7 @@ boolean score(KdNode kdNodeQ, KdNode kdNodeR) {
212212
213213 }
214214
215- private boolean filterNodesOnCoreValue (long node ) {
216- var component = unionFind .setIdOf (node );
215+ private boolean filterNodesOnCoreValue (long node , long component ) {
217216 return coreValues .get (node ) < closestDistanceTracker .componentClosestDistance (component );
218217 }
219218
@@ -223,17 +222,18 @@ void traversalLeafLeafStep(KdNode kdNodeQ, KdNode kdNodeR) {
223222 var qEnd = kdNodeQ .end ();
224223 for (long qIndex = qStart ; qIndex < qEnd ; ++qIndex ) {
225224 var qPoint = kdTree .nodeAt (qIndex );
226- if (!filterNodesOnCoreValue (qPoint )) {
225+ var qComp = unionFind .setIdOf (qPoint );
226+
227+ if (!filterNodesOnCoreValue (qPoint , qComp )) {
227228 continue ;
228229 }
229230
230231 var rStart = kdNodeR .start ();
231232 var rEnd = kdNodeR .end ();
232- var qComp = unionFind .setIdOf (qPoint );
233233 var qArr = nodePropertyValues .doubleArrayValue (qPoint );
234234 for (long rIndex = rStart ; rIndex < rEnd ; ++rIndex ) {
235235 var rPoint = kdTree .nodeAt (rIndex );
236- if (filterNodesOnCoreValue (rPoint )) {
236+ if (filterNodesOnCoreValue (rPoint , qComp )) {
237237 baseCase (qPoint , rPoint , qComp , qArr );
238238 }
239239 }
0 commit comments