@Override public void seal() { sealed = true; sortedDoubleList = new double[rawDoubleSet.size()]; rawDoubleSet.toArray(sortedDoubleList); Arrays.sort(sortedDoubleList); if (sortedDoubleList.length == 0) { min = null; max = null; return; } // Update the min-max values based on raw docs. min = sortedDoubleList[0]; max = sortedDoubleList[sortedDoubleList.length - 1]; // Merge the raw and aggregated docs, so stats for dictionary creation are collected correctly. int numAggregated = aggregatedDoubleSet.size(); if (numAggregated > 0) { rawDoubleSet.addAll(aggregatedDoubleSet); sortedDoubleList = new double[rawDoubleSet.size()]; rawDoubleSet.toArray(sortedDoubleList); Arrays.sort(sortedDoubleList); } } }
@Override public int countUnique() { DoubleSet uniqueElements = new DoubleOpenHashSet(); for (int i = 0; i < size(); i++) { if (!isMissing(i)) { uniqueElements.add(getDouble(i)); } } return uniqueElements.size(); }
@Override public int countUnique() { DoubleSet floats = new DoubleOpenHashSet(); for (int i = 0; i < size(); i++) { floats.add(data.getDouble(i)); } return floats.size(); }
@Override public int countUnique() { DoubleSet uniqueElements = new DoubleOpenHashSet(); for (int i = 0; i < size(); i++) { if (!isMissing(i)) { uniqueElements.add(getDouble(i)); } } return uniqueElements.size(); }
@Override public DoubleColumn unique() { DoubleSet floats = new DoubleOpenHashSet(); for (int i = 0; i < size(); i++) { floats.add(data.getDouble(i)); } DoubleColumn column = new DoubleColumn(name() + " Unique values", floats.size()); floats.forEach(column::add); return column; }