Class DeltaZigzagBinaryPacking

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

public final class DeltaZigzagBinaryPacking extends Object implements IntegerCODEC
BinaryPacking with Delta+Zigzag Encoding. It encodes integers in blocks of 128 integers. For arrays containing an arbitrary number of integers, you should use it in conjunction with another CODEC:
IntegerCODEC ic = new Composition(new DeltaZigzagBinaryPacking(),
                      new DeltaZigzagVariableByte()).
Author:
MURAOKA Taro http://github.com/koron
  • Constructor Details

    • DeltaZigzagBinaryPacking

      public DeltaZigzagBinaryPacking()
  • Method Details

    • compress

      public void compress(int[] inBuf, IntWrapper inPos, int inLen, int[] outBuf, 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:
      inBuf - input array
      inPos - where to start reading in the array
      inLen - how many integers to compress
      outBuf - output array
      outPos - where to write in the output array
    • uncompress

      public void uncompress(int[] inBuf, IntWrapper inPos, int inLen, int[] outBuf, 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:
      inBuf - array containing data in compressed form
      inPos - where to start reading in the array
      inLen - length of the compressed data (ignored by some schemes)
      outBuf - 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