me.lemire.integercompression
Class NewPFD

java.lang.Object
  extended by me.lemire.integercompression.NewPFD
All Implemented Interfaces:
IntegerCODEC

public final class NewPFD
extends Object
implements IntegerCODEC

NewPFD/NewPFOR

Follows:

H. Yan, S. Ding, T. Suel, Inverted index compression and query processing with optimized document ordering, in: WWW �09, 2009, pp. 401�410.

using Simple16 as the secondary coder. Note that this does not use differential coding: if you are working on sorted lists, you must compute the deltas separately. (Yes, this is true even though the "D" at the end of the name probably stands for delta.) For multi-threaded applications, each thread should use its own NewPFD object.

Author:
Daniel Lemire

Field Summary
protected static int[] bits
           
protected static int[] invbits
           
 
Constructor Summary
NewPFD()
          Constructor for the NewPFD CODEC.
 
Method Summary
 void compress(int[] in, IntWrapper inpos, int inlength, int[] out, IntWrapper outpos)
          Compress data from an array to another array.
protected static void getBestBFromData(int[] in, int pos, IntWrapper bestb, IntWrapper bestexcept)
           
 String toString()
           
 void uncompress(int[] in, IntWrapper inpos, int inlength, int[] out, IntWrapper outpos)
          Uncompress data from an array to another array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

bits

protected static final int[] bits

invbits

protected static final int[] invbits
Constructor Detail

NewPFD

public NewPFD()
Constructor for the NewPFD CODEC.

Method Detail

compress

public void compress(int[] in,
                     IntWrapper inpos,
                     int inlength,
                     int[] out,
                     IntWrapper outpos)
Description copied from interface: IntegerCODEC
Compress data from an array to another array. 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
Parameters:
in - input array
inpos - location in the input array
inlength - how many integers to compress
out - output array
outpos - where to write in the output array

getBestBFromData

protected static void getBestBFromData(int[] in,
                                       int pos,
                                       IntWrapper bestb,
                                       IntWrapper bestexcept)

uncompress

public void uncompress(int[] in,
                       IntWrapper inpos,
                       int inlength,
                       int[] out,
                       IntWrapper outpos)
Description copied from interface: IntegerCODEC
Uncompress data from an array to another array. Both inpos and outpos parameters are modified to indicate new positions after read/write.

Specified by:
uncompress in interface IntegerCODEC
Parameters:
in - array containing data in compressed form
inpos - where to start reading in the array
inlength - length of the compressed data (ignored by some schemes)
out - array where to write the compressed output
outpos - where to write the compressed output in out

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2013. All Rights Reserved.