me.lemire.integercompression
Class DeltaZigzagBinaryPacking
java.lang.Object
me.lemire.integercompression.DeltaZigzagBinaryPacking
- All Implemented Interfaces:
- IntegerCODEC
public final class DeltaZigzagBinaryPacking
- extends Object
- implements IntegerCODEC
BinaryPacking with Delta+Zigzag Encoding.
It encodes integers in blocks of 128 integers. For arrays containing
an arbitrary number of integers, you should use it in conjunction
with another CODEC:
IntegerCODEC ic = new Composition(new DeltaZigzagBinaryPacking(),
new DeltaZigzagVariableByte()).
- Author:
- MURAOKA Taro http://github.com/koron
DeltaZigzagBinaryPacking
public DeltaZigzagBinaryPacking()
compress
public void compress(int[] inBuf,
IntWrapper inPos,
int inLen,
int[] outBuf,
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:
inBuf - input arrayinPos - location in the input arrayinLen - how many integers to compressoutBuf - output arrayoutPos - where to write in the output array
uncompress
public void uncompress(int[] inBuf,
IntWrapper inPos,
int inLen,
int[] outBuf,
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:
inBuf - array containing data in compressed forminPos - where to start reading in the arrayinLen - length of the compressed data (ignored by some
schemes)outBuf - 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 © 2014. All Rights Reserved.