median function

double median(
  1. List<double> a
)

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]);
}