summaryrefslogtreecommitdiff
path: root/benchmark/bench/_util.js
blob: c9108695cf98f88a9898c257ea21d4c6078635eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { createRequire } from 'module';

export const astroBin = createRequire(import.meta.url).resolve('astro');

/** @typedef {{ avg: number, stdev: number, max: number }} Stat */

/**
 * @param {number[]} numbers
 * @returns {Stat}
 */
export function calculateStat(numbers) {
	const avg = numbers.reduce((a, b) => a + b, 0) / numbers.length;
	const stdev = Math.sqrt(
		numbers.map((x) => Math.pow(x - avg, 2)).reduce((a, b) => a + b, 0) / numbers.length
	);
	const max = Math.max(...numbers);
	return { avg, stdev, max };
}