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 void
fastpackwithoutmask
(long[] in, int inpos, long[] out, int outpos, int bit) Pack 64 longsprotected 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 longsprotected 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)
-
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)
-