Interface SkippableIntegerCODEC

  • All Known Implementing Classes:
    FastPFOR128

    public interface SkippableIntegerCODEC
    Interface describing a standard CODEC to compress integers. This is a variation on the IntegerCODEC interface meant to be used for random access. The main difference is that we must specify the number of integers we wish to decode. This information should be stored elsewhere. This interface was designed by the Terrier team for their search engine.
    • Method Detail

      • headlessCompress

        void headlessCompress​(int[] in,
                              IntWrapper inpos,
                              int inlength,
                              int[] out,
                              IntWrapper outpos)
        Compress data from an array to another array. Both inpos and outpos are modified to represent how much data was read and written to if 12 ints (inlength = 12) are compressed to 3 ints, then inpos will be incremented by 12 while outpos will be incremented by 3 we use IntWrapper to pass the values by reference.
        Parameters:
        in - input array
        inpos - location in the input array
        inlength - how many integers to compress
        out - output array
        outpos - where to write in the output array
      • headlessUncompress

        void headlessUncompress​(int[] in,
                                IntWrapper inpos,
                                int inlength,
                                int[] out,
                                IntWrapper outpos,
                                int num)
        Uncompress data from an array to another array. Both inpos and outpos parameters are modified to indicate new positions after read/write.
        Parameters:
        in - array containing data in compressed form
        inpos - where to start reading in the array
        inlength - length of the compressed data (ignored by some schemes)
        out - array where to write the compressed output
        outpos - where to write the compressed output in out
        num - number of integers we want to decode, the actual number of integers decoded can be less