diagonals working except for start/end times

This commit is contained in:
Tim
2024-05-07 15:02:54 -04:00
parent c3c5db9c23
commit a68c4a4b05
5 changed files with 42 additions and 44 deletions

View File

@@ -208,24 +208,24 @@ export function builderDefaults(builder, defaults) {
builder[k] = defaults[k] instanceof Function ? defaults[k]() : defaults[k]
}
export function linearWeights(n, s) {
if (n === 1) return [1]
export function linearWeights(num, skew) {
if (num === 1) return [1]
const result = []
if (s === 0) {
if (skew === 0) {
// equal weighted
for (let i = 0; i < n; i++)
result.push(1 / n)
} else if (s === 1) {
for (let i = 0; i < num; i++)
result.push(1 / num)
} else if (skew === 1) {
result.push(1)
for (let i = 1; i < n; i++)
for (let i = 1; i < num; i++)
result.push(0)
} else if (s === -1) {
for (let i = 1; i < n; i++)
} else if (skew === -1) {
for (let i = 1; i < num; i++)
result.push(0)
result.push(1)
} else {
for (let i = 0; i < n; i++)
result.push((1 - s * (2 * i / (n - 1) - 1)) / n)
for (let i = 0; i < num; i++)
result.push((1 - skew * (2 * i / (num - 1) - 1)) / num)
}
// console.log('weights', result)
return result