Package me.lemire.longcompression
Class LongBitPacking
java.lang.Object
me.lemire.longcompression.LongBitPacking
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic voidfastpackwithoutmask(long[] in, int inpos, long[] out, int outpos, int bit) Pack 64 longsprotected static voidfastpackwithoutmask0(long[] in, int inpos, long[] out, int outpos) protected static voidfastpackwithoutmask64(long[] in, int inpos, long[] out, int outpos) static voidfastunpack(long[] in, int inpos, long[] out, int outpos, int bit) Unpack the 64 longsprotected static voidfastunpack0(long[] in, int inpos, long[] out, int outpos) protected static voidfastunpack64(long[] in, int inpos, long[] out, int outpos) protected static voidslowpackwithoutmask(long[] in, int inpos, long[] out, int outpos, int bit) protected static voidslowunpack(long[] in, int inpos, long[] out, int outpos, int bit)
-
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 arrayinpos- position in source arrayout- output arrayoutpos- position in output arraybit- 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 arrayinpos- starting point in the source arrayout- output arrayoutpos- starting point in the output arraybit- 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)
-