Function median3_rec

pub(in ::slice::sort::shared::pivot) unsafe fn median3_rec<T, F: FnMut(&T, &T) -> bool>(a: *const T, b: *const T, c: *const T, n: usize, is_less: &mut F) -> *const T

Calculates an approximate median of 3 elements from sections a, b, c, or recursively from an approximation of each, if they're large enough. By dividing the size of each section by 8 when recursing we have logarithmic recursion depth and overall sample from f(n) = 3*f(n/8) -> f(n) = O(n^(log(3)/log(8))) ~= O(n^0.528) elements.

SAFETY: a, b, c must point to the start of initialized regions of memory of at least n elements.