Extract average()

This commit is contained in:
Rene Saarsoo 2020-09-20 15:25:28 +03:00
parent 5735f07a25
commit 97d17b326c
3 changed files with 6 additions and 5 deletions

View File

@ -1,9 +1,8 @@
import { pipe, sum } from "ramda"; import { pipe } from "ramda";
import { Interval } from "./ast"; import { Interval } from "./ast";
import { average } from "./average";
import { intervalsToIntensities } from "./intervalsToIntensities"; import { intervalsToIntensities } from "./intervalsToIntensities";
const average = (arr: number[]) => sum(arr) / arr.length;
export const averageIntensity = (intervals: Interval[]): number => { export const averageIntensity = (intervals: Interval[]): number => {
return pipe(intervalsToIntensities, average)(intervals); return pipe(intervalsToIntensities, average)(intervals);
}; };

3
src/average.ts Normal file
View File

@ -0,0 +1,3 @@
import { sum } from "ramda";
export const average = (arr: number[]) => sum(arr) / arr.length;

View File

@ -1,5 +1,6 @@
import { pipe, sum } from "ramda"; import { pipe, sum } from "ramda";
import { Interval } from "./ast"; import { Interval } from "./ast";
import { average } from "./average";
import { intervalsToIntensities } from "./intervalsToIntensities"; import { intervalsToIntensities } from "./intervalsToIntensities";
// Starting at the beginning of the data, calculate 30-second rolling average // Starting at the beginning of the data, calculate 30-second rolling average
@ -23,8 +24,6 @@ const fourthPower = (x: number) => Math.pow(x, 4);
const fourthRoot = (x: number) => Math.pow(x, 1 / 4); const fourthRoot = (x: number) => Math.pow(x, 1 / 4);
const average = (arr: number[]) => sum(arr) / arr.length;
export const normalizedIntensity = (intervals: Interval[]): number => { export const normalizedIntensity = (intervals: Interval[]): number => {
return pipe( return pipe(
intervalsToIntensities, intervalsToIntensities,