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 Details

    • makeBarrageRunKernel

      static BarrageRunKernel makeBarrageRunKernel(ChunkType valuesChunkType)
    • encodeRunEnds

      void encodeRunEnds(Chunk<Values> src, RowSet subset, WritableIntChunk<Values> runEnds, WritableChunk<Values> runValues)
      Single-pass run detection directly over the subset. Reads src at the row positions given by subset, detects runs and stores runEnds and runValues into the provided chunks.

      The caller must pre-allocate runEnds and runValues to capacity subset.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. Reads runEnds (cumulative 1-based end positions) and runValues (one value per run) and fills dst starting at outOffset.