Class LongTimsortDescendingKernel

java.lang.Object
io.deephaven.engine.table.impl.sort.timsort.LongTimsortDescendingKernel

public class LongTimsortDescendingKernel extends Object
This implements a timsort kernel for Longs.

Python and Wikipedia do a decent job of describing the algorithm.

  • Method Details

    • createContext

      public static <ATTR extends Any> LongTimsortDescendingKernel.LongSortKernelContext<ATTR> createContext(int size)
    • sort

      public static <ATTR extends Any> void sort(LongTimsortDescendingKernel.LongSortKernelContext<ATTR> context, WritableLongChunk<ATTR> valuesToSort)
      Sort the values in valuesToSort permuting the indexKeys chunk in the same way.

      The offsetsIn chunk is contains the offset of runs to sort in indexKeys; and the lengthsIn contains the length of the runs. This allows the kernel to be used for a secondary column sort, chaining it together with fewer runs sorted on each pass.