From d68fdea59aaf05877438bfba669c96d716523765 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Wed, 2 Sep 2026 22:27:04 +0200 Subject: Refactor generators to use a factory for passing bytes --- pbt/ts/src/stats.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'pbt/ts/src/stats.ts') diff --git a/pbt/ts/src/stats.ts b/pbt/ts/src/stats.ts index 8c50856..8f9832c 100644 --- a/pbt/ts/src/stats.ts +++ b/pbt/ts/src/stats.ts @@ -86,15 +86,11 @@ export function chiSquare (samples : number [], expected : number []) : number { throw new Error("Samples and expected arrays must have the same length."); } - let chiSquareValue = 0; - for (let i = 0; i < samples.length; i++) { - const observed = samples[i]; + return samples.reduce((acc, observed, i) => { const exp = expected[i]; if (exp === 0) { throw new Error("Expected frequency cannot be zero."); } - chiSquareValue += Math.pow(observed - exp, 2) / exp; - } - - return chiSquareValue; + return acc + Math.pow(observed - exp, 2) / exp; + }, 0); } -- cgit v1.3.1