venny
Version:
Declarative Venn diagrams
34 lines (33 loc) • 836 B
JavaScript
// Code adapted from https://github.com/benfred/fmin
// need some basic operations on vectors, rather than adding a dependency,
// just define here
export function zeros(x) {
const r = new Array(x);
for (let i = 0; i < x; ++i) {
r[i] = 0;
}
return r;
}
export function zerosM(x, y) {
return zeros(x).map(function () { return zeros(y); });
}
export function dot(a, b) {
let ret = 0;
for (let i = 0; i < a.length; ++i) {
ret += a[i] * b[i];
}
return ret;
}
export function norm2(a) {
return Math.sqrt(dot(a, a));
}
export function scale(ret, value, c) {
for (let i = 0; i < value.length; ++i) {
ret[i] = value[i] * c;
}
}
export function weightedSum(ret, w1, v1, w2, v2) {
for (let j = 0; j < ret.length; ++j) {
ret[j] = w1 * v1[j] + w2 * v2[j];
}
}