@@ -212,8 +212,7 @@ boolean score(KdNode kdNodeQ, KdNode kdNodeR) {
212
212
213
213
}
214
214
215
- private boolean filterNodesOnCoreValue (long node ) {
216
- var component = unionFind .setIdOf (node );
215
+ private boolean filterNodesOnCoreValue (long node , long component ) {
217
216
return coreValues .get (node ) < closestDistanceTracker .componentClosestDistance (component );
218
217
}
219
218
@@ -223,17 +222,18 @@ void traversalLeafLeafStep(KdNode kdNodeQ, KdNode kdNodeR) {
223
222
var qEnd = kdNodeQ .end ();
224
223
for (long qIndex = qStart ; qIndex < qEnd ; ++qIndex ) {
225
224
var qPoint = kdTree .nodeAt (qIndex );
226
- if (!filterNodesOnCoreValue (qPoint )) {
225
+ var qComp = unionFind .setIdOf (qPoint );
226
+
227
+ if (!filterNodesOnCoreValue (qPoint , qComp )) {
227
228
continue ;
228
229
}
229
230
230
231
var rStart = kdNodeR .start ();
231
232
var rEnd = kdNodeR .end ();
232
- var qComp = unionFind .setIdOf (qPoint );
233
233
var qArr = nodePropertyValues .doubleArrayValue (qPoint );
234
234
for (long rIndex = rStart ; rIndex < rEnd ; ++rIndex ) {
235
235
var rPoint = kdTree .nodeAt (rIndex );
236
- if (filterNodesOnCoreValue (rPoint )) {
236
+ if (filterNodesOnCoreValue (rPoint , qComp )) {
237
237
baseCase (qPoint , rPoint , qComp , qArr );
238
238
}
239
239
}
0 commit comments