@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { REAL.writeLong(blockBuilder, floatToRawIntBits((float) i)); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { REAL.writeLong(blockBuilder, floatToRawIntBits((float) i)); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { REAL.writeLong(blockBuilder, floatToRawIntBits((float) i)); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { REAL.writeLong(blockBuilder, floatToRawIntBits((float) i)); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { REAL.writeLong(blockBuilder, floatToRawIntBits((float) i)); } return new Block[] {blockBuilder.build()}; }
@Override public Block[] getSequenceBlocks(int start, int length) { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, length); for (int i = start; i < start + length; i++) { REAL.writeLong(blockBuilder, floatToRawIntBits((float) i)); } return new Block[] {blockBuilder.build()}; }
private static Block createBlockOfReals(Iterable<Float> values) { BlockBuilder builder = REAL.createBlockBuilder(null, 100); for (Float value : values) { if (value == null) { builder.appendNull(); } else { REAL.writeLong(builder, floatToRawIntBits(value)); } } return builder.build(); }
private static Block createBlockOfReals(Iterable<Float> values) { BlockBuilder builder = REAL.createBlockBuilder(null, 100); for (Float value : values) { if (value == null) { builder.appendNull(); } else { REAL.writeLong(builder, floatToRawIntBits(value)); } } return builder.build(); }
public static Block createTestBlock() { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, 30); REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F)); REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F)); REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(33.33F)); REAL.writeLong(blockBuilder, floatToRawIntBits(33.33F)); REAL.writeLong(blockBuilder, floatToRawIntBits(44.44F)); return blockBuilder.build(); }
public static Block createTestBlock() { BlockBuilder blockBuilder = REAL.createBlockBuilder(null, 30); REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F)); REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F)); REAL.writeLong(blockBuilder, floatToRawIntBits(11.11F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(22.22F)); REAL.writeLong(blockBuilder, floatToRawIntBits(33.33F)); REAL.writeLong(blockBuilder, floatToRawIntBits(33.33F)); REAL.writeLong(blockBuilder, floatToRawIntBits(44.44F)); return blockBuilder.build(); }
@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(real)") public static Block valuesAtQuantilesReal(@SqlType("qdigest(real)") Slice input, @SqlType("array(double)") Block percentilesArrayBlock) { QuantileDigest digest = new QuantileDigest(input); BlockBuilder output = REAL.createBlockBuilder(null, percentilesArrayBlock.getPositionCount()); for (int i = 0; i < percentilesArrayBlock.getPositionCount(); i++) { REAL.writeLong(output, floatToRawIntBits(sortableIntToFloat((int) digest.getQuantile(DOUBLE.getDouble(percentilesArrayBlock, i))))); } return output.build(); }
@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(real)") public static Block valuesAtQuantilesReal(@SqlType("qdigest(real)") Slice input, @SqlType("array(double)") Block percentilesArrayBlock) { QuantileDigest digest = new QuantileDigest(input); BlockBuilder output = REAL.createBlockBuilder(null, percentilesArrayBlock.getPositionCount()); for (int i = 0; i < percentilesArrayBlock.getPositionCount(); i++) { REAL.writeLong(output, floatToRawIntBits(sortableIntToFloat((int) digest.getQuantile(DOUBLE.getDouble(percentilesArrayBlock, i))))); } return output.build(); }