in datafu-pig/src/main/java/datafu/pig/stats/StreamingQuantile.java [344:364]
public void add(double elem)
{
if (totalElements == 0 || elem < min) {
min = elem;
}
if (totalElements == 0 || max < elem) {
max = elem;
}
if (totalElements > 0 && totalElements % (2 * maxElementsPerBuffer) == 0) {
Collections.sort(buffer.get(0));
Collections.sort(buffer.get(1));
recursiveCollapse(buffer.get(0), 1);
}
ensureBuffer(0);
ensureBuffer(1);
int index = buffer.get(0).size() < maxElementsPerBuffer ? 0 : 1;
buffer.get(index).add(elem);
totalElements++;
}