@Override public boolean isSmallerThan(long size) { return !hasNonNullValue() || (16 < size); }
@Override public boolean isSmallerThan(long size) { return !hasNonNullValue() || (16 < size); }
@Override public void updateStats(double value) { if (!this.hasNonNullValue()) { initializeStats(value, value); } else { updateStats(value, value); } }
@Override public void updateStats(double value) { if (!this.hasNonNullValue()) { initializeStats(value, value); } else { updateStats(value, value); } }
private DoubleStatistics(DoubleStatistics other) { super(other.type()); if (other.hasNonNullValue()) { initializeStats(other.min, other.max); } setNumNulls(other.getNumNulls()); }
private DoubleStatistics(DoubleStatistics other) { super(other.type()); if (other.hasNonNullValue()) { initializeStats(other.min, other.max); } setNumNulls(other.getNumNulls()); }
@Override public Statistics<?> build() { DoubleStatistics stats = (DoubleStatistics) super.build(); if (stats.hasNonNullValue()) { Double min = stats.genericGetMin(); Double max = stats.genericGetMax(); // Drop min/max values in case of NaN as the sorting order of values is undefined for this case if (min.isNaN() || max.isNaN()) { stats.setMinMax(0.0, 0.0); ((Statistics<?>) stats).hasNonNullValue = false; } else { // Updating min to -0.0 and max to +0.0 to ensure that no 0.0 values would be skipped if (Double.compare(min, 0.0) == 0) { min = -0.0; stats.setMinMax(min, max); } if (Double.compare(max, -0.0) == 0) { max = 0.0; stats.setMinMax(min, max); } } } return stats; } }
@Override public Statistics<?> build() { DoubleStatistics stats = (DoubleStatistics) super.build(); if (stats.hasNonNullValue()) { Double min = stats.genericGetMin(); Double max = stats.genericGetMax(); // Drop min/max values in case of NaN as the sorting order of values is undefined for this case if (min.isNaN() || max.isNaN()) { stats.setMinMax(0.0, 0.0); ((Statistics<?>) stats).hasNonNullValue = false; } else { // Updating min to -0.0 and max to +0.0 to ensure that no 0.0 values would be skipped if (Double.compare(min, 0.0) == 0) { min = -0.0; stats.setMinMax(min, max); } if (Double.compare(max, -0.0) == 0) { max = 0.0; stats.setMinMax(min, max); } } } return stats; } }
@Override public void mergeStatisticsMinMax(Statistics stats) { DoubleStatistics doubleStats = (DoubleStatistics)stats; if (!this.hasNonNullValue()) { initializeStats(doubleStats.getMin(), doubleStats.getMax()); } else { updateStats(doubleStats.getMin(), doubleStats.getMax()); } }
@Override public void mergeStatisticsMinMax(Statistics stats) { DoubleStatistics doubleStats = (DoubleStatistics)stats; if (!this.hasNonNullValue()) { initializeStats(doubleStats.getMin(), doubleStats.getMax()); } else { updateStats(doubleStats.getMin(), doubleStats.getMax()); } }