@Override void writeNextRandomValue(Random random, BlockBuilder builder) { DOUBLE.writeDouble(builder, random.nextDouble()); } }
@Override public void append(JsonParser parser, BlockBuilder blockBuilder) throws IOException { Double result = currentTokenAsDouble(parser); if (result == null) { blockBuilder.appendNull(); } else { DOUBLE.writeDouble(blockBuilder, result); } } }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
public static Block createDoubleSequenceBlock(int start, int end) { BlockBuilder builder = DOUBLE.createFixedSizeBlockBuilder(end - start); for (int i = start; i < end; i++) { DOUBLE.writeDouble(builder, (double) i); } return builder.build(); }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
@OutputFunction(StandardTypes.DOUBLE) public static void output(@AggregationState LongAndDoubleState state, BlockBuilder out) { long count = state.getLong(); if (count == 0) { out.appendNull(); } else { double value = state.getDouble(); DOUBLE.writeDouble(out, value / count); } } }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
@OutputFunction(StandardTypes.DOUBLE) public static void corr(@AggregationState CorrelationState state, BlockBuilder out) { double result = getCorrelation(state); if (Double.isFinite(result)) { DOUBLE.writeDouble(out, result); } else { out.appendNull(); } } }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { DOUBLE.writeDouble(blockBuilder, (double) i); } return new Block[] {blockBuilder.build()}; }
private static Block createFixWidthValueBlock(int positionCount, int mapSize) { BlockBuilder valueBlockBuilder = DOUBLE.createBlockBuilder(null, positionCount * mapSize); for (int i = 0; i < positionCount * mapSize; i++) { DOUBLE.writeDouble(valueBlockBuilder, ThreadLocalRandom.current().nextDouble()); } return valueBlockBuilder.build(); }
private static Block createValueBlock(int positionCount, int mapSize) { BlockBuilder valueBlockBuilder = DOUBLE.createBlockBuilder(null, positionCount * mapSize); for (int i = 0; i < positionCount * mapSize; i++) { DOUBLE.writeDouble(valueBlockBuilder, ThreadLocalRandom.current().nextDouble()); } return valueBlockBuilder.build(); }
@AggregationFunction("regr_slope") @OutputFunction(StandardTypes.DOUBLE) public static void regrSlope(@AggregationState RegressionState state, BlockBuilder out) { double result = getRegressionSlope(state); if (Double.isFinite(result)) { DOUBLE.writeDouble(out, result); } else { out.appendNull(); } }
@AggregationFunction("regr_intercept") @OutputFunction(StandardTypes.DOUBLE) public static void regrIntercept(@AggregationState RegressionState state, BlockBuilder out) { double result = getRegressionIntercept(state); if (Double.isFinite(result)) { DOUBLE.writeDouble(out, result); } else { out.appendNull(); } } }
@AggregationFunction("regr_intercept") @OutputFunction(StandardTypes.DOUBLE) public static void regrIntercept(@AggregationState RegressionState state, BlockBuilder out) { double result = getRegressionIntercept(state); if (Double.isFinite(result)) { DOUBLE.writeDouble(out, result); } else { out.appendNull(); } } }
private static RunLengthEncodedBlock createRLEBlock(double percentile, int positionCount) { BlockBuilder blockBuilder = DOUBLE.createBlockBuilder(null, 1); DOUBLE.writeDouble(blockBuilder, percentile); return new RunLengthEncodedBlock(blockBuilder.build(), positionCount); }
private static RunLengthEncodedBlock createRLEBlock(Iterable<Double> percentiles, int positionCount) { BlockBuilder rleBlockBuilder = new ArrayType(DOUBLE).createBlockBuilder(null, 1); BlockBuilder arrayBlockBuilder = rleBlockBuilder.beginBlockEntry(); for (double percentile : percentiles) { DOUBLE.writeDouble(arrayBlockBuilder, percentile); } rleBlockBuilder.closeEntry(); return new RunLengthEncodedBlock(rleBlockBuilder.build(), positionCount); } }
@ScalarFunction("values_at_quantiles") @Description("For each input q between [0, 1], find the value whose rank in the sorted sequence of the n values represented by the qdigest is qn.") @SqlType("array(double)") public static Block valuesAtQuantilesDouble(@SqlType("qdigest(double)") Slice input, @SqlType("array(double)") Block percentilesArrayBlock) { QuantileDigest digest = new QuantileDigest(input); BlockBuilder output = DOUBLE.createBlockBuilder(null, percentilesArrayBlock.getPositionCount()); for (int i = 0; i < percentilesArrayBlock.getPositionCount(); i++) { DOUBLE.writeDouble(output, sortableLongToDouble(digest.getQuantile(DOUBLE.getDouble(percentilesArrayBlock, i)))); } return output.build(); }