diff --git a/src/interpolation/interpolationPivots.js b/src/interpolation/interpolationPivots.js index 3f3a059..c7ec82f 100644 --- a/src/interpolation/interpolationPivots.js +++ b/src/interpolation/interpolationPivots.js @@ -80,7 +80,8 @@ export default function(sampleSet, remainderSet, numPivots, distanceFn, endingIt let sampleSubset = takeSampleFrom(sampleSet, Math.sqrt(sampleSet.length)).sample; //Plot each of the remainder nodes - for (let node of remainderSet) { + for (let i = remainderSet.length-1; i>=0; i--) { + let node = remainderSet[i]; let sampleSubsetDistanceCache = [], minDist, nearSample; @@ -106,7 +107,8 @@ export default function(sampleSet, remainderSet, numPivots, distanceFn, endingIt bucketNumber = 0; } - for (let candidateNode of pivotsBuckets[p][bucketNumber]) { + for (let j = pivotsBuckets[p][bucketNumber].length-1; j>=0; j--) { + let candidateNode = pivotsBuckets[p][bucketNumber][j]; let index = sampleSubset.indexOf(candidateNode); if (index !== -1 && sampleSubsetDistanceCache[index] !== undefined) dist = sampleSubsetDistanceCache[index]