@Override public void aggregate() { sum += selector.getFloat(); }
@Override public void aggregate() { max = Math.max(max, selector.getFloat()); }
@Override public void aggregate() { min = Math.min(min, selector.getFloat()); }
@Override public boolean matches() { if (selector.isNull()) { return false; } return Float.floatToIntBits(selector.getFloat()) == matchValIntBits; }
@Override public ValueGetter makeValueGetter(final BaseFloatColumnValueSelector selector) { return () -> { if (selector.isNull()) { return null; } return new String[]{Float.toString(selector.getFloat())}; }; } }
@Override public void aggregate() { long time = timeSelector.getLong(); if (time < firstTime) { firstTime = time; firstValue = valueSelector.getFloat(); } }
@Override public void aggregate() { long time = timeSelector.getLong(); if (time >= lastTime) { lastTime = time; lastValue = valueSelector.getFloat(); } }
@Override public void aggregate() { histogram.offer(selector.getFloat()); }
@Override public void aggregate() { holder.add(selector.getFloat()); } }
@Override public void aggregate(ByteBuffer buf, int position) { long time = timeSelector.getLong(); long lastTime = buf.getLong(position); if (time >= lastTime) { buf.putLong(position, time); buf.putFloat(position + Long.BYTES, valueSelector.getFloat()); } }
@Override public void aggregate(ByteBuffer buf, int position) { long time = timeSelector.getLong(); long firstTime = buf.getLong(position); if (time < firstTime) { buf.putLong(position, time); buf.putFloat(position + Long.BYTES, valueSelector.getFloat()); } }
@Override public void aggregate(ByteBuffer buf, int position) { ByteBuffer mutationBuffer = buf.duplicate(); mutationBuffer.position(position); ApproximateHistogram h0 = ApproximateHistogram.fromBytesDense(mutationBuffer); h0.offer(selector.getFloat()); mutationBuffer.position(position); h0.toBytesDense(mutationBuffer); }
@Override public final void aggregate(ByteBuffer buf, int position) { aggregate(buf, position, selector.getFloat()); }
@Override public void hashValues(BaseFloatColumnValueSelector selector, HyperLogLogCollector collector) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { collector.add(CardinalityAggregator.hashFn.hashInt(Float.floatToIntBits(selector.getFloat())).asBytes()); } } }
@Override public void aggregate() { // In case of ExpressionColumnValueSelector isNull will compute the expression and then give the result, // the check for is NullHandling.replaceWithDefault is there to not have any performance impact of calling // isNull for default case. if (NullHandling.replaceWithDefault() || !selector.isNull()) { histogram.offer(selector.getFloat()); } }
@Override public boolean matches() { if (selector.isNull()) { return predicate.applyNull(); } return predicate.applyFloat(selector.getFloat()); }
@Override public void aggregate() { if (NullHandling.replaceWithDefault() || !selector.isNull()) { collector.addFloat(selector.getFloat()); } else { collector.addBytes(null, 0, 0); } } }
@Override public void bufferAdd(ByteBuffer buf) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { BloomKFilter.addFloat(buf, selector.getFloat()); } else { BloomKFilter.addBytes(buf, null, 0, 0); } } }