median function
Returns the median of a non-empty list.
Implementation
double median(List<double> a) {
if (a.isEmpty) return double.nan;
final List<double> b = List<double>.from(a)..sort();
final int n = b.length;
if (n.isOdd) return b[n ~/ 2];
return 0.5 * (b[n ~/ 2 - 1] + b[n ~/ 2]);
}