Class LongBitPacking

java.lang.Object
me.lemire.longcompression.LongBitPacking

public final class LongBitPacking extends Object
Bitpacking routines

For details, please see

Daniel Lemire and Leonid Boytsov, Decoding billions of integers per second through vectorization Software: Practice & Experience http://onlinelibrary.wiley.com/doi/10.1002/spe.2203/abstract http://arxiv.org/abs/1209.2137

Author:
Benoit Lacelle
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    fastpackwithoutmask(long[] in, int inpos, long[] out, int outpos, int bit)
    Pack 64 longs
    protected static void
    fastpackwithoutmask0(long[] in, int inpos, long[] out, int outpos)
     
    protected static void
    fastpackwithoutmask64(long[] in, int inpos, long[] out, int outpos)
     
    static void
    fastunpack(long[] in, int inpos, long[] out, int outpos, int bit)
    Unpack the 64 longs
    protected static void
    fastunpack0(long[] in, int inpos, long[] out, int outpos)
     
    protected static void
    fastunpack64(long[] in, int inpos, long[] out, int outpos)
     
    protected static void
    slowpackwithoutmask(long[] in, int inpos, long[] out, int outpos, int bit)
     
    protected static void
    slowunpack(long[] in, int inpos, long[] out, int outpos, int bit)
     

    Methods inherited from class java.lang.Object

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

    • LongBitPacking

      public LongBitPacking()
  • Method Details

    • fastpackwithoutmask

      public static void fastpackwithoutmask(long[] in, int inpos, long[] out, int outpos, int bit)
      Pack 64 longs
      Parameters:
      in - source array
      inpos - position in source array
      out - output array
      outpos - position in output array
      bit - number of bits to use per long
    • fastpackwithoutmask0

      protected static void fastpackwithoutmask0(long[] in, int inpos, long[] out, int outpos)
    • fastpackwithoutmask64

      protected static void fastpackwithoutmask64(long[] in, int inpos, long[] out, int outpos)
    • slowpackwithoutmask

      protected static void slowpackwithoutmask(long[] in, int inpos, long[] out, int outpos, int bit)
    • fastunpack

      public static void fastunpack(long[] in, int inpos, long[] out, int outpos, int bit)
      Unpack the 64 longs
      Parameters:
      in - source array
      inpos - starting point in the source array
      out - output array
      outpos - starting point in the output array
      bit - how many bits to use per integer
    • fastunpack0

      protected static void fastunpack0(long[] in, int inpos, long[] out, int outpos)
    • fastunpack64

      protected static void fastunpack64(long[] in, int inpos, long[] out, int outpos)
    • slowunpack

      protected static void slowunpack(long[] in, int inpos, long[] out, int outpos, int bit)