Class Composition

java.lang.Object
me.lemire.integercompression.Composition
All Implemented Interfaces:
IntegerCODEC

public class Composition extends Object implements IntegerCODEC
Helper class to compose schemes.
Author:
Daniel Lemire
  • Constructor Details

    • Composition

      public Composition(IntegerCODEC f1, IntegerCODEC f2)
      Compose a scheme from a first one (f1) and a second one (f2). The first one is called first and then the second one tries to compress whatever remains from the first run. By convention, the first scheme should be such that if, during decoding, a 32-bit zero is first encountered, then there is no output.
      Parameters:
      f1 - first codec
      f2 - second codec
  • Method Details

    • compress

      public void compress(int[] in, IntWrapper inpos, int inlength, int[] out, IntWrapper outpos)
      Description copied from interface: IntegerCODEC
      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.
      Specified by:
      compress in interface IntegerCODEC
      Parameters:
      in - input array
      inpos - where to start reading in the array
      inlength - how many integers to compress
      out - output array
      outpos - where to write in the output array
    • uncompress

      public void uncompress(int[] in, IntWrapper inpos, int inlength, int[] out, IntWrapper outpos)
      Description copied from interface: IntegerCODEC
      Uncompress data from an array to another array. Both inpos and outpos parameters are modified to indicate new positions after read/write.
      Specified by:
      uncompress in interface IntegerCODEC
      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 start writing the uncompressed output in out
    • toString

      public String toString()
      Overrides:
      toString in class Object