Class BitPacking

java.lang.Object
me.lemire.integercompression.BitPacking

public final class BitPacking 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

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    fastpack(int[] in, int inpos, int[] out, int outpos, int bit)
    Pack 32 integers
    protected static void
    fastpack0(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack1(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack10(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack11(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack12(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack13(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack14(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack15(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack16(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack17(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack18(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack19(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack2(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack20(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack21(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack22(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack23(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack24(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack25(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack26(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack27(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack28(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack29(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack3(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack30(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack31(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack32(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack4(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack5(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack6(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack7(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack8(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpack9(int[] in, int inpos, int[] out, int outpos)
     
    static void
    fastpackwithoutmask(int[] in, int inpos, int[] out, int outpos, int bit)
    Unpack 32 integers
    protected static void
    fastpackwithoutmask0(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask1(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask10(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask11(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask12(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask13(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask14(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask15(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask16(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask17(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask18(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask19(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask2(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask20(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask21(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask22(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask23(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask24(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask25(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask26(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask27(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask28(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask29(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask3(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask30(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask31(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask32(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask4(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask5(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask6(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask7(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask8(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastpackwithoutmask9(int[] in, int inpos, int[] out, int outpos)
     
    static void
    fastunpack(int[] in, int inpos, int[] out, int outpos, int bit)
    Pack the 32 integers
    protected static void
    fastunpack0(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack1(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack10(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack11(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack12(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack13(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack14(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack15(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack16(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack17(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack18(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack19(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack2(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack20(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack21(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack22(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack23(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack24(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack25(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack26(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack27(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack28(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack29(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack3(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack30(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack31(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack32(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack4(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack5(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack6(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack7(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack8(int[] in, int inpos, int[] out, int outpos)
     
    protected static void
    fastunpack9(int[] in, int inpos, int[] out, int outpos)
     

    Methods inherited from class java.lang.Object

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

    • BitPacking

      public BitPacking()
  • Method Details

    • fastpack

      public static void fastpack(int[] in, int inpos, int[] out, int outpos, int bit)
      Pack 32 integers
      Parameters:
      in - source array
      inpos - position in source array
      out - output array
      outpos - position in output array
      bit - number of bits to use per integer
    • fastpack0

      protected static void fastpack0(int[] in, int inpos, int[] out, int outpos)
    • fastpack1

      protected static void fastpack1(int[] in, int inpos, int[] out, int outpos)
    • fastpack10

      protected static void fastpack10(int[] in, int inpos, int[] out, int outpos)
    • fastpack11

      protected static void fastpack11(int[] in, int inpos, int[] out, int outpos)
    • fastpack12

      protected static void fastpack12(int[] in, int inpos, int[] out, int outpos)
    • fastpack13

      protected static void fastpack13(int[] in, int inpos, int[] out, int outpos)
    • fastpack14

      protected static void fastpack14(int[] in, int inpos, int[] out, int outpos)
    • fastpack15

      protected static void fastpack15(int[] in, int inpos, int[] out, int outpos)
    • fastpack16

      protected static void fastpack16(int[] in, int inpos, int[] out, int outpos)
    • fastpack17

      protected static void fastpack17(int[] in, int inpos, int[] out, int outpos)
    • fastpack18

      protected static void fastpack18(int[] in, int inpos, int[] out, int outpos)
    • fastpack19

      protected static void fastpack19(int[] in, int inpos, int[] out, int outpos)
    • fastpack2

      protected static void fastpack2(int[] in, int inpos, int[] out, int outpos)
    • fastpack20

      protected static void fastpack20(int[] in, int inpos, int[] out, int outpos)
    • fastpack21

      protected static void fastpack21(int[] in, int inpos, int[] out, int outpos)
    • fastpack22

      protected static void fastpack22(int[] in, int inpos, int[] out, int outpos)
    • fastpack23

      protected static void fastpack23(int[] in, int inpos, int[] out, int outpos)
    • fastpack24

      protected static void fastpack24(int[] in, int inpos, int[] out, int outpos)
    • fastpack25

      protected static void fastpack25(int[] in, int inpos, int[] out, int outpos)
    • fastpack26

      protected static void fastpack26(int[] in, int inpos, int[] out, int outpos)
    • fastpack27

      protected static void fastpack27(int[] in, int inpos, int[] out, int outpos)
    • fastpack28

      protected static void fastpack28(int[] in, int inpos, int[] out, int outpos)
    • fastpack29

      protected static void fastpack29(int[] in, int inpos, int[] out, int outpos)
    • fastpack3

      protected static void fastpack3(int[] in, int inpos, int[] out, int outpos)
    • fastpack30

      protected static void fastpack30(int[] in, int inpos, int[] out, int outpos)
    • fastpack31

      protected static void fastpack31(int[] in, int inpos, int[] out, int outpos)
    • fastpack32

      protected static void fastpack32(int[] in, int inpos, int[] out, int outpos)
    • fastpack4

      protected static void fastpack4(int[] in, int inpos, int[] out, int outpos)
    • fastpack5

      protected static void fastpack5(int[] in, int inpos, int[] out, int outpos)
    • fastpack6

      protected static void fastpack6(int[] in, int inpos, int[] out, int outpos)
    • fastpack7

      protected static void fastpack7(int[] in, int inpos, int[] out, int outpos)
    • fastpack8

      protected static void fastpack8(int[] in, int inpos, int[] out, int outpos)
    • fastpack9

      protected static void fastpack9(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask

      public static void fastpackwithoutmask(int[] in, int inpos, int[] out, int outpos, int bit)
      Unpack 32 integers
      Parameters:
      in - source array
      inpos - position in source array
      out - output array
      outpos - position in output array
      bit - number of bits to use per integer
    • fastpackwithoutmask0

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

      protected static void fastpackwithoutmask1(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask10

      protected static void fastpackwithoutmask10(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask11

      protected static void fastpackwithoutmask11(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask12

      protected static void fastpackwithoutmask12(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask13

      protected static void fastpackwithoutmask13(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask14

      protected static void fastpackwithoutmask14(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask15

      protected static void fastpackwithoutmask15(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask16

      protected static void fastpackwithoutmask16(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask17

      protected static void fastpackwithoutmask17(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask18

      protected static void fastpackwithoutmask18(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask19

      protected static void fastpackwithoutmask19(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask2

      protected static void fastpackwithoutmask2(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask20

      protected static void fastpackwithoutmask20(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask21

      protected static void fastpackwithoutmask21(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask22

      protected static void fastpackwithoutmask22(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask23

      protected static void fastpackwithoutmask23(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask24

      protected static void fastpackwithoutmask24(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask25

      protected static void fastpackwithoutmask25(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask26

      protected static void fastpackwithoutmask26(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask27

      protected static void fastpackwithoutmask27(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask28

      protected static void fastpackwithoutmask28(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask29

      protected static void fastpackwithoutmask29(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask3

      protected static void fastpackwithoutmask3(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask30

      protected static void fastpackwithoutmask30(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask31

      protected static void fastpackwithoutmask31(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask32

      protected static void fastpackwithoutmask32(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask4

      protected static void fastpackwithoutmask4(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask5

      protected static void fastpackwithoutmask5(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask6

      protected static void fastpackwithoutmask6(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask7

      protected static void fastpackwithoutmask7(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask8

      protected static void fastpackwithoutmask8(int[] in, int inpos, int[] out, int outpos)
    • fastpackwithoutmask9

      protected static void fastpackwithoutmask9(int[] in, int inpos, int[] out, int outpos)
    • fastunpack

      public static void fastunpack(int[] in, int inpos, int[] out, int outpos, int bit)
      Pack the 32 integers
      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(int[] in, int inpos, int[] out, int outpos)
    • fastunpack1

      protected static void fastunpack1(int[] in, int inpos, int[] out, int outpos)
    • fastunpack10

      protected static void fastunpack10(int[] in, int inpos, int[] out, int outpos)
    • fastunpack11

      protected static void fastunpack11(int[] in, int inpos, int[] out, int outpos)
    • fastunpack12

      protected static void fastunpack12(int[] in, int inpos, int[] out, int outpos)
    • fastunpack13

      protected static void fastunpack13(int[] in, int inpos, int[] out, int outpos)
    • fastunpack14

      protected static void fastunpack14(int[] in, int inpos, int[] out, int outpos)
    • fastunpack15

      protected static void fastunpack15(int[] in, int inpos, int[] out, int outpos)
    • fastunpack16

      protected static void fastunpack16(int[] in, int inpos, int[] out, int outpos)
    • fastunpack17

      protected static void fastunpack17(int[] in, int inpos, int[] out, int outpos)
    • fastunpack18

      protected static void fastunpack18(int[] in, int inpos, int[] out, int outpos)
    • fastunpack19

      protected static void fastunpack19(int[] in, int inpos, int[] out, int outpos)
    • fastunpack2

      protected static void fastunpack2(int[] in, int inpos, int[] out, int outpos)
    • fastunpack20

      protected static void fastunpack20(int[] in, int inpos, int[] out, int outpos)
    • fastunpack21

      protected static void fastunpack21(int[] in, int inpos, int[] out, int outpos)
    • fastunpack22

      protected static void fastunpack22(int[] in, int inpos, int[] out, int outpos)
    • fastunpack23

      protected static void fastunpack23(int[] in, int inpos, int[] out, int outpos)
    • fastunpack24

      protected static void fastunpack24(int[] in, int inpos, int[] out, int outpos)
    • fastunpack25

      protected static void fastunpack25(int[] in, int inpos, int[] out, int outpos)
    • fastunpack26

      protected static void fastunpack26(int[] in, int inpos, int[] out, int outpos)
    • fastunpack27

      protected static void fastunpack27(int[] in, int inpos, int[] out, int outpos)
    • fastunpack28

      protected static void fastunpack28(int[] in, int inpos, int[] out, int outpos)
    • fastunpack29

      protected static void fastunpack29(int[] in, int inpos, int[] out, int outpos)
    • fastunpack3

      protected static void fastunpack3(int[] in, int inpos, int[] out, int outpos)
    • fastunpack30

      protected static void fastunpack30(int[] in, int inpos, int[] out, int outpos)
    • fastunpack31

      protected static void fastunpack31(int[] in, int inpos, int[] out, int outpos)
    • fastunpack32

      protected static void fastunpack32(int[] in, int inpos, int[] out, int outpos)
    • fastunpack4

      protected static void fastunpack4(int[] in, int inpos, int[] out, int outpos)
    • fastunpack5

      protected static void fastunpack5(int[] in, int inpos, int[] out, int outpos)
    • fastunpack6

      protected static void fastunpack6(int[] in, int inpos, int[] out, int outpos)
    • fastunpack7

      protected static void fastunpack7(int[] in, int inpos, int[] out, int outpos)
    • fastunpack8

      protected static void fastunpack8(int[] in, int inpos, int[] out, int outpos)
    • fastunpack9

      protected static void fastunpack9(int[] in, int inpos, int[] out, int outpos)