JSFiddle - React, Tailwind, and code Playground
by evgkch
JavaScript
function test(length, fn){
const points = Array.from({ length }, (v, k) => random());
const weights = Array.from({ length }, (v, k) => random());
const center1 = fn(scalar(points, weights) / weights.reduce((a, b) => a + b));
const center2 = scalar(points.map(fn), weights) / weights.reduce((a, b) => a + b);
console.log(center1, center2);
}
function random(){
return Math.random();
}
function scalar(v1, v2){
let sum = 0;
for (let i = 0; i < v1.length; i++)
{
sum += v1[i] * v2[i];
}
return sum;
}
test(10000, (x) => ((x - 0.5) ** 4));