public final class BinaryPacking extends Object implements IntegerCODEC, SkippableIntegerCODEC
IntegerCODEC ic = new Composition(new BinaryPacking(), new VariableByte()).Note that this does not use differential coding: if you are working on sorted lists, use IntegratedBinaryPacking instead.
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
Daniel Lemire, Leonid Boytsov, Nathan Kurz, SIMD Compression and the Intersection of Sorted Integers http://arxiv.org/abs/1401.6399
| Constructor and Description |
|---|
BinaryPacking() |
| Modifier and Type | Method and Description |
|---|---|
void |
compress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
Compress data from an array to another array.
|
void |
headlessCompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
Compress data from an array to another array.
|
void |
headlessUncompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos,
int num)
Uncompress data from an array to another array.
|
String |
toString() |
void |
uncompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
Uncompress data from an array to another array.
|
public void compress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
IntegerCODECcompress in interface IntegerCODECin - input arrayinpos - location in the input arrayinlength - how many integers to compressout - output arrayoutpos - where to write in the output arraypublic void headlessCompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
SkippableIntegerCODECheadlessCompress in interface SkippableIntegerCODECin - input arrayinpos - location in the input arrayinlength - how many integers to compressout - output arrayoutpos - where to write in the output arraypublic void uncompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
IntegerCODECuncompress in interface IntegerCODECin - array containing data in compressed forminpos - where to start reading in the arrayinlength - length of the compressed data (ignored by some
schemes)out - array where to write the compressed outputoutpos - where to write the compressed output in outpublic void headlessUncompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos,
int num)
SkippableIntegerCODECheadlessUncompress in interface SkippableIntegerCODECin - array containing data in compressed forminpos - where to start reading in the arrayinlength - length of the compressed data (ignored by some schemes)out - array where to write the compressed outputoutpos - where to write the compressed output in outnum - number of integers we want to decode, the actual number of integers decoded can be lessCopyright © 2015. All Rights Reserved.