Class ObjectFindRunsKernel
java.lang.Object
io.deephaven.engine.table.impl.sort.findruns.ObjectFindRunsKernel
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
compactRuns
(@NotNull WritableObjectChunk<Object, ? extends Any> sortedValues, @NotNull IntChunk<ChunkPositions> offsetsIn) static void
findRuns
(@NotNull ObjectChunk<Object, ? extends Any> sortedValues, @NotNull IntChunk<ChunkPositions> offsetsIn, @NotNull IntChunk<ChunkLengths> lengthsIn, @NotNull WritableIntChunk<ChunkPositions> offsetsOut, @NotNull WritableIntChunk<ChunkLengths> lengthsOut) Find runs of two or more identical values in a sorted chunk.static void
findRunsSingles
(@NotNull ObjectChunk<Object, ? extends Any> sortedValues, @NotNull WritableIntChunk<ChunkPositions> offsetsOut, @NotNull WritableIntChunk<ChunkLengths> lengthsOut) Find runs of identical values in a sorted chunk.static FindRunsKernel
-
Constructor Details
-
ObjectFindRunsKernel
public ObjectFindRunsKernel()
-
-
Method Details
-
findRunsSingles
public static void findRunsSingles(@NotNull @NotNull ObjectChunk<Object, ? extends Any> sortedValues, @NotNull @NotNull WritableIntChunk<ChunkPositions> offsetsOut, @NotNull @NotNull WritableIntChunk<ChunkLengths> lengthsOut) Find runs of identical values in a sorted chunk. If a single value exists, it is included as run of length 1.- Parameters:
sortedValues
- a chunk of sorted valuesoffsetsOut
- an output chunk, with offsets of starting locations that a run occurredlengthsOut
- an output chunk, parallel to offsetsOut, with the lengths of found runs
-
findRuns
public static void findRuns(@NotNull @NotNull ObjectChunk<Object, ? extends Any> sortedValues, @NotNull @NotNull IntChunk<ChunkPositions> offsetsIn, @NotNull @NotNull IntChunk<ChunkLengths> lengthsIn, @NotNull @NotNull WritableIntChunk<ChunkPositions> offsetsOut, @NotNull @NotNull WritableIntChunk<ChunkLengths> lengthsOut) Find runs of two or more identical values in a sorted chunk. This is used as part of an overall sort, after the timsort (or other sorting) kernel to identify the runs that must be sorted according to secondary keys.- Parameters:
sortedValues
- a chunk of sorted valuesoffsetsIn
- the offsets within the chunk to check for runslengthsIn
- the lengths parallel to offsetsIn for run checkingoffsetsOut
- an output chunk, with offsets of starting locations that a run occurredlengthsOut
- an output chunk, parallel to offsetsOut, with the lengths of found runs Note, that lengthsIn must contain values greater than 1, and lengthsOut additionally only contain values greater than one
-
compactRuns
public static int compactRuns(@NotNull @NotNull WritableObjectChunk<Object, ? extends Any> sortedValues, @NotNull @NotNull IntChunk<ChunkPositions> offsetsIn) -
getInstance
-