Interface CompactKernel

All Known Implementing Classes:
BooleanCompactKernel, ByteCompactKernel, CharCompactKernel, DoubleCompactKernel, FloatCompactKernel, IntCompactKernel, LongCompactKernel, ObjectCompactKernel, ShortCompactKernel

public interface CompactKernel
  • Method Details

    • compact

      void compact(WritableChunk<? extends Any> values, BooleanChunk<Any> retainValues)
      Compacts values into the front of the chunk, retaining only values where the parallel retainValues chunk has a true value.
      Parameters:
      values - a chunk of values, input and output
      retainValues - the values to retain
    • compactAndCount

      default void compactAndCount(WritableChunk<? extends Values> valueChunk, WritableIntChunk<ChunkLengths> counts)
      Sort valuesChunk, eliminate duplicates, and write the number of times a value occurred into the parallel slot within counts. null values are removed from the chunk.
      Parameters:
      valueChunk - a chunk of values, input and output
      counts - an output chunk parallel to valueChunk with the number of times a value occurred
    • compactAndCount

      void compactAndCount(WritableChunk<? extends Values> valueChunk, WritableIntChunk<ChunkLengths> counts, boolean countNull)
      Sort valuesChunk, eliminate duplicates, and write the number of times a value occurred into the parallel slot within counts.
      Parameters:
      valueChunk - a chunk of values, input and output
      counts - an output chunk parallel to valueChunk with the number of times a value occurred
      countNull - if the compaction should count nulls or not
    • compactAndCount

      default void compactAndCount(WritableChunk<? extends Values> valueChunk, WritableIntChunk<ChunkLengths> counts, IntChunk<ChunkPositions> startPositions, WritableIntChunk<ChunkLengths> lengths)
      For each run in valuesChunk, sort it, eliminate duplicates, and write the number of times a value occurred into the parallel slot within counts. null values are removed from the chunk.
      Parameters:
      valueChunk - a chunk of values, input and output
      counts - an output chunk parallel to valueChunk with the number of times a value occurred
      startPositions - the start of each run
      lengths - the length of each run, input and output
    • compactAndCount

      void compactAndCount(WritableChunk<? extends Values> valueChunk, WritableIntChunk<ChunkLengths> counts, IntChunk<ChunkPositions> startPositions, WritableIntChunk<ChunkLengths> lengths, boolean countNull)
      For each run in valuesChunk, sort it, eliminate duplicates, and write the number of times a value occurred into the parallel slot within counts.
      Parameters:
      valueChunk - a chunk of values, input and output
      counts - an output chunk parallel to valueChunk with the number of times a value occurred
      startPositions - the start of each run
      lengths - the length of each run, input and output
      countNull - if the compaction should count nulls or not
    • makeCompact

      static CompactKernel makeCompact(ChunkType chunkType)