@Override public boolean matches() { if (selector.isNull()) { return false; } return Double.doubleToLongBits(selector.getDouble()) == matchValLongBits; }
@Override public ValueGetter makeValueGetter(final BaseDoubleColumnValueSelector selector) { return () -> { if (selector.isNull()) { return null; } return new String[]{Double.toString(selector.getDouble())}; }; } }
@Override public void hashValues(BaseDoubleColumnValueSelector selector, HyperLogLogCollector collector) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { collector.add(CardinalityAggregator.hashFn.hashLong(Double.doubleToLongBits(selector.getDouble())).asBytes()); } } }
@Override public boolean matches() { if (selector.isNull()) { return predicate.applyNull(); } return predicate.applyDouble(selector.getDouble()); }
@Override public void hashRow(BaseDoubleColumnValueSelector selector, Hasher hasher) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { hasher.putDouble(selector.getDouble()); } }
@Override public void bufferAdd(ByteBuffer buf) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { BloomKFilter.addDouble(buf, selector.getDouble()); } else { BloomKFilter.addBytes(buf, null, 0, 0); } } }
@Override public void aggregate() { if (NullHandling.replaceWithDefault() || !selector.isNull()) { collector.addDouble(selector.getDouble()); } else { collector.addBytes(null, 0, 0); } } }
@Override public ValueGetter makeValueGetter(final BaseDoubleColumnValueSelector selector) { return () -> { if (selector.isNull()) { return null; } return new String[]{Double.toString(selector.getDouble())}; }; } }
@Override public void hashValues(BaseDoubleColumnValueSelector selector, HyperLogLogCollector collector) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { collector.add(CardinalityAggregator.hashFn.hashLong(Double.doubleToLongBits(selector.getDouble())).asBytes()); } } }
@Override public boolean matches() { if (selector.isNull()) { return predicate.applyNull(); } return predicate.applyDouble(selector.getDouble()); }
@Override public void hashRow(BaseDoubleColumnValueSelector selector, Hasher hasher) { if (NullHandling.replaceWithDefault() || !selector.isNull()) { hasher.putDouble(selector.getDouble()); } }