static void write(Type type, NullableDoubleState state, BlockBuilder out) { if (state.isNull()) { out.appendNull(); } else { type.writeDouble(out, state.getDouble()); } } }
static void write(Type type, NullableBooleanState state, BlockBuilder out) { if (state.isNull()) { out.appendNull(); } else { type.writeBoolean(out, state.getBoolean()); } } }
@Override public void serialize(KeyValuePairsState state, BlockBuilder out) { if (state.get() == null) { out.appendNull(); } else { state.get().serialize(out); } }
@OutputFunction(StandardTypes.REAL) public static void output(@AggregationState LongAndDoubleState state, BlockBuilder out) { long count = state.getLong(); if (count == 0) { out.appendNull(); } else { REAL.writeLong(out, floatToRawIntBits((float) Math.exp(state.getDouble() / count))); } } }
@Override public void serialize(BlockState state, BlockBuilder out) { if (state.getBlock() == null) { out.appendNull(); } else { type.writeObject(out, state.getBlock()); } }
static void write(Type type, TriStateBooleanState state, BlockBuilder out) { if (state.getByte() == NULL_VALUE) { out.appendNull(); } else { type.writeBoolean(out, state.getByte() == TRUE_VALUE); } } }
public static void output(LongState count, DoubleState sum, BlockBuilder out) { if (count.getLong() == 0) { out.appendNull(); } else { REAL.writeLong(out, floatToIntBits((float) (sum.getDouble() / count.getLong()))); } } }
@Override public void serialize(NullableDoubleState state, BlockBuilder out) { if (state.isNull()) { out.appendNull(); } else { DOUBLE.writeDouble(out, state.getDouble()); } }
@OutputFunction(StandardTypes.REAL) public static void output(@AggregationState NullableDoubleState state, BlockBuilder out) { if (state.isNull()) { out.appendNull(); } else { REAL.writeLong(out, floatToRawIntBits((float) state.getDouble())); } } }
@OutputFunction(StandardTypes.DOUBLE) public static void output(@AggregationState LongAndDoubleState state, BlockBuilder out) { long count = state.getLong(); if (count == 0) { out.appendNull(); } else { DOUBLE.writeDouble(out, Math.exp(state.getDouble() / count)); } } }
@Override public void serialize(SetDigestState state, BlockBuilder out) { if (state.getDigest() == null) { out.appendNull(); } else { SET_DIGEST.writeSlice(out, state.getDigest().serialize()); } }
static void write(Type type, BlockPositionState state, BlockBuilder out) { if (state.getBlock() == null) { out.appendNull(); } else { type.appendTo(state.getBlock(), state.getPosition(), out); } } }
@AggregationFunction("regr_slope") @OutputFunction(StandardTypes.REAL) public static void regrSlope(@AggregationState RegressionState state, BlockBuilder out) { double result = getRegressionSlope(state); if (Double.isFinite(result)) { REAL.writeLong(out, floatToRawIntBits((float) result)); } else { out.appendNull(); } }
@OutputFunction(SetDigestType.NAME) public static void output(SetDigestState state, BlockBuilder out) { if (state.getDigest() == null) { out.appendNull(); } else { SET_DIGEST.writeSlice(out, state.getDigest().serialize()); } } }
public static void output(Type elementType, ArrayAggregationState state, BlockBuilder out) { if (state.isEmpty()) { out.appendNull(); } else { BlockBuilder entryBuilder = out.beginBlockEntry(); state.forEach((block, position) -> elementType.appendTo(block, position, entryBuilder)); out.closeEntry(); } } }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = UNKNOWN.createBlockBuilder(null, length); for (int i = 0; i < length; i++) { blockBuilder.appendNull(); } return new Block[] {blockBuilder.build()}; }
private static void writeValues(Slice[] expectedValues, BlockBuilder blockBuilder) { for (Slice expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); } else { blockBuilder.writeLong(expectedValue.getLong(0)).closeEntry(); } } }
private static void writeValues(Slice[] expectedValues, BlockBuilder blockBuilder) { for (Slice expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); } else { blockBuilder.writeShort(expectedValue.getShort(0)).closeEntry(); } } }
private static void writeValues(Slice[] expectedValues, BlockBuilder blockBuilder) { for (Slice expectedValue : expectedValues) { if (expectedValue == null) { blockBuilder.appendNull(); } else { blockBuilder.writeBytes(expectedValue, 0, expectedValue.length()).closeEntry(); } } }
private static void project(int position, PageBuilder pageBuilder, Block extendedPriceBlock, Block discountBlock) { pageBuilder.declarePosition(); if (discountBlock.isNull(position) || extendedPriceBlock.isNull(position)) { pageBuilder.getBlockBuilder(0).appendNull(); } else { DOUBLE.writeDouble(pageBuilder.getBlockBuilder(0), DOUBLE.getDouble(extendedPriceBlock, position) * DOUBLE.getDouble(discountBlock, position)); } }