@Override public int getMemBytesEstimate() { return guessDoubleMemBytes(); }
private List<? extends MeasureAggregator> basicAggregators() { Long longVal = new Long(1000); LongMinAggregator longMin = new LongMinAggregator(); LongMaxAggregator longMax = new LongMaxAggregator(); LongSumAggregator longSum = new LongSumAggregator(); longMin.aggregate(longVal); longMax.aggregate(longVal); longSum.aggregate(longVal); Double doubleVal = new Double(1.0); DoubleMinAggregator doubleMin = new DoubleMinAggregator(); DoubleMaxAggregator doubleMax = new DoubleMaxAggregator(); DoubleSumAggregator doubleSum = new DoubleSumAggregator(); doubleMin.aggregate(doubleVal); doubleMax.aggregate(doubleVal); doubleSum.aggregate(doubleVal); BigDecimalMinAggregator decimalMin = new BigDecimalMinAggregator(); BigDecimalMaxAggregator decimalMax = new BigDecimalMaxAggregator(); BigDecimalSumAggregator decimalSum = new BigDecimalSumAggregator(); BigDecimal decimal = new BigDecimal("12345678901234567890.123456789"); decimalMin.aggregate(decimal); decimalMax.aggregate(decimal); decimalSum.aggregate(decimal); return Lists.newArrayList(longMin, longMax, longSum, doubleMin, doubleMax, doubleSum, decimalMin, decimalMax, decimalSum); }
@Override public MeasureAggregator<?> newAggregator() { if (isSum() || isCount()) { if (dataType.isDecimal()) return new BigDecimalSumAggregator(); else if (dataType.isIntegerFamily()) return new LongSumAggregator(); else if (dataType.isNumberFamily()) return new DoubleSumAggregator(); } else if (isMax()) { if (dataType.isDecimal()) return new BigDecimalMaxAggregator(); else if (dataType.isIntegerFamily()) return new LongMaxAggregator(); else if (dataType.isNumberFamily()) return new DoubleMaxAggregator(); } else if (isMin()) { if (dataType.isDecimal()) return new BigDecimalMinAggregator(); else if (dataType.isIntegerFamily()) return new LongMinAggregator(); else if (dataType.isNumberFamily()) return new DoubleMinAggregator(); } throw new IllegalArgumentException("No aggregator for func '" + funcName + "' and return type '" + dataType + "'"); }
@Override public MeasureAggregator<?> newAggregator() { if (isSum() || isCount()) { if (dataType.isDecimal()) return new BigDecimalSumAggregator(); else if (dataType.isIntegerFamily()) return new LongSumAggregator(); else if (dataType.isNumberFamily()) return new DoubleSumAggregator(); } else if (isMax()) { if (dataType.isDecimal()) return new BigDecimalMaxAggregator(); else if (dataType.isIntegerFamily()) return new LongMaxAggregator(); else if (dataType.isNumberFamily()) return new DoubleMaxAggregator(); } else if (isMin()) { if (dataType.isDecimal()) return new BigDecimalMinAggregator(); else if (dataType.isIntegerFamily()) return new LongMinAggregator(); else if (dataType.isNumberFamily()) return new DoubleMinAggregator(); } throw new IllegalArgumentException("No aggregator for func '" + funcName + "' and return type '" + dataType + "'"); }
@Override public MeasureAggregator<?> newAggregator() { if (isSum() || isCount()) { if (dataType.isDecimal()) return new BigDecimalSumAggregator(); else if (dataType.isIntegerFamily()) return new LongSumAggregator(); else if (dataType.isNumberFamily()) return new DoubleSumAggregator(); } else if (isMax()) { if (dataType.isDecimal()) return new BigDecimalMaxAggregator(); else if (dataType.isIntegerFamily()) return new LongMaxAggregator(); else if (dataType.isNumberFamily()) return new DoubleMaxAggregator(); } else if (isMin()) { if (dataType.isDecimal()) return new BigDecimalMinAggregator(); else if (dataType.isIntegerFamily()) return new LongMinAggregator(); else if (dataType.isNumberFamily()) return new DoubleMinAggregator(); } throw new IllegalArgumentException("No aggregator for func '" + funcName + "' and return type '" + dataType + "'"); }
@Override public int getMemBytesEstimate() { return guessDoubleMemBytes(); }
@Override public int getMemBytesEstimate() { return guessDoubleMemBytes(); }