Interface BarrageRunKernel
public interface BarrageRunKernel
Typed kernel for single-pass run detection over a row subset, used by
RunEndEncodedChunkWriter. Each
implementation is specialized for one value chunk type, avoiding virtual dispatch on per-element reads and writes.-
Method Summary
Modifier and TypeMethodDescriptionvoiddecodeRunEnds(IntChunk<Values> runEnds, Chunk<Values> runValues, WritableChunk<Values> dst, int outOffset) Expands run-end encoded data back into a flat chunk.voidencodeRunEnds(Chunk<Values> src, RowSet subset, WritableIntChunk<Values> runEnds, WritableChunk<Values> runValues) Single-pass run detection directly over the subset.static BarrageRunKernelmakeBarrageRunKernel(ChunkType valuesChunkType)
-
Method Details
-
makeBarrageRunKernel
-
encodeRunEnds
void encodeRunEnds(Chunk<Values> src, RowSet subset, WritableIntChunk<Values> runEnds, WritableChunk<Values> runValues) Single-pass run detection directly over the subset. Readssrcat the row positions given bysubset, detects runs and stores runEnds and runValues into the providedchunks.The caller must pre-allocate
runEndsandrunValuesto capacitysubset.intSize()(worst-case scenario) -
decodeRunEnds
void decodeRunEnds(IntChunk<Values> runEnds, Chunk<Values> runValues, WritableChunk<Values> dst, int outOffset) Expands run-end encoded data back into a flat chunk. ReadsrunEnds(cumulative 1-based end positions) andrunValues(one value per run) and fillsdststarting atoutOffset.
-