Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions src/sampler.luau
Original file line number Diff line number Diff line change
Expand Up @@ -380,11 +380,19 @@ local function ANALYZE(sample: Sample, options: AnalyzeOptions?): SampleStats
-- Calculate MAD (median absolute deviation)
local mad = calculate_mad(sample, median)

-- Calculate mean (Neumaier summation)
local sum = 0
local correction = 0
for _, value in sample do
sum += value
local target = sum + value

if math.abs(sum) >= math.abs(value) then
correction += (sum - target) + value
else
correction += (value - target) + sum
end
end
local mean = sum / n
local mean = (sum + correction) / n

-- Calculate variance and standard deviation
local variance_sum = 0
Expand Down