Package me.lemire.integercompression
Class S16
java.lang.Object
me.lemire.integercompression.S16
Version of Simple16 for NewPFD and OptPFD.
Adapted by D. Lemire from the Apache Lucene project.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intcompress(int[] in, int currentPos, int inlength, int[] out, int tmpoutpos) Compress an integer array using Simple16static final intcompressblock(int[] out, int outOffset, int[] in, int inOffset, int n) Compress an integer array using Simple16static final intdecompressblock(int[] out, int outOffset, int[] in, int inOffset, int n) Decompress an integer array using Simple16static intestimatecompress(int[] in, int currentPos, int inlength) Estimate size of the compressed output.static voiduncompress(int[] in, int tmpinpos, int inlength, int[] out, int currentPos, int outlength) Uncompressed data from an input array into an output array
-
Constructor Details
-
S16
public S16()
-
-
Method Details
-
compress
public static int compress(int[] in, int currentPos, int inlength, int[] out, int tmpoutpos) Compress an integer array using Simple16- Parameters:
in- array to compresscurrentPos- where to start readinginlength- how many integers to readout- output arraytmpoutpos- location in the output array- Returns:
- the number of 32-bit words written (in compressed form)
-
estimatecompress
public static int estimatecompress(int[] in, int currentPos, int inlength) Estimate size of the compressed output.- Parameters:
in- array to compresscurrentPos- where to start readinginlength- how many integers to read- Returns:
- estimated size of the output (in 32-bit integers)
-
compressblock
public static final int compressblock(int[] out, int outOffset, int[] in, int inOffset, int n) Compress an integer array using Simple16- Parameters:
out- the compressed outputoutOffset- the offset of the output in the number of integersin- the integer input arrayinOffset- the offset of the input in the number of integersn- the number of elements to be compressed- Returns:
- the size of the outputs in 32-bit integers
-
decompressblock
public static final int decompressblock(int[] out, int outOffset, int[] in, int inOffset, int n) Decompress an integer array using Simple16- Parameters:
out- the decompressed outputoutOffset- the offset of the output in the number of integersin- the compressed input arrayinOffset- the offset of the input in the number of integersn- the number of elements to be compressed- Returns:
- the number of processed integers
-
uncompress
public static void uncompress(int[] in, int tmpinpos, int inlength, int[] out, int currentPos, int outlength) Uncompressed data from an input array into an output array- Parameters:
in- input array (in compressed form)tmpinpos- starting location in the compressed input arrayinlength- how much data we wish the read (in 32-bit words)out- output array (in decompressed form)currentPos- current position in the output arrayoutlength- available data in the output array
-