pub fn median(vals: &mut [f32]) -> f32Expand description
Computes the median of a set of values.
The median is the middle value when the data is sorted. For an even number of values, it returns the average of the two middle values. This function modifies the input slice by sorting it in-place.
§Arguments
vals- A mutable slice of values. Must contain at least one value. The slice will be sorted in-place as a side effect.
§Returns
The median value as a Real.
§Panics
Panics if the input slice is empty.
§Examples
§Odd Number of Values
use parry2d::math::Real;
use parry2d::utils::median;
let mut values = vec![5.0, 1.0, 3.0, 9.0, 2.0];
let med = median(&mut values);
// With 5 values, the median is the 3rd value when sorted: [1, 2, 3, 5, 9]
assert_eq!(med, 3.0);§Even Number of Values
use parry2d::math::Real;
use parry2d::utils::median;
let mut values = vec![1.0, 2.0, 3.0, 4.0];
let med = median(&mut values);
// With 4 values, median is average of middle two: (2 + 3) / 2 = 2.5
assert_eq!(med, 2.5);§Single Value
use parry2d::math::Real;
use parry2d::utils::median;
let mut values = vec![42.0];
let med = median(&mut values);
// The median of a single value is the value itself
assert_eq!(med, 42.0);§Values Are Sorted In-Place
use parry2d::utils::median;
let mut values = vec![5.0, 1.0, 3.0];
let med = median(&mut values);
// After calling median, the values are sorted
assert_eq!(values, vec![1.0, 3.0, 5.0]);
assert_eq!(med, 3.0);