Package me.lemire.integercompression
Interface IntegerCODEC
- All Known Implementing Classes:
BinaryPacking
,Composition
,DeltaZigzagBinaryPacking
,DeltaZigzagVariableByte
,FastPFOR
,FastPFOR128
,GroupSimple9
,JustCopy
,Kamikaze
,NewPFD
,NewPFDS16
,NewPFDS9
,OptPFD
,OptPFDS16
,OptPFDS9
,Simple16
,Simple9
,VariableByte
public interface IntegerCODEC
Interface describing a standard CODEC to compress integers.
- Author:
- Daniel Lemire
-
Method Summary
Modifier and TypeMethodDescriptionvoid
compress
(int[] in, IntWrapper inpos, int inlength, int[] out, IntWrapper outpos) Compress data from an array to another array.void
uncompress
(int[] in, IntWrapper inpos, int inlength, int[] out, IntWrapper outpos) Uncompress data from an array to another array.
-
Method Details
-
compress
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.- Parameters:
in
- input arrayinpos
- where to start reading in the arrayinlength
- how many integers to compressout
- output arrayoutpos
- where to write in the output array
-
uncompress
Uncompress data from an array to another array. Both inpos and outpos parameters are modified to indicate new positions after read/write.- 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 start writing the uncompressed output in out
-