Quantile implements DoubleConsumer { static Quantile median() { return new Quantile(0.5); } Quantile(final double quantile); void reset(); double quantile(); double value(); long count(); @Override void accept(final double value); Quantile combine(final Quantile other); boolean sameState(final Quantile other); @Override String toString(); static Collector<T, ?, Quantile> toQuantile(
		final double quantile,
		final ToDoubleFunction<? super T> mapper
	); static Collector<T, ?, Quantile> toMedian(
		final ToDoubleFunction<? super T> mapper
	);  }
@Test public void median() { final Quantile quantile = Quantile.median(); for (int i = 0; i < 1000; ++i) { quantile.accept(i); Assert.assertEquals(quantile.value(), floor(i/2.0), 1.0); } }