Class DeltaZigzagVariableByte

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

public class DeltaZigzagVariableByte extends Object implements IntegerCODEC
VariableByte with Delta+Zigzag Encoding.
Author:
MURAOKA Taro http://github.com/koron
  • Constructor Details

    • DeltaZigzagVariableByte

      public DeltaZigzagVariableByte()
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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
    • makeBuffer

      protected ByteBuffer makeBuffer(int sizeInBytes)
      Creates a new buffer of the requested size. In case you need a different way to allocate buffers, you can override this method with a custom behavior. The default implementation allocates a new Java direct ByteBuffer on each invocation.
      Parameters:
      sizeInBytes -
      Returns: