From 6b12ec11140c156a38d4ddfb6707cb23656e7ae0 Mon Sep 17 00:00:00 2001 From: Dereck Mezquita Date: Fri, 6 Sep 2024 13:04:12 -0500 Subject: [PATCH] STAT-11: Manual testing mode code. --- dev/mode.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 dev/mode.ts diff --git a/dev/mode.ts b/dev/mode.ts new file mode 100644 index 0000000..2d0fa1d --- /dev/null +++ b/dev/mode.ts @@ -0,0 +1,29 @@ +import { mode } from '../src'; +import { generateRandomNums } from '../benchmarks/utils'; + +const n: number = 100_000; +const random_nums: number[] = generateRandomNums(n); + +function mode_simple(x: number[]): number { + const counts = new Map(); + for (const xi of x) { + counts.set(xi, (counts.get(xi) || 0) + 1); + } + + let mode = NaN; + let maxCount = 0; + for (const [xi, count] of counts.entries()) { + if (count > maxCount) { + mode = xi; + maxCount = count; + } + } + + return mode; +} + +const mode_res1 = mode(random_nums); +const mode_res3 = mode_simple(random_nums); + +console.log('mode_res1:', mode_res1); +console.log('mode_res3:', mode_res3);