java.lang.Object
me.lemire.integercompression.S16

public final class S16 extends Object
Version of Simple16 for NewPFD and OptPFD.

Adapted by D. Lemire from the Apache Lucene project.

  • Constructor Summary

    Constructors
    Constructor
    Description
    S16()
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    compress(int[] in, int currentPos, int inlength, int[] out, int tmpoutpos)
    Compress an integer array using Simple16
    static final int
    compressblock(int[] out, int outOffset, int[] in, int inOffset, int n)
    Compress an integer array using Simple16
    static final int
    decompressblock(int[] out, int outOffset, int[] in, int inOffset, int n)
    Decompress an integer array using Simple16
    static int
    estimatecompress(int[] in, int currentPos, int inlength)
    Estimate size of the compressed output.
    static void
    uncompress(int[] in, int tmpinpos, int inlength, int[] out, int currentPos, int outlength)
    Uncompressed data from an input array into an output array

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • S16

      public S16()
  • Method Details

    • compress

      public static int compress(int[] in, int currentPos, int inlength, int[] out, int tmpoutpos)
      Compress an integer array using Simple16
      Parameters:
      in - array to compress
      currentPos - where to start reading
      inlength - how many integers to read
      out - output array
      tmpoutpos - location in the output array
      Returns:
      the number of 32-bit words written (in compressed form)
    • estimatecompress

      public static int estimatecompress(int[] in, int currentPos, int inlength)
      Estimate size of the compressed output.
      Parameters:
      in - array to compress
      currentPos - where to start reading
      inlength - how many integers to read
      Returns:
      estimated size of the output (in 32-bit integers)
    • compressblock

      public static final int compressblock(int[] out, int outOffset, int[] in, int inOffset, int n)
      Compress an integer array using Simple16
      Parameters:
      out - the compressed output
      outOffset - the offset of the output in the number of integers
      in - the integer input array
      inOffset - the offset of the input in the number of integers
      n - the number of elements to be compressed
      Returns:
      the size of the outputs in 32-bit integers
    • decompressblock

      public static final int decompressblock(int[] out, int outOffset, int[] in, int inOffset, int n)
      Decompress an integer array using Simple16
      Parameters:
      out - the decompressed output
      outOffset - the offset of the output in the number of integers
      in - the compressed input array
      inOffset - the offset of the input in the number of integers
      n - the number of elements to be compressed
      Returns:
      the number of processed integers
    • uncompress

      public static void uncompress(int[] in, int tmpinpos, int inlength, int[] out, int currentPos, int outlength)
      Uncompressed data from an input array into an output array
      Parameters:
      in - input array (in compressed form)
      tmpinpos - starting location in the compressed input array
      inlength - how much data we wish the read (in 32-bit words)
      out - output array (in decompressed form)
      currentPos - current position in the output array
      outlength - available data in the output array