diff --git a/src/calculator.py b/src/calculator.py index e4e6afd..38e9d27 100644 --- a/src/calculator.py +++ b/src/calculator.py @@ -20,3 +20,14 @@ def clamp(value: int, low: int, high: int) -> int: def clamp_to_byte(value: int) -> int: return max(0, min(255, value)) + + +def median(values: list[float]) -> float: + if not values: + raise ValueError + sorted_values = sorted(values) + n = len(sorted_values) + mid = n // 2 + if n % 2 == 1: + return sorted_values[mid] + return (sorted_values[mid - 1] + sorted_values[mid]) / 2.0