dsp-collection
Version:
A collection of JavaScript modules for digital signal processing (written in TypeScript)
69 lines • 1.44 kB
JavaScript
export function max(a) {
if (a.length == 0) {
return NaN;
}
let maxVal = a[0];
for (let p = 1; p < a.length; p++) {
if (a[p] > maxVal) {
maxVal = a[p];
}
}
return maxVal;
}
export function argMax(a) {
if (a.length == 0) {
return NaN;
}
let maxPos = 0;
let maxVal = a[0];
for (let p = 1; p < a.length; p++) {
if (a[p] > maxVal) {
maxPos = p;
maxVal = a[p];
}
}
return maxPos;
}
export function argGte(a, v) {
for (let p = 0; p < a.length; p++) {
if (a[p] >= v) {
return p;
}
}
return NaN;
}
export function multiply(a1, a2) {
const n = a1.length;
const a = new a1.constructor(n);
for (let i = 0; i < n; i++) {
a[i] = a1[i] * a2[i];
}
return a;
}
export function divide(a1, a2) {
const n = a1.length;
const a = new a1.constructor(n);
for (let i = 0; i < n; i++) {
a[i] = a1[i] / a2[i];
}
return a;
}
export function copy(a1, a2) {
const n = Math.min(a1.length, a2.length);
for (let i = 0; i < n; i++) {
a2[i] = a1[i];
}
}
export function fill(a, value) {
for (let i = 0; i < a.length; i++) {
a[i] = value;
}
}
export function sum(a) {
let acc = 0;
for (let i = 0; i < a.length; i++) {
acc += a[i];
}
return acc;
}
//# sourceMappingURL=ArrayUtils.js.map