Refactor: Extract functions
This commit is contained in:
27
src/interpolation/interpBruteForce.js
Normal file
27
src/interpolation/interpBruteForce.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import { pointOnCircle, takeSampleFrom } from "./helpers";
|
||||
import { placeNearToNearestNeighbour } from "./interpCommon";
|
||||
|
||||
export default function(sampleSet, remainderSet, distanceFn) {
|
||||
// var distance = calculateEuclideanDistance;
|
||||
// console.log("Brute-force");
|
||||
let sampleSubset = takeSampleFrom(sampleSet, Math.sqrt(sampleSet.length)).sample;
|
||||
|
||||
for (let node of remainderSet) {
|
||||
let nearestSample = undefined,
|
||||
minDist = undefined,
|
||||
sampleSubsetDistanceCache = [];
|
||||
|
||||
for (let sample of sampleSet) {
|
||||
let dist = distanceFn(node, sample);
|
||||
if (nearestSample === undefined || dist < minDist) {
|
||||
minDist = dist;
|
||||
nearestSample = sample;
|
||||
}
|
||||
|
||||
let index = sampleSubset.indexOf(sample);
|
||||
if (index !== -1)
|
||||
sampleSubsetDistanceCache[index] = dist;
|
||||
}
|
||||
placeNearToNearestNeighbour(node, nearestSample, minDist, sampleSubset, sampleSubsetDistanceCache);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user