me.lemire.integercompression
Class FastPFOR
java.lang.Object
me.lemire.integercompression.FastPFOR
- All Implemented Interfaces:
- IntegerCODEC
public final class FastPFOR
- extends Object
- implements IntegerCODEC
This is a new PFOR Scheme designed by D. Lemire called FastPFOR.
For details, please see
Daniel Lemire and Leonid Boytsov, Decoding billions of integers per second through vectorization
http://arxiv.org/abs/1209.2137
For sufficiently compressible arrays, it is faster and better than other PFOR
schemes.
- Author:
- Daniel Lemire
Method Summary |
void |
compress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
Both inpos and outpos are modified to represent how much
data was read and written to
if 12 ints (inlength = 12) are compressed to 3 ints, then
inpos will be incremented by 12 while outpos will be
incremented by 3
we use IntWrapper to pass the values by reference. |
static void |
getBestBFromData(int[] in,
int pos,
byte[] bestbbestcexceptmaxb)
|
void |
initArrays()
|
String |
toString()
|
void |
uncompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
|
FastPFOR
public FastPFOR(int pagesize)
FastPFOR
public FastPFOR()
initArrays
public void initArrays()
compress
public void compress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
- Description copied from interface:
IntegerCODEC
- Both inpos and outpos are modified to represent how much
data was read and written to
if 12 ints (inlength = 12) are compressed to 3 ints, then
inpos will be incremented by 12 while outpos will be
incremented by 3
we use IntWrapper to pass the values by reference.
- Specified by:
compress
in interface IntegerCODEC
getBestBFromData
public static void getBestBFromData(int[] in,
int pos,
byte[] bestbbestcexceptmaxb)
uncompress
public void uncompress(int[] in,
IntWrapper inpos,
int inlength,
int[] out,
IntWrapper outpos)
- Specified by:
uncompress
in interface IntegerCODEC
toString
public String toString()
- Overrides:
toString
in class Object
Copyright © 2013. All Rights Reserved.