me.lemire.integercompression
Class BinaryPacking
java.lang.Object
me.lemire.integercompression.BinaryPacking
- All Implemented Interfaces:
- IntegerCODEC
public final class BinaryPacking
- extends Object
- implements IntegerCODEC
Scheme designed by D. Lemire based on a commonly used idea.
Note that this does not use differential coding: if you are working on
sorted lists, use IntegratedBinaryPacking instead.
- Author:
- Daniel Lemire
BinaryPacking
public BinaryPacking()
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 arrayinpos - location in the input arrayinlength - how many integers to compressout - output arrayoutpos - where to write in the output array
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 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 out
toString
public String toString()
- Overrides:
toString in class Object
Copyright © 2013. All Rights Reserved.