mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 23:29:58 -07:00
23 lines
508 B
TypeScript
23 lines
508 B
TypeScript
import { computeSum } from "./sum";
|
|
|
|
export const computeAverage = (values: number[]) =>
|
|
computeSum(values) / values.length;
|
|
|
|
export const computeMovingAverage = <
|
|
T extends SingleValueData = SingleValueData,
|
|
>(
|
|
dataset: T[],
|
|
interval: number,
|
|
) => {
|
|
if (!dataset.length) return [];
|
|
|
|
return dataset.map((data, index) => ({
|
|
...data,
|
|
value: computeAverage(
|
|
dataset
|
|
.slice(Math.max(index - interval + 1, 0), index + 1)
|
|
.map((data) => data.value || 1),
|
|
),
|
|
}));
|
|
};
|